.faq-page .wrapper {
    overflow: clip;
}

.faq-page {
    background: #fff;
    isolation: isolate;
}

.faq-hero-row {
    display: grid;
    grid-template-columns: minmax(0, 700fr) minmax(0, 520fr);
    gap: 3.75004vw;
    align-items: start;
}

.faq-hero-copy {
    display: flex;
    flex-direction: column;
    gap: 1.50004vw;
}

.faq-eyebrow::before {
    content: '';
    width: 2.49996vw;
    height: 0.12498vw;
    background: #05b256;
    flex-shrink: 0;
}

.faq-hero-copy h1 {
    font-size: max(var(--compact-h1-font, 0vw), 2.875vw);
    line-height: 1.15;
    margin-top: -0.24996vw;
}

.faq-hero-copy > p:last-child {
    max-width: 37.50002vw;
    font-size: max(var(--compact-body-font, 0vw), 1.00002vw);
    line-height: max(var(--compact-body-line, 0vw), 1.62502vw);
}

.faq-hero-copy > p a {
    color: #007d49;
    text-decoration: underline;
    text-underline-offset: 0.15vw;
}

.faq-hero-image {
    width: 100%;
    height: 19.99999vw;
    border-radius: 1.50004vw;
    object-fit: cover;
}

.faq-search {
    display: flex;
    align-items: center;
    gap: 1.00002vw;
    width: 42.87498vw;
    height: 4.24995vw;
    padding: 0 0.62499vw 0 1.50004vw;
    border: 0.0625vw solid #dbe4de;
    border-radius: 1.00002vw;
    background: #fff;
    box-shadow: 0 0.74997vw 0.74997vw #0c171205;
}

.faq-search > img {
    width: 1.24998vw;
    height: 1.24998vw;
    flex-shrink: 0;
}

.faq-search input {
    min-width: 0;
    flex: 1;
    border: 0;
    background: transparent;
    color: #0c1712;
    font-family: I-R;
    font-size: max(var(--compact-body-font, 0vw), 0.93749vw);
    height: 100%;
}

.faq-search input::placeholder {
    color: #607068;
    opacity: 1;
}

.faq-search button {
    display: grid;
    place-items: center;
    width: 2.99997vw;
    height: 2.99997vw;
    flex-shrink: 0;
    background: #007d49;
    border-radius: 0.74997vw;
}

.faq-search button img {
    width: 1.125vw;
    height: 1.125vw;
}

.faq-popular > span {
    color: #607068;
    font-size: max(var(--compact-small-font, 0vw), 0.74997vw);
}

.faq-popular a {
    white-space: nowrap;
}

.faq-popular a:not(:last-child)::after {
    content: '•';
    color: #607068;
    margin-left: 0.50001vw;
    font-size: max(var(--compact-small-font, 0vw), 0.68753vw);
}

.faq-search-status {
    font-size: max(var(--compact-body-font, 0vw), 0.87505vw);
    margin-top: 1.00002vw;
}

.faq-search-status:empty {
    display: none;
}

.faq-layout {
    display: grid;
    grid-template-columns: 22.49995vw minmax(0, 1fr);
    gap: 5.00002vw;
    align-items: start;
    margin-top: 13.81253vw;
}

.faq-topics {
    position: sticky;
    top: 8.75547vw;
}

.faq-topics h2 {
    font-family: M-B;
    font-size: max(var(--compact-h2-font, 0vw), 1.74999vw);
    margin-bottom: 1.50004vw;
}

.faq-topics nav {
    display: flex;
    flex-direction: column;
    gap: 0.12498vw;
}

.faq-topics a {
    display: flex;
    align-items: center;
    gap: 0.74997vw;
    min-height: 3.25003vw;
    padding: 0.50001vw 1.00002vw 0.50001vw 0.50001vw;
    border-bottom: 0.0625vw solid #dbe4de;
    border-left: 0.24996vw solid transparent;
    border-radius: 0.62499vw;
    font-family: M-R;
    color: #607068;
    font-size: max(var(--compact-body-font, 0vw), 0.87505vw);
}

.faq-topics a span:first-child {
    font-family: I-SB;
    font-size: max(var(--compact-small-font, 0vw), 0.74997vw);
}

.faq-topics a img {
    width: 0.87505vw;
    height: 0.87505vw;
    flex-shrink: 0;
}

.faq-topics a[aria-current] {
    background: #edf7f1;
    border-left-color: #05b256;
    font-family: M-B;
    color: #0c1712;
    padding-left: 1.00002vw;
}

.faq-topics a[aria-current] span:first-child {
    color: #007d49;
}

.faq-category:last-of-type {
    margin-bottom: 0;
}

.faq-number {
    width: 1.50004vw;
    flex-shrink: 0;
    font-family: I-SB;
    font-size: max(var(--compact-small-font, 0vw), 0.74997vw);
    color: #007d49;
}

.faq-question {
    flex: 1;
    min-width: 0;
    font-family: M-B;
    font-size: max(var(--compact-body-font, 0vw), 1.125vw);
    line-height: 1.4;
}

.faq-toggle img {
    width: 1.00002vw;
    height: 1.00002vw;
}

.faq-answer {
    display: grid;
    grid-template-rows: 0fr;
    visibility: hidden;
    transition: grid-template-rows .3s ease, visibility .3s;
}

.faq-answer > div {
    overflow: hidden;
    min-height: 0;
}

.faq-entry.open .faq-answer {
    grid-template-rows: 1fr;
    visibility: visible;
}

.faq-empty {
    font-size: max(var(--compact-body-font, 0vw), 1.00002vw);
    line-height: 1.6;
}

.faq-main [hidden] {
    display: none;
}

.faq-page header:not(.scrolled) {
    height: 6.375vw;
}

.faq-page::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 19.31246vw;
    background: url('../assets/optimized/faq-background.webp') center bottom / 103.68746vw 54.31252vw no-repeat;
    opacity: .5;
    pointer-events: none;
    z-index: -1;
    background-position: -3.125vw bottom;
    background-size: 103.6875vw 54.3125vw;
    mask-image: none;
}

.faq-page::after {
    content: '';
    position: absolute;
    top: 5.5vw;
    left: 0;
    width: 100%;
    height: 19.625vw;
    background: url('../assets/faq/fade.png') center / 100% 100% no-repeat;
    transform: scaleY(-1);
    pointer-events: none;
    z-index: -1;
}

.faq-main {
    width: 79.99997vw;
    margin: auto;
    padding: 14.81245vw 0 7.49998vw;
    position: relative;
    isolation: isolate;
    padding-bottom: 8.25vw;
}

.faq-main::before {
    content: '';
    position: absolute;
    top: 49.8125vw;
    left: -10vw;
    width: 100vw;
    height: 19.625vw;
    background: url('../assets/faq/fade.png') center / 100% 100% no-repeat;
    transform: scaleY(-1);
    pointer-events: none;
    z-index: -1;
}

.faq-eyebrow {
    display: flex;
    align-items: center;
    gap: 0.74997vw;
    font-family: I-M;
    font-size: max(var(--compact-small-font, 0vw), 0.74997vw);
    line-height: max(var(--compact-body-line, 0vw), .9375vw);
}

.faq-popular {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.50001vw;
    margin-top: 1.00002vw;
    font-family: I-M;
    font-size: max(var(--compact-small-font, 0vw), 0.81251vw);
    color: #007d49;
    line-height: max(var(--compact-body-line, 0vw), 1vw);
    height: 1vw;
}

.faq-category {
    scroll-margin-top: 2.00005vw;
    margin-bottom: 5.625vw;
}

.faq-category h2 {
    font-size: max(var(--compact-h2-font, 0vw), 2.25001vw);
    margin-bottom: 1.74999vw;
    line-height: max(var(--compact-h2-line, 0vw), 2.5625vw);
}

.faq-entry {
    border-bottom: 0;
    box-shadow: 0 0.0625vw #dbe4de;
}

.faq-entry h3 button {
    display: flex;
    align-items: center;
    width: 100%;
    gap: 1.50004vw;
    padding: 1.74999vw 0;
    text-align: left;
    color: #0c1712;
    transition: color .2s ease, padding-bottom .3s ease;
}

.faq-entry.open h3 button {
    padding-bottom: 1vw;
}

.faq-answer p {
    padding: 0 3vw 1.75vw;
    font-size: max(var(--compact-body-font, 0vw), 1vw);
    line-height: max(var(--compact-body-line, 0vw), 1.625vw);
}

.faq-toggle {
    display: grid;
    place-items: center;
    flex-shrink: 0;
    width: 2.37498vw;
    height: 2.37498vw;
    border-radius: 50%;
    background: #e2ede6;
    transition: background-color .2s ease;
}

.faq-topics a:not([aria-current]) {
    border-left: 0;
}

.faq-topics a span:nth-child(2) {
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

@media (min-width: 1025px), (hover: hover) {
    .faq-entry button:hover {
        color: #007d49;
    }

    .faq-popular a:hover {
        text-decoration: underline;
    }

    .faq-topics a:hover {
        background: #edf7f1;
    }

    .faq-entry button:hover .faq-toggle {
        background: #cce9d7;
    }

    .faq-search button:hover {
        background: #007d49;
    }
}

/* Keep shared header/footer hover styling inactive on touch-only FAQ views. */

/* Compact desktop: readable type and spacing from 961px through 1200px. */

@media (max-width: 1200px) {
.faq-hero-image {
    height: 100%;
}

.faq-search > img {
    width: 18px;
    height: 18px;
}

.faq-search button img {
    width: 16px;
    height: 16px;
}

.faq-layout {
    grid-template-columns: 260px minmax(0, 1fr);
    gap: 32px;
}

.faq-topics a img {
    width: 16px;
    height: 16px;
}

.faq-toggle {
    width: 32px;
    height: 32px;
}

.faq-toggle img {
    width: 18px;
    height: 18px;
}

.faq-topics {
    top: max(8.75547vw, 104px);
}

.faq-topics a {
    padding: 12px;
    gap: 10px;
}

.faq-topics a span:nth-child(2) {
    min-width: 0;
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
    overflow-wrap: anywhere;
}

.faq-entry h3 button {
    padding: 22px 0;
    gap: 16px;
}

.faq-popular {
    height: auto;
    line-height: 1.6;
    gap: 8px;
}

.faq-search {
    min-height: 56px;
    gap: 12px;
    padding-right: 8px;
}

.faq-search button {
    width: 40px;
    height: 40px;
}
}

@media (max-width: 960px) {
.faq-search button img {
    width: 3.72093vw;
    height: 3.72093vw;
}

.faq-topics a img {
    width: 3.72093vw;
    height: 3.72093vw;
}

.faq-topics a span:nth-child(2) {
    min-width: 0;
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
    overflow-wrap: anywhere;
}

.faq-hero-copy > p a {
    text-underline-offset: 0.55814vw;
}

.faq-entry {
    border-bottom: 0.23256vw solid #dbe4de;
    box-shadow: 0 0.23256vw #dbe4de;
}

.faq-page header:not(.scrolled) {
    height: 20.4651vw;
}

.faq-page::before {
    height: 71.86047vw;
    background-size: auto 202.09302vw;
    background-position: center bottom;
}

.faq-page::after {
    top: 20.46512vw;
    height: 73.02326vw;
}

.faq-main::before {
    left: -5.5814vw;
    width: calc(100% + 11.16279vw);
    top: 185.34884vw;
    height: 73.02326vw;
}

.faq-entry.open h3 button {
    padding-bottom: 3.72093vw;
}

.faq-main {
    width: auto;
    margin: 0 5.5814vw;
    padding: 34.4186vw 0 14.88372vw;
}

.faq-hero-row {
    grid-template-columns: 1fr;
    gap: 7.44186vw;
}

.faq-hero-copy {
    gap: 4.65116vw;
}

.faq-eyebrow {
    line-height: 3.48837vw;
    font-size: 2.55814vw;
    gap: 2.7907vw;
}

.faq-eyebrow::before {
    width: 7.44186vw;
    height: 0.46512vw;
}

.faq-hero-copy h1 {
    font-size: 6.97674vw;
    margin: 0;
}

.faq-hero-copy > p:last-child {
    max-width: none;
    font-size: 3.48837vw;
    line-height: 5.5814vw;
}

.faq-hero-image {
    height: auto;
    aspect-ratio: 13 / 8;
    max-height: 83.72093vw;
    border-radius: 4.65116vw;
}

.faq-search {
    min-height: 13.02326vw;
    padding-right: 1.86047vw;
    border: 0.23256vw solid #dbe4de;
    margin-top: 6.51163vw;
    width: 100%;
    height: 14.88372vw;
    gap: 2.32558vw;
    padding: 0 1.86047vw 0 3.25581vw;
    border-radius: 3.72093vw;
}

.faq-search > img {
    width: 4.65116vw;
    height: 4.65116vw;
}

.faq-search input {
    font-size: 3.72093vw;
}

.faq-search button {
    width: 10.23256vw;
    height: 10.23256vw;
    border-radius: 2.7907vw;
}

.faq-popular {
    height: auto;
    font-size: 3.02326vw;
    gap: 1.86047vw 2.7907vw;
    margin-top: 3.72093vw;
    line-height: 6.51163vw;
}

.faq-popular > span {
    font-size: 2.7907vw;
}

.faq-popular a:not(:last-child)::after {
    font-size: 2.55814vw;
    margin-left: 2.7907vw;
}

.faq-search-status {
    font-size: 3.25581vw;
    margin-top: 3.72093vw;
}

.faq-layout {
    grid-template-columns: minmax(0, 1fr);
    gap: 9.30233vw;
    margin-top: 11.16279vw;
}

.faq-topics {
    top: max(8.75547vw, 24.18605vw);
    position: static;
}

.faq-topics h2 {
    font-size: 6.04651vw;
    margin-bottom: 3.72093vw;
}

.faq-topics nav {
    gap: 0.46512vw;
}

.faq-topics a {
    border-bottom: 0.23256vw solid #dbe4de;
    min-height: 11.16279vw;
    padding: 2.32558vw 3.72093vw;
    gap: 2.7907vw;
    font-size: 3.25581vw;
    border-left-width: 0.93023vw;
    border-radius: 2.32558vw;
}

.faq-topics a[aria-current] {
    padding-left: 3.72093vw;
}

.faq-topics a span:first-child {
    font-size: 2.7907vw;
}

.faq-category {
    scroll-margin-top: 5.5814vw;
    margin-bottom: 11.16279vw;
}

.faq-category h2 {
    line-height: 1.15;
    font-size: 6.51163vw;
    margin-bottom: 3.72093vw;
}

.faq-entry h3 button {
    gap: 2.7907vw;
    padding: 5.11628vw 0;
}

.faq-number {
    width: 4.65116vw;
    font-size: 2.7907vw;
}

.faq-question {
    font-size: 3.72093vw;
}

.faq-toggle {
    width: 8.83721vw;
    height: 8.83721vw;
}

.faq-toggle img {
    width: 3.72093vw;
    height: 3.72093vw;
}

.faq-answer p {
    padding: 0 0 5.5814vw 7.44186vw;
    font-size: 3.25581vw;
    line-height: 5.34884vw;
}

.faq-empty {
    font-size: 3.48837vw;
}

.faq-page header nav a:not(.active)::after {
    transform: scaleX(0);
}

.faq-page .btn {
    transform: none;
    box-shadow: none;
    background: #007d49;
}

.faq-page .btn.dark {
    background: #0c1712;
}

.faq-page .footer-grid a {
    color: #fff;
}
}
