.iris-faq-page, .iris-faq-page *, .iris-faq-page *::before, .iris-faq-page *::after { box-sizing: border-box; }
body.page-faq #content > .ast-container { width: 100%; max-width: none; padding: 0; }
.iris-faq-page { width: 100%; min-width: 0; background: #fbfaf7; color: #111; font-family: var(--ig-font-stack); }
.iris-faq-page :where(h1, h2, p, ol) { margin-top: 0; }
.iris-faq-page a { text-decoration: none; }
.faq-main { width: min(1160px, calc(100% - 40px)); margin: 0 auto; padding-bottom: 48px; }
.faq-hero { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 72px; align-items: end; padding: 64px 0 42px; border-bottom: 1px solid #e7e2db; }
.faq-eyebrow { margin-bottom: 14px; color: #9b6a3f; }
.faq-brand { color: #0abe28; }
.faq-hero h1 { max-width: 760px; margin-bottom: 0; }
.faq-intro { max-width: 690px; margin: 22px 0 0; color: #5e5e5e; }
.faq-hero-panel { padding-left: 28px; border-left: 1px solid #e7e2db; }
.faq-hero-panel h2 { margin-bottom: 18px; color: #9b6a3f; }
.faq-hero-panel ol { margin: 0; padding: 0; list-style: none; counter-reset: faq-start; }
.faq-hero-panel li { display: grid; grid-template-columns: 26px minmax(0, 1fr); gap: 12px; align-items: start; padding: 14px 0; border-top: 1px solid #e7e2db; color: #5e5e5e; counter-increment: faq-start; }
.faq-hero-panel li:first-child { padding-top: 0; border-top: 0; }
.faq-hero-panel li::before { display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: #171717; color: #fff; content: counter(faq-start); font-size: 12px; font-weight: 700; }
.faq-layout { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 64px; padding: 58px 0 0; }
.faq-nav { position: sticky; top: 112px; align-self: start; }
.faq-nav h2 { margin-bottom: 18px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.faq-nav a { display: block; padding: 10px 0; border-bottom: 1px solid #e7e2db; color: #5e5e5e; }
.faq-nav a:hover, .faq-nav a:focus-visible { color: #111; }
.faq-section { min-width: 0; padding-bottom: 54px; scroll-margin-top: 120px; }
.faq-section:last-child { padding-bottom: 48px; }
.faq-section > h2 { margin-bottom: 20px; }
.faq-section .wp-block-details { margin: 0; padding: 0; border: 0; border-top: 1px solid #e7e2db; background: transparent; }
.faq-section .wp-block-details:last-child { border-bottom: 1px solid #e7e2db; }
.faq-section summary { display: grid; grid-template-columns: minmax(0, 1fr) 24px; gap: 24px; align-items: center; min-height: 72px; color: #111; cursor: pointer; list-style: none; font-family: var(--ig-font-stack); font-size: var(--ig-text-lg); font-weight: var(--ig-weight-medium); line-height: var(--ig-line-tight); }
.faq-section summary::-webkit-details-marker { display: none; }
.faq-section summary::after { display: grid; place-items: center; width: 24px; height: 24px; color: #9b6a3f; content: '+'; font-size: 22px; font-weight: 300; }
.faq-section details[open] summary::after { content: '−'; }
.faq-section .wp-block-details :where(p, ul, ol) { max-width: 760px; margin: -4px 0 24px; color: #5e5e5e; font-size: var(--ig-text-base); line-height: var(--ig-line-base); overflow-wrap: anywhere; }
.faq-section summary:focus-visible, .faq-section .wp-block-details :where(a, button):focus-visible, .faq-nav a:focus-visible { outline: 2px solid #21f223; outline-offset: 3px; }
.faq-contact { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 28px; align-items: center; padding: 30px; border-radius: 8px; background: #171717; color: #fff; }
.faq-contact h2 { margin-bottom: 8px; color: #fff; }
.faq-contact p { max-width: 780px; margin-bottom: 0; color: rgb(255 255 255 / 72%); }
.faq-contact .ig-btn { white-space: nowrap; }
.faq-unavailable { padding: 58px 0; }

@media (max-width: 860px) {
    .faq-hero { grid-template-columns: 1fr; gap: 32px; padding: 46px 0 34px; }
    .faq-hero-panel { padding: 24px 0 0; border-top: 1px solid #e7e2db; border-left: 0; }
    .faq-layout { grid-template-columns: 1fr; gap: 34px; }
    .faq-nav { position: static; }
    .faq-nav h2 { margin-bottom: 8px; }
    .faq-nav a { display: inline-block; margin-right: 16px; }
    .faq-contact { grid-template-columns: 1fr; }
}
@media (max-width: 520px) {
    .faq-main { width: min(100% - 28px, 1160px); }
    .faq-section summary { min-height: 66px; gap: 12px; }
    .faq-contact .ig-btn { width: fit-content; max-width: 100%; white-space: normal; }
}
