.legal-page__eyebrow {
    display: inline-flex;
    align-items: center;
    min-height: var(--wp--preset--spacing--11);
    width: fit-content;
    padding: var(--wp--preset--spacing--1-5) var(--wp--preset--spacing--3-5);
    border: 1px solid var(--wp--preset--color--pearl);
    border-radius: 999px;
    background: var(--wp--preset--color--white);
    font-size: var(--wp--preset--font-size--xs);
    font-weight: 600;
    letter-spacing: 0.08em;
    line-height: 1;
    text-transform: uppercase;
}

.legal-page__title {
    margin: 0;
    font-size: clamp(2.375rem, 2.05rem + 1.45vw, 3rem);
    font-weight: 400;
    line-height: 1.05;
    letter-spacing: -0.015em;
    text-wrap: balance;
}

.legal-page__lede {
    max-width: 62ch;
    margin: 0;
    text-wrap: pretty;
}

.legal-page__nav,
.legal-page__contact-card {
    display: grid;
    gap: var(--wp--preset--spacing--4);
}

.legal-page__nav-label {
    margin: 0;
    font-weight: 600;
    letter-spacing: 0.06em;
    line-height: 1.2;
    text-transform: uppercase;
}

.legal-page__toc {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
    gap: var(--wp--preset--spacing--3);
    margin: 0;
    padding: 0;
    list-style: none;
}

.legal-page__toc li {
    margin: 0;
    padding: 0;
}

.legal-page__toc a {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    min-height: var(--wp--preset--spacing--11);
    width: 100%;
    padding: var(--wp--preset--spacing--2) var(--wp--preset--spacing--4);
    border: 1px solid var(--wp--preset--color--pearl);
    border-radius: 999px;
    background: var(--wp--preset--color--white);
    color: var(--wp--preset--color--primary);
    font-size: var(--wp--preset--font-size--sm);
    font-weight: 500;
    line-height: 1.3;
    text-decoration: none;
    text-wrap: balance;
    transition:
        background-color 180ms cubic-bezier(0.16, 1, 0.3, 1),
        border-color 180ms cubic-bezier(0.16, 1, 0.3, 1),
        color 180ms cubic-bezier(0.16, 1, 0.3, 1),
        transform 180ms cubic-bezier(0.16, 1, 0.3, 1);
}

.legal-page__toc a:hover,
.legal-page__toc a:focus-visible {
    border-color: var(--wp--preset--color--primary);
    background: var(--wp--preset--color--primary);
    color: var(--wp--preset--color--white);
    transform: translateY(-1px);
}

.legal-page__toc a:focus-visible,
.legal-page__section a:focus-visible,
.legal-page__contact-card a:focus-visible,
.legal-page__contact-card .wp-block-button__link:focus-visible {
    outline: 2px solid var(--wp--preset--color--secondary);
    outline-offset: 3px;
}

.legal-page__section {
    display: grid;
    gap: var(--wp--preset--spacing--4);
    padding-block: var(--wp--preset--spacing--5);
    border-bottom: 1px solid var(--wp--preset--color--pearl);
}

.legal-page__section-title {
    margin: 0;
    scroll-margin-top: var(--wp--preset--spacing--24);
    font-size: clamp(1.625rem, 1.45rem + 0.75vw, 2rem);
    font-weight: 400;
    line-height: 1.15;
    letter-spacing: -0.01em;
    text-wrap: balance;
}

.legal-page__section :where(p, ul, ol) {
    margin: 0;
    text-wrap: pretty;
}

.legal-page__section :where(ul, ol) {
    padding-inline-start: 1.35rem;
}

.legal-page__section li + li {
    margin-top: var(--wp--preset--spacing--2);
}

.legal-page__section li::marker {
    color: var(--wp--preset--color--secondary);
}

.legal-page__section strong,
.legal-page__contact-meta strong {
    color: var(--wp--preset--color--primary);
    font-weight: 600;
}

.legal-page__section a,
.legal-page__contact-card a:not(.wp-block-button__link) {
    color: var(--wp--preset--color--primary);
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 0.16em;
    overflow-wrap: anywhere;
    transition:
        color 180ms cubic-bezier(0.16, 1, 0.3, 1),
        text-decoration-color 180ms cubic-bezier(0.16, 1, 0.3, 1);
}

.legal-page__section a:hover,
.legal-page__contact-card a:not(.wp-block-button__link):hover {
    color: var(--wp--preset--color--secondary);
}

.legal-page__contact-meta {
    display: grid;
    gap: var(--wp--preset--spacing--3);
}

.legal-page__contact-card :where(p, .wp-block-buttons) {
    margin: 0;
}

.legal-page__contact-card .wp-block-button__link {
    min-height: var(--wp--preset--spacing--11);
    transition:
        background-color 180ms cubic-bezier(0.16, 1, 0.3, 1),
        border-color 180ms cubic-bezier(0.16, 1, 0.3, 1),
        color 180ms cubic-bezier(0.16, 1, 0.3, 1),
        box-shadow 180ms cubic-bezier(0.16, 1, 0.3, 1),
        transform 180ms cubic-bezier(0.16, 1, 0.3, 1);
}

.legal-page__contact-card .wp-block-button__link:hover {
    transform: translateY(-1px);
}

.faq-page__main {
    width: 100%;
    max-width: 100%;
    min-width: 0;
}

.faq-page__main > .legal-page__section,
.faq-page__items {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

.faq-page__items {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
}

.faq-page__item {
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
    margin: 0;
    border-bottom: 1px solid var(--wp--preset--color--pearl);
}

.faq-page__item:last-child {
    border-bottom: 0;
}

.faq-page__item summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
    gap: var(--wp--preset--spacing--4);
    min-height: var(--wp--preset--spacing--12);
    padding-block: var(--wp--preset--spacing--3);
    color: var(--wp--preset--color--primary);
    font-size: var(--wp--preset--font-size--lg);
    font-weight: 600;
    line-height: 1.35;
    cursor: pointer;
    list-style: none;
    text-wrap: pretty;
    transition: color 180ms cubic-bezier(0.16, 1, 0.3, 1);
}

.faq-page__item summary::-webkit-details-marker {
    display: none;
}

.faq-page__item summary::marker {
    content: '';
}

.faq-page__item summary::after {
    content: '+';
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 2rem;
    height: 2rem;
    border: 1px solid color-mix(in oklab, var(--wp--preset--color--secondary) 18%, var(--wp--preset--color--pearl));
    border-radius: 999px;
    background: var(--wp--preset--color--white);
    color: var(--wp--preset--color--secondary);
    font-family: var(--wp--preset--font-family--inter);
    font-size: 1.35rem;
    font-weight: 500;
    line-height: 1;
    transition:
        background-color 180ms cubic-bezier(0.16, 1, 0.3, 1),
        border-color 180ms cubic-bezier(0.16, 1, 0.3, 1),
        color 180ms cubic-bezier(0.16, 1, 0.3, 1),
        transform 180ms cubic-bezier(0.16, 1, 0.3, 1);
}

.faq-page__item summary:hover,
.faq-page__item summary:focus-visible {
    color: var(--wp--preset--color--secondary);
}

.faq-page__item summary:hover::after,
.faq-page__item summary:focus-visible::after {
    border-color: color-mix(in oklab, var(--wp--preset--color--secondary) 40%, var(--wp--preset--color--pearl));
    color: var(--wp--preset--color--primary);
}

.faq-page__item[open] summary::after {
    content: '\2212';
    border-color: color-mix(in oklab, var(--wp--preset--color--secondary) 32%, var(--wp--preset--color--pearl));
    background: color-mix(in oklab, var(--wp--preset--color--secondary) 10%, var(--wp--preset--color--white));
    transform: rotate(180deg);
}

.faq-page__item summary:focus-visible {
    outline: 2px solid var(--wp--preset--color--secondary);
    outline-offset: 3px;
    border-radius: 0.5rem;
}

.faq-page__item > :where(p, div, ul, ol) {
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
    padding: 0 0 var(--wp--preset--spacing--4);
}

.faq-page__answer {
    width: 100%;
    max-width: 62ch;
    overflow-wrap: anywhere;
    text-wrap: pretty;
}

@media (max-width: 640px) {
    .legal-page__toc {
        grid-template-columns: 1fr;
    }

    .faq-page__item summary {
        font-size: var(--wp--preset--font-size--base);
    }
}

@media (prefers-reduced-motion: reduce) {
    .legal-page__toc a,
    .legal-page__section a,
    .legal-page__contact-card a,
    .legal-page__contact-card .wp-block-button__link,
    .faq-page__item summary,
    .faq-page__item summary::after {
        transition: none;
    }

    .legal-page__toc a:hover,
    .legal-page__toc a:focus-visible,
    .legal-page__contact-card .wp-block-button__link:hover,
    .faq-page__item[open] summary::after {
        transform: none;
    }
}
