/* Reuses the site's established FAQ presentation for ACF-powered page FAQs. */
.faqs_section { width: 100%; position: relative; }
.faqs_section::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: min(max(200px, 25.3125vw), 486px);
    background: var(--shadow-new-light-gray);
    z-index: -1;
}
.faqs_section .faqs_inner {
    margin-top: min(max(25px, 2.60417vw), 50px);
    padding: 0 min(max(70px, 7.8125vw), 150px);
}
.faqs_acc_content {
    display: none;
    padding: min(max(10px, 0.52083vw), 10px) 0;
    padding-top: 0;
    transition: max-height 0.4s ease;
}
.faqs_acc_title {
    cursor: pointer;
    padding: min(max(15px, 0.78125vw), 15px) 0;
    color: var(--theme-black);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    transition: color .2s ease;
    color: #000;
}

.faqs_acc_toggle {
    width: 24px;
    height: 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 24px;
    color: #000;
}

.faqs_acc_toggle::before {
    content: "";
    width: 14px;
    height: 14px;
    border-right: 3px solid currentColor;
    border-bottom: 3px solid currentColor;
    transform: rotate(45deg) translate(-2px, -2px);
    transition: transform .2s ease;
}

.faqs_acc_item.active .faqs_acc_toggle::before {
    transform: rotate(225deg) translate(-2px, -2px);
}
.faqs_acc_toggle:hover,
.faqs_acc_item.active .faqs_acc_toggle { color: #cd5827; }
.faqs_acc_title:hover,
.faqs_acc_title:focus,
.faqs_acc_item.active .faqs_acc_title { color: #85181a; }

/* Only words explicitly wrapped in a span receive the accent colour. */
.faqs_section .common_title_main .slogan_title,
.faqs_section .common_title_main .main_title { color: #000;font-size: 32px;
    font-weight: bold; }
.faqs_section .common_title_main .slogan_title span,
.faqs_section .common_title_main .main_title span { color: var(--theme-red); }
.faqs_acc_item.active .faqs_acc_content { display: block; }
.faqs_acc_item.active .faqs_acc_content > * {
    color: var(--theme-black);
    font-weight: 400;
    line-height: 1.5;
    max-width: 90%;
}

/* Match the standard case-study and page body copy in every FAQ answer. */
.faqs_acc_content,
.faqs_acc_content p,
.faqs_acc_content li,
#comm-faq .faq-body,
#comm-faq .faq-body p,
#comm-faq .faq-body li {
    font-family: var(--theme-Inter-font-family, "Inter", Arial, sans-serif) !important;
    font-size: min(max(14px, 1.04167vw), 20px) !important;
    font-weight: 400;
    line-height: 1.6 !important;
}
.faqs_acc_item .faqs_acc_content ol,
.faqs_acc_item .faqs_acc_content ul {
    padding-left: 30px;
    margin: 0;
    padding-top: 10px;
}
.faqs_acc_item .faqs_acc_content ol li,
.faqs_acc_item .faqs_acc_content ul li { padding-bottom: 5px; }
.faqs_acc_item {
    position: relative;
    padding: min(max(15px, 1.042vw), 20px) 0;
}
.faqs_acc_item::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 1px;
    background: rgba(0, 0, 0, 0.10);
}
.faqs_acc_item:first-child { padding-top: 0; }

/* Legacy FAQ templates use an image that renders as plus/minus. Replace it
   with the same filled down/up arrows used by the shared FAQ component. */
#comm-faq .faq-item .faq-indicator {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transform: none !important;
    filter: none !important;
}
#comm-faq .faq-item .faq-indicator img { display: none; }
#comm-faq .faq-item .faq-indicator::before {
    content: "";
    width: 14px;
    height: 14px;
    border-right: 3px solid currentColor;
    border-bottom: 3px solid currentColor;
    color: #000;
    transform: rotate(45deg) translate(-2px, -2px);
    transition: color .2s ease, transform .2s ease;
}
#comm-faq .faq-item .faq-indicator:hover::before,
#comm-faq .faq-item.active .faq-indicator::before {
    color: #cd5827;
}
#comm-faq .faq-item.active .faq-indicator::before {
    transform: rotate(225deg) translate(-2px, -2px);
}
#comm-faq .faq-item .faq-head { color: #000; }
#comm-faq .faq-item .faq-head:hover,
#comm-faq .faq-item .faq-head:focus,
#comm-faq .faq-item.active .faq-head { color: #85181a; }
#comm-faq .section-header h2,
#comm-faq .section-header p { color: #000; }
#comm-faq .section-header h2 span,
#comm-faq .section-header p span { color: #85181a; }
@media only screen and (max-width: 1199px) {
    .faqs_section .faqs_inner { padding: 0 min(max(70px, 6.8125vw), 150px); }
    .faqs_acc_item.active .faqs_acc_content > * { max-width: 100%; }
}
@media only screen and (max-width: 991px) {
    .faqs_section .faqs_inner {
        margin-top: min(max(25px, 1.60417vw), 50px);
        padding: 0;
    }
}
@media only screen and (max-width: 767px) {
    .faqs_section .faqs_inner { margin-top: 15px; padding: 0; }
}