/* ─── Aspen FAQ ───
 * Accordion rows are primary bars (white text, a plus); the open row turns the deeper primary and opens onto a white
 * answer panel with a hairline frame. 'form' layout: accordion beside the request form card (homepage).
 * 'center' layout: centered heading over a narrower accordion (inner pages).
 */
.ocf-faq { background: var(--ocf-bg); }

.ocf-faq--form .ocf-faq-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 480px);
    gap: var(--aspen-gap-lg);
    align-items: start;
}

.ocf-faq--form .ocf-faq-header { margin-bottom: 40px; }
.ocf-faq--form .ocf-faq-header .ocf-section-intro { max-width: 640px; }
.ocf-faq--center .ocf-faq-list { max-width: 880px; margin-inline: auto; }
.ocf-faq-call a { color: var(--ocf-heading); font-weight: var(--font-weight-semibold); white-space: nowrap; }
.ocf-faq-call a:hover { color: var(--ocf-link); }

.ocf-faq-list { display: flex; flex-direction: column; gap: 4px; text-align: left; }

.ocf-faq-disclosure summary {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 20px 26px;
    border-radius: var(--radius-sm);
    background: var(--ocf-primary);
    color: var(--ocf-primary-contrast);
    font-size: 18px;
    font-weight: var(--font-weight-semibold);
    line-height: 1.35;
    list-style: none;
    cursor: pointer;
    transition: background var(--duration) var(--ease);
}

.ocf-faq-disclosure summary::-webkit-details-marker { display: none; }
.ocf-faq-disclosure summary:hover { background: var(--ocf-primary-hover); }
.ocf-faq-disclosure summary > span[data-ocf-field] { color: inherit; }

.ocf-faq-icon {
    flex: none;
    width: 20px;
    height: 20px;
    background: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 4v16M4 12h16' fill='none' stroke='%23000' stroke-width='2.6'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 4v16M4 12h16' fill='none' stroke='%23000' stroke-width='2.6'/%3E%3C/svg%3E") center / contain no-repeat;
}

.ocf-faq-disclosure[open] summary {
    border-radius: var(--radius-sm) var(--radius-sm) 0 0;
    background: var(--ocf-primary-hover);
}

.ocf-faq-disclosure[open] .ocf-faq-icon {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 12h16' fill='none' stroke='%23000' stroke-width='2.6'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 12h16' fill='none' stroke='%23000' stroke-width='2.6'/%3E%3C/svg%3E");
}

.ocf-faq-disclosure > div {
    padding: 22px 26px 26px 62px;
    border: var(--card-border-width) solid var(--ocf-border-light);
    border-top: 0;
    border-radius: 0 0 var(--radius-sm) var(--radius-sm);
    background: var(--ocf-bg);
    color: var(--ocf-body);
    font-size: calc(var(--font-body-size) * 0.944);
}

.ocf-faq-disclosure > div > * + * { margin-top: 12px; }

@media (max-width: 1023px) {
    .ocf-faq--form .ocf-faq-layout { grid-template-columns: 1fr; gap: 56px; }
}

@media (max-width: 640px) {
    .ocf-faq--form .ocf-faq-layout { gap: 44px; }
    .ocf-faq-disclosure summary { gap: 12px; padding: 18px; font-size: 16px; }
    .ocf-faq-disclosure > div { padding: 18px 18px 22px; font-size: 16px; }
}
