/* Page-owned styles for privacy-policy */

.privacy-policy-page {
    background-color: var(--color-paper);
    color: var(--color-ink);
    padding-block: var(--space-2xl);
}

.privacy-policy-container {
    width: 100%;
    max-width: 720px;
    margin-inline: auto;
    padding-inline: var(--container-padding-mobile);
    display: flex;
    flex-direction: column;
    gap: var(--space-2xl);
}

@media (min-width: 768px) {
    .privacy-policy-container {
        padding-inline: var(--container-padding-desktop);
        gap: var(--space-3xl);
    }
}

.privacy-policy-header {
    display: flex;
    flex-direction: column;
    gap: var(--space-md);
    border-block-end: 1px solid var(--color-brass-soft);
    padding-block-end: var(--space-lg);
}

.privacy-policy-title {
    font-size: var(--text-h1-size);
    line-height: var(--text-h1-line-height);
    letter-spacing: var(--text-h1-letter-spacing);
    font-weight: var(--text-h1-weight);
    color: var(--color-ink);
    margin: 0;
}

.privacy-policy-lead {
    font-size: var(--text-body-size);
    line-height: var(--text-body-line-height);
    color: var(--color-ink);
    max-width: 68ch;
    margin: 0;
}

.privacy-policy-effective-date {
    font-size: var(--text-small-size);
    line-height: var(--text-small-line-height);
    color: var(--color-slate);
    margin: 0;
}

.privacy-policy-section {
    display: flex;
    flex-direction: column;
    gap: var(--space-md);
}

.privacy-policy-section-heading {
    font-size: var(--text-h2-size);
    line-height: var(--text-h2-line-height);
    letter-spacing: var(--text-h2-letter-spacing);
    font-weight: var(--text-h2-weight);
    color: var(--color-ink);
    margin: 0;
    padding-block-end: var(--space-sm);
    border-block-end: 1px solid var(--color-brass-soft);
}

.privacy-policy-copy {
    display: flex;
    flex-direction: column;
    gap: var(--space-md);
    max-width: 68ch;
}

.privacy-policy-copy p {
    margin: 0;
    font-size: var(--text-body-size);
    line-height: var(--text-body-line-height);
    color: var(--color-ink);
}

.privacy-policy-list {
    margin: 0;
    padding-inline-start: var(--space-lg);
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
    color: var(--color-ink);
}

.privacy-policy-list li {
    margin: 0;
    font-size: var(--text-body-size);
    line-height: var(--text-body-line-height);
    color: var(--color-ink);
}

.privacy-policy-list-ordered {
    list-style-type: decimal;
}

.privacy-policy-copy a {
    color: var(--color-ink);
    text-decoration: none;
    transition: text-decoration-color var(--transition-fast);
    text-decoration-color: transparent;
    text-underline-offset: 3px;
}

.privacy-policy-copy a:hover {
    text-decoration: underline;
    text-decoration-color: var(--color-oxblood);
    text-decoration-thickness: 1px;
}

.privacy-policy-copy a:focus-visible {
    outline: var(--focus-outline);
    outline-offset: var(--focus-outline-offset);
    border-radius: var(--radius-xs);
}

.privacy-policy-contact {
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
    font-style: normal;
    margin: 0;
}

.privacy-policy-contact-item {
    display: flex;
    flex-direction: column;
    gap: var(--space-2xs);
    font-size: var(--text-body-size);
    line-height: var(--text-body-line-height);
    color: var(--color-ink);
}

.privacy-policy-contact-label {
    font-size: var(--text-caption-size);
    line-height: var(--text-caption-line-height);
    letter-spacing: var(--text-caption-letter-spacing);
    font-weight: var(--text-caption-weight);
    text-transform: var(--text-caption-transform);
    color: var(--color-slate);
}

@media (max-width: 599px) {
    .privacy-policy-container {
        gap: var(--space-xl);
    }

    .privacy-policy-header {
        gap: var(--space-sm);
        padding-block-end: var(--space-md);
    }

    .privacy-policy-section {
        gap: var(--space-sm);
    }

    .privacy-policy-section-heading {
        padding-block-end: var(--space-xs);
    }

    .privacy-policy-copy {
        gap: var(--space-sm);
    }

    .privacy-policy-list {
        gap: var(--space-2xs);
    }

    .privacy-policy-contact {
        gap: var(--space-2xs);
    }
}
