.page-privacy-policy .site-main {
    padding-top: 0;
}

.privacy-page {
    --privacy-copy-w: min(947px, calc(100vw - 2 * var(--page-align-x)));
    max-width: 100%;
}

.privacy-hero {
    box-sizing: border-box;
    background: var(--color-white);
    padding: 120px var(--page-align-x) 40px;
}

.privacy-hero__title {
    margin: 24px 0 0;
    max-width: var(--privacy-copy-w);
    font-family: var(--font-sans);
    font-size: 48px;
    font-weight: 600;
    line-height: 64px;
    color: var(--color-forge);
}

.privacy-post {
    box-sizing: border-box;
    background: var(--color-white);
    padding: 24px 0 88px;
}

.privacy-post__inner {
    box-sizing: border-box;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 40px;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0 var(--page-align-x);
}

.privacy-post__content {
    box-sizing: border-box;
    flex: 1 1 var(--privacy-copy-w);
    min-width: 0;
    max-width: var(--privacy-copy-w);
}

.privacy-post__summary {
    box-sizing: border-box;
    flex: 0 0 381px;
    width: 381px;
    max-width: 100%;
    position: sticky;
    top: 100px;
    align-self: flex-start;
}

.privacy-post__summary--empty {
    display: none;
}

.privacy-summary {
    box-sizing: border-box;
    width: 100%;
}

.privacy-summary__trigger {
    box-sizing: border-box;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    height: 56px;
    margin: 0;
    padding: 8px 16px 8px 24px;
    border: 1.25px solid var(--color-forge);
    border-radius: 16px;
    background: var(--color-white);
    font: inherit;
    color: var(--color-forge);
    cursor: pointer;
    text-align: left;
}

.privacy-summary__trigger:hover,
.privacy-summary__trigger:focus-visible {
    border-color: var(--color-flare);
    color: var(--color-flare);
}

.privacy-summary__trigger:hover .privacy-summary__label,
.privacy-summary__trigger:hover .privacy-summary__chevron,
.privacy-summary__trigger:focus-visible .privacy-summary__label,
.privacy-summary__trigger:focus-visible .privacy-summary__chevron {
    color: var(--color-flare);
}

.privacy-summary__trigger:focus-visible {
    outline: 2px solid var(--color-forge);
    outline-offset: 2px;
}

.privacy-summary__label {
    font-family: var(--font-sans);
    font-size: 18px;
    font-weight: 500;
    line-height: 1.2;
    color: var(--color-forge);
}

.privacy-summary__chevron {
    display: flex;
    flex-shrink: 0;
    width: 36px;
    height: 36px;
    align-items: center;
    justify-content: center;
    color: var(--color-forge);
    transform: rotate(90deg);
    transition: transform 0.25s ease;
}

.privacy-summary.is-open .privacy-summary__chevron {
    transform: rotate(-90deg);
}

.privacy-summary--instant-close .privacy-summary__dropdown,
.privacy-summary--instant-close .privacy-summary__chevron {
    transition: none;
}

.privacy-summary__dropdown {
    box-sizing: border-box;
    width: 100%;
    margin-top: 8px;
    padding: 0 24px;
    border: 1.25px solid var(--color-forge);
    border-radius: 16px;
    background: var(--color-white);
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    transition:
        max-height 0.35s ease,
        opacity 0.25s ease,
        padding-top 0.35s ease,
        padding-bottom 0.35s ease;
}

.privacy-summary.is-open .privacy-summary__dropdown {
    max-height: min(70vh, 640px);
    opacity: 1;
    padding: 16px 24px;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-y;
}

.privacy-summary__link {
    box-sizing: border-box;
    display: block;
    padding: 8px 0;
    border-bottom: 1px solid var(--color-ash);
    font-family: var(--font-sans);
    font-size: 16px;
    font-weight: 500;
    line-height: 1.4;
    color: var(--color-forge);
    text-decoration: none;
}

.privacy-summary__link:last-child {
    border-bottom: none;
}

.privacy-summary__link:hover,
.privacy-summary__link:focus-visible {
    color: var(--color-flare);
}

.privacy-content {
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    gap: 0;
    max-width: 100%;
    min-width: 0;
}

.privacy-content :is(p, li, h1, h2, h3, h4, h5, h6, td, th, span, div, a) {
    overflow-wrap: anywhere;
    word-break: break-word;
    hyphens: auto;
}

.privacy-content * + h2,
.privacy-content * + h3 {
    margin-top: 40px;
}

.privacy-content p {
    margin: 0 0 24px;
    font-family: var(--font-sans);
    font-size: 18px;
    font-weight: 500;
    line-height: 32px;
    color: var(--color-dark);
}

.privacy-content h2,
.privacy-content h3 {
    margin: 0 0 24px;
    scroll-margin-top: 100px;
    font-family: var(--font-serif);
    font-size: 28px;
    font-style: italic;
    font-weight: 400;
    line-height: 32px;
    color: var(--color-dark);
}

.privacy-content ul,
.privacy-content ol {
    margin: 0 0 24px;
    padding-left: 1.25em;
    font-family: var(--font-sans);
    font-size: 18px;
    font-weight: 500;
    line-height: 32px;
    color: var(--color-dark);
}

.privacy-content li {
    margin-bottom: 8px;
}

.privacy-content li:last-child {
    margin-bottom: 0;
}

.privacy-content a {
    color: var(--color-forge);
    text-decoration: underline;
    text-underline-offset: 2px;
}

.privacy-content a:hover,
.privacy-content a:focus-visible {
    color: var(--color-flare);
}

.onetrust-privacy-notice {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    min-width: 0;
}

/* OneTrust injects its own section menu/TOC; theme Summary sidebar replaces it. */
.onetrust-privacy-notice [class*='otnotice-menu']:not([class*='language']),
.onetrust-privacy-notice .otnotice-toc,
.onetrust-privacy-notice [data-gk-hidden-ot-toc] {
    display: none !important;
}

.privacy-content .ot-privacy-notice-language-dropdown-container:not(:empty) {
    margin-bottom: 24px;
}

.onetrust-privacy-notice .ot-privacy-notice-language-dropdown-container,
.onetrust-privacy-notice .otnotice-language-dropdown-container,
.onetrust-privacy-notice .otnotice-language-dropdown,
.onetrust-privacy-notice [class*='language-dropdown'] {
    color: var(--color-forge);
    font-family: var(--font-sans);
}

.onetrust-privacy-notice .ot-privacy-notice-language-dropdown-container button,
.onetrust-privacy-notice .otnotice-language-dropdown-container button,
.onetrust-privacy-notice [class*='language-dropdown'] button {
    box-sizing: border-box;
    min-height: 56px;
    padding: 8px 48px 8px 24px;
    border: 1.25px solid var(--color-forge);
    border-radius: 16px;
    background-color: var(--color-white);
    text-align: left;
    cursor: pointer;
}

.onetrust-privacy-notice .ot-privacy-notice-language-dropdown-container button,
.onetrust-privacy-notice .otnotice-language-dropdown-container button,
.onetrust-privacy-notice [class*='language-dropdown'] button,
.onetrust-privacy-notice .ot-privacy-notice-language-dropdown-container span,
.onetrust-privacy-notice .otnotice-language-dropdown-container span,
.onetrust-privacy-notice [class*='language-dropdown'] span,
.onetrust-privacy-notice .ot-privacy-notice-language-dropdown-container label,
.onetrust-privacy-notice .otnotice-language-dropdown-container label,
.onetrust-privacy-notice [class*='language-dropdown'] label {
    color: var(--color-forge) !important;
    -webkit-text-fill-color: var(--color-forge);
    font-family: var(--font-sans);
    font-size: 18px;
    font-weight: 500;
}

.onetrust-privacy-notice .otnotice-language-dropdown,
.onetrust-privacy-notice .ot-privacy-notice-language-dropdown-container select,
.onetrust-privacy-notice .otnotice-language-dropdown-container select,
.onetrust-privacy-notice [class*='language-dropdown'] select {
    box-sizing: border-box;
    min-height: 56px;
    padding: 8px 48px 8px 24px;
    border: 1.25px solid var(--color-forge);
    border-radius: 16px;
    background-color: var(--color-white);
    color: var(--color-forge) !important;
    font-family: var(--font-sans);
    font-size: 18px;
    font-weight: 500;
    line-height: 1.2;
    appearance: none;
    -webkit-appearance: none;
    cursor: pointer;
}

.onetrust-privacy-notice .otnotice-language-dropdown option,
.onetrust-privacy-notice .ot-privacy-notice-language-dropdown-container select option,
.onetrust-privacy-notice .otnotice-language-dropdown-container select option,
.onetrust-privacy-notice [class*='language-dropdown'] select option {
    color: var(--color-forge);
    background-color: var(--color-white);
}

.onetrust-privacy-notice .otnotice-language-dropdown:focus-visible,
.onetrust-privacy-notice .ot-privacy-notice-language-dropdown-container select:focus-visible,
.onetrust-privacy-notice .otnotice-language-dropdown-container select:focus-visible,
.onetrust-privacy-notice [class*='language-dropdown'] select:focus-visible,
.onetrust-privacy-notice .ot-privacy-notice-language-dropdown-container button:focus-visible,
.onetrust-privacy-notice .otnotice-language-dropdown-container button:focus-visible,
.onetrust-privacy-notice [class*='language-dropdown'] button:focus-visible {
    outline: 2px solid var(--color-forge);
    outline-offset: 2px;
}

.onetrust-privacy-notice .ot-privacy-notice-language-dropdown-container svg,
.onetrust-privacy-notice .otnotice-language-dropdown-container svg,
.onetrust-privacy-notice [class*='language-dropdown'] svg {
    color: var(--color-forge);
    fill: currentColor;
    stroke: currentColor;
}

.privacy-content .otnotice {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    min-width: 0;
}

.onetrust-privacy-notice .otnotice :is(p, li, h1, h2, h3, h4, h5, h6, td, th, span, div, label, strong, em) {
    box-sizing: border-box;
    max-width: 100%;
    min-width: 0;
    white-space: normal !important;
    overflow-wrap: anywhere;
    word-break: break-word;
    hyphens: auto;
}

.onetrust-privacy-notice .otnotice img,
.onetrust-privacy-notice .otnotice iframe,
.onetrust-privacy-notice .otnotice video {
    max-width: 100%;
    height: auto;
}

/* OneTrust injects light/ash text — align with theme body color. */
.onetrust-privacy-notice .otnotice :where(
    p,
    li,
    td,
    th,
    span,
    div,
    h1,
    h4,
    h5,
    h6,
    strong,
    em,
    b,
    i,
    label
):not([class*='language']):not([data-gk-hidden-ot-toc]) {
    color: var(--color-dark) !important;
    -webkit-text-fill-color: var(--color-dark);
}

.onetrust-privacy-notice .otnotice table,
.privacy-content table {
    box-sizing: border-box;
    width: 100% !important;
    max-width: 100% !important;
    table-layout: fixed !important;
    border-collapse: collapse;
    margin: 0 0 24px;
}

.onetrust-privacy-notice .otnotice table :is(td, th),
.privacy-content table td,
.privacy-content table th {
    box-sizing: border-box;
    min-width: 0;
    max-width: 100%;
    padding: 8px 12px;
    border: 1px solid var(--color-ash);
    font-family: var(--font-sans);
    font-size: 16px;
    font-weight: 500;
    line-height: 1.4;
    color: var(--color-dark);
    vertical-align: top;
    white-space: normal !important;
    overflow-wrap: anywhere;
    word-break: break-word;
    hyphens: auto;
}

.privacy-content__empty {
    margin: 0;
    font-family: var(--font-sans);
    font-size: 18px;
    font-weight: 500;
    line-height: 32px;
    color: var(--color-neutral);
}

@media (max-width: 768px) {
    .privacy-hero {
        padding: 80px 24px 32px;
    }

    .privacy-hero__title {
        font-size: 32px;
        line-height: 40px;
    }

    .privacy-post {
        padding: 24px 0 64px;
    }

    .privacy-post__inner {
        flex-direction: column;
        gap: 24px;
        padding: 0 24px;
    }

    .privacy-post__summary {
        order: -1;
        flex: 0 0 auto;
        width: 100%;
        position: static;
        top: auto;
    }

    .privacy-content h2,
    .privacy-content h3 {
        scroll-margin-top: 88px;
    }

    .onetrust-privacy-notice .otnotice table,
    .privacy-content table {
        font-size: 12px;
        line-height: 1.35;
    }

    .onetrust-privacy-notice .otnotice table :is(td, th),
    .privacy-content table td,
    .privacy-content table th {
        font-size: 12px;
        line-height: 1.35;
        padding: 6px 8px;
    }

    .onetrust-privacy-notice .otnotice table tr > :first-child:nth-last-child(2),
    .privacy-content table tr > :first-child:nth-last-child(2) {
        width: 28% !important;
    }

    .onetrust-privacy-notice .otnotice table tr > :first-child:nth-last-child(2) ~ :last-child,
    .privacy-content table tr > :first-child:nth-last-child(2) ~ :last-child {
        width: 72% !important;
    }
}
