/* === faq-section.css === */

.faq-section { padding-block: 2.5rem 1.5rem; }
.faq-section__header { width: min(100%, 22.375rem); margin-bottom: 1rem; gap: 0.875rem; }
.faq-section__header .faq-section__rule,
.faq-section__header .section-heading__rule { width: 6.0625rem; height: 2px; min-height: 2px; background-color: #000; }
.faq-section__title { max-width: 17.75rem; font-size: 1.5625rem; line-height: 1.28; }
.faq-section__title-line { display: block; }
.faq-section__intro { max-width: 22.375rem; margin: 0; font-family: var(--font-body); font-size: 1rem; font-weight: 500; line-height: 1.625; letter-spacing: -0.03em; color: var(--color-black); }
.faq-section__list { margin: 2rem 0 0; max-width: 22.375rem; }
.faq-section__item { margin: 0 !important; position: relative; border-bottom: 0; }
.faq-section__item:last-child { border-bottom: 0; }
.faq-section__item::after { content: ""; display: block; width: 100%; height: 1px; background-color: #000; }
.faq-section__item:last-child::after { display: none; }
.faq-section__question { width: 100%; margin: 0; padding: 0 0 1.5rem; border: 0 !important; border-bottom: 0 !important; appearance: none; background: transparent; display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; text-align: left; cursor: pointer; outline: none; box-shadow: none; }
.faq-section .faqs .faq .q { border-bottom: 0 !important; }
.faq-section__question-text { flex: 1 1 auto; max-width: 18.875rem; font-family: var(--font-body); font-size: 1.25rem; font-weight: 400; line-height: 1.4; letter-spacing: -0.03em; color: var(--color-black); }
.faq-section__icon { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; width: 1.1875rem; height: 0.625rem; margin-top: 0.125rem; color: var(--color-black); transition: transform var(--transition-base); }
.faq-section__icon svg { display: block; width: 100%; height: 100%; }
.faq-section__question:focus { outline: none; }
.faq-section__question:focus-visible { outline: 2px solid rgba(0, 0, 0, 0.4); outline-offset: 0.5rem; }
.faq-section__item.open .faq-section__icon { transform: rotate(180deg); }
.faq-section__answer { display: none; padding: 0 0 1.5rem; }
.faq-section__answer p { max-width: 58rem; margin: 0; font-family: var(--font-body); font-size: 1rem; font-weight: 400; line-height: 1.625; letter-spacing: -0.03em; color: var(--color-black); }
/*.faq-section__item + .faq-section__item { padding-top: 1.5rem; }*/
.faq-section__cta { margin-top: 0.5rem; }
.faq-section__button { display: inline-flex; align-items: center; justify-content: center; min-width: 9.25rem; height: 3rem; min-height: 3rem; padding: 0; border: 1px solid rgba(0, 0, 0, 0.22); border-radius: 0.375rem; background-color: var(--color-black); font-family: "sarvatrik-latin-variable", var(--font-nav); font-size: 1rem; font-weight: 400; line-height: 1.0372; letter-spacing: 0; text-transform: none; color: var(--color-white); text-decoration: none; -webkit-font-smoothing: antialiased; text-rendering: geometricPrecision; transition: background-color var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast); }
.faq-section__button:hover,
.faq-section__button:focus-visible { background-color: transparent; color: var(--color-black); border-color: var(--color-black); }

@media (max-width: 767px) {
    .faq-section { padding-block: 2.5rem; border-bottom: 1px solid var(--color-black); }
    .faq-section__title { max-width: 100%; }
    .faq-section__title-line br { display: none; }
    .faq-section__header { margin-bottom: 0.75rem; width: unset; }
    .faq-section__intro { max-width: 100%; }
    .faq-section__list { max-width: 100%; }
    .faq-section__question-text { font-size: 1.125rem; max-width: 100%; }
}

@media (min-width: 768px) {
    .faq-section { padding-block: 3.5rem 4.5rem; }
    .faq-section__header { width: min(100%, 50.8125rem); }
    .faq-section__rule { width: 13.8125rem; }
    .faq-section__title { max-width: none; font-size: 2.25rem; line-height: 1.1136; }
    .faq-section__title-line { display: block; }
    .faq-section__intro { max-width: 54rem; font-size: 1.125rem; line-height: 1.4444; }
    .faq-section__list { max-width: 100%; }
    .faq-section__question { gap: 1.5rem; }
    .faq-section__question-text { max-width: none; font-size: 1.375rem; line-height: 1.6; }
    .faq-section__answer p { font-size: 1.0625rem; line-height: 1.5556; }
    .faq-section__cta { margin-top: 2.5rem; }
    .faq-section__button { min-width: 11.3125rem; min-height: 3.75rem; padding: 1.34375rem 2rem 1.28125rem; font-size: 1.125rem; line-height: 0.922; }
}

@media (max-width: 991px) {
    .faq-section__question { padding: 1.5rem 0; }
}

@media (min-width: 992px) {
    .faq-section { padding-block: 6rem 5.125rem; }
    .faq-section__title { font-size: 2.75rem; }
    .faq-section__intro { margin: 0 0 5rem; font-size: 1.375rem; line-height: 1.2727; }
    .faq-section__list { max-width: 93.0625rem; }
    .faq-section__question { padding-bottom: 1.75rem; }
    .faq-section__question-text { font-size: 1.5rem; line-height: 1.8333; }
    .faq-section__answer { padding-bottom: 1.75rem; }
    .faq-section__answer p { font-size: 1.125rem; }
    .faq-section__cta { margin-top: 3.9375rem; }
    .faq-section .faqs .faq .q { padding: 2.375rem 0; }
}
