/* Privacy page styles — scoped to #privacy-main */

#privacy-main.privacy-page {
    --privacy-content-max: 800px;
    --privacy-section-gap: var(--space-8);
    --privacy-copy-gap: var(--space-5);
    --privacy-divider-color: rgba(31, 78, 95, 0.2);
    --privacy-accent-color: var(--color-saffron);
    --privacy-heading-color: var(--color-petrol);
    --privacy-text-color: var(--color-dark-cherry);
    --privacy-card-bg: var(--color-ivory);
    --privacy-card-border: rgba(31, 78, 95, 0.2);
    --privacy-card-shadow: 0 2px 8px rgba(31, 78, 95, 0.1);
    --privacy-card-radius: var(--radius-2);
    --privacy-card-padding: var(--space-5);
    --privacy-hero-padding-top: var(--space-8);
    --privacy-hero-padding-bottom: var(--space-7);
    --privacy-section-padding: var(--space-7);
    --privacy-section-padding-mobile: var(--space-6);
    --privacy-hero-title-size: var(--text-h1-size);
    --privacy-hero-lede-size: var(--text-body-large-size);
    --privacy-hero-date-size: var(--text-small-size);
    --privacy-heading-size: var(--text-h2-size);
    --privacy-subheading-size: var(--text-h3-size);
    --privacy-body-size: var(--text-body-size);
    --privacy-body-line-height: 1.7;
    --privacy-list-gap: var(--space-2);
    --privacy-list-item-gap: var(--space-3);
    --privacy-list-marker-color: var(--color-saffron);
    --privacy-link-color: var(--color-saffron);
    --privacy-link-hover-color: var(--color-petrol);
    --privacy-contact-card-gap: var(--space-3);
    --privacy-contact-card-margin-top: var(--space-5);
    --privacy-date-margin-top: var(--space-6);
}

#privacy-main.privacy-page {
    background-color: var(--color-ivory);
    color: var(--privacy-text-color);
    font-family: var(--font-body);
    line-height: var(--privacy-body-line-height);
}

/* Hero */
#privacy-main .privacy-hero {
    width: 100%;
    padding-top: var(--privacy-hero-padding-top);
    padding-bottom: var(--privacy-hero-padding-bottom);
    background-color: var(--color-petrol);
    color: var(--color-text-inverse);
}

#privacy-main .privacy-hero__inner {
    width: 100%;
    max-width: var(--privacy-content-max);
    margin-inline: auto;
    padding-inline: var(--container-gutter-mobile);
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
    align-items: flex-start;
}

#privacy-main .privacy-hero__title {
    font-family: var(--font-heading);
    font-size: var(--privacy-hero-title-size);
    line-height: var(--text-h1-line-height);
    font-weight: var(--text-h1-weight);
    letter-spacing: var(--text-h1-letter-spacing);
    color: var(--color-text-inverse);
    margin: 0;
}

#privacy-main .privacy-hero__lede {
    font-size: var(--privacy-hero-lede-size);
    line-height: var(--text-body-large-line-height);
    color: var(--color-text-inverse);
    max-width: 70ch;
    margin: 0;
}

#privacy-main .privacy-hero__date {
    font-size: var(--privacy-hero-date-size);
    line-height: var(--text-small-line-height);
    color: var(--color-saffron);
    font-weight: 500;
    margin: 0;
}

#privacy-main .privacy-hero__line {
    margin-top: var(--space-6);
    width: 100%;
}

/* Content wrapper */
#privacy-main .privacy-content {
    width: 100%;
    max-width: var(--privacy-content-max);
    margin-inline: auto;
    padding-block: var(--privacy-section-padding);
    padding-inline: var(--container-gutter-mobile);
    display: flex;
    flex-direction: column;
    gap: var(--privacy-section-gap);
}

/* Section */
#privacy-main .privacy-section {
    width: 100%;
    padding-bottom: var(--privacy-section-padding);
    border-bottom: 1px solid var(--privacy-divider-color);
}

#privacy-main .privacy-section:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

#privacy-main .privacy-section__inner {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: var(--privacy-copy-gap);
    align-items: flex-start;
}

#privacy-main .privacy-section h2 {
    font-family: var(--font-heading);
    font-size: var(--privacy-heading-size);
    line-height: var(--text-h2-line-height);
    font-weight: var(--text-h2-weight);
    letter-spacing: var(--text-h2-letter-spacing);
    color: var(--privacy-heading-color);
    margin: 0;
    width: 100%;
}

#privacy-main .privacy-section h3 {
    font-family: var(--font-heading);
    font-size: var(--privacy-subheading-size);
    line-height: var(--text-h3-line-height);
    font-weight: var(--text-h3-weight);
    letter-spacing: var(--text-h3-letter-spacing);
    color: var(--privacy-text-color);
    margin: 0;
}

/* Copy blocks */
#privacy-main .privacy-copy {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
    align-items: flex-start;
}

#privacy-main .privacy-copy p {
    font-size: var(--privacy-body-size);
    line-height: var(--privacy-body-line-height);
    color: var(--privacy-text-color);
    max-width: 72ch;
    margin: 0;
}

#privacy-main .privacy-copy a {
    color: var(--privacy-link-color);
    text-decoration: underline;
    text-underline-offset: 2px;
    transition: color var(--transition-color);
}

#privacy-main .privacy-copy a:hover {
    color: var(--privacy-link-hover-color);
}

#privacy-main .privacy-copy .content-list {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: var(--privacy-list-gap);
    margin: 0;
}

#privacy-main .privacy-copy .content-list > li {
    margin: 0;
    padding-inline-start: var(--space-5);
    position: relative;
    font-size: var(--privacy-body-size);
    line-height: var(--privacy-body-line-height);
    color: var(--privacy-text-color);
}

#privacy-main .privacy-copy .content-list > li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.65em;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: var(--privacy-list-marker-color);
}

/* Contact card */
#privacy-main .privacy-contact-card {
    width: 100%;
    max-width: var(--privacy-content-max);
    background-color: var(--privacy-card-bg);
    border: 1px solid var(--privacy-card-border);
    border-radius: var(--privacy-card-radius);
    box-shadow: var(--privacy-card-shadow);
    padding: var(--privacy-card-padding);
    display: flex;
    flex-direction: column;
    gap: var(--privacy-contact-card-gap);
    margin-top: var(--privacy-contact-card-margin-top);
}

#privacy-main .privacy-contact-card h3 {
    margin: 0;
    color: var(--privacy-heading-color);
}

#privacy-main .privacy-contact-card address {
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
    font-style: normal;
}

#privacy-main .privacy-contact-card address p {
    margin: 0;
    font-size: var(--privacy-body-size);
    line-height: var(--privacy-body-line-height);
    color: var(--privacy-text-color);
}

#privacy-main .privacy-contact-card address a {
    color: var(--privacy-link-color);
    text-decoration: underline;
    text-underline-offset: 2px;
    transition: color var(--transition-color);
}

#privacy-main .privacy-contact-card address a:hover {
    color: var(--privacy-link-hover-color);
}

/* Date block */
#privacy-main .privacy-copy--date {
    margin-top: var(--privacy-date-margin-top);
}

#privacy-main .privacy-copy--date strong {
    color: var(--privacy-heading-color);
    font-weight: 600;
}

/* Tablet and below */
@media (max-width: 767px) {
    #privacy-main.privacy-page {
        --privacy-hero-padding-top: var(--space-7);
        --privacy-hero-padding-bottom: var(--space-6);
        --privacy-section-padding: var(--privacy-section-padding-mobile);
        --privacy-section-gap: var(--space-6);
    }

    #privacy-main .privacy-hero__inner {
        padding-inline: var(--container-gutter-mobile);
    }

    #privacy-main .privacy-content {
        padding-block: var(--privacy-section-padding);
        padding-inline: var(--container-gutter-mobile);
    }

    #privacy-main .privacy-hero__title {
        font-size: clamp(1.75rem, 7vw, 2.25rem);
    }

    #privacy-main .privacy-hero__lede {
        font-size: var(--text-body-size);
        line-height: var(--text-body-line-height);
    }

    #privacy-main .privacy-section h2 {
        font-size: clamp(1.5rem, 6vw, 1.75rem);
    }

    #privacy-main .privacy-section h3 {
        font-size: 1.25rem;
    }

    #privacy-main .privacy-copy p,
    #privacy-main .privacy-copy .content-list > li,
    #privacy-main .privacy-contact-card address p {
        font-size: var(--text-body-size);
        line-height: 1.65;
    }

    #privacy-main .privacy-contact-card {
        padding: var(--space-4);
    }
}

/* Desktop refinement */
@media (min-width: 768px) {
    #privacy-main .privacy-hero__inner {
        padding-inline: var(--container-gutter-desktop);
    }

    #privacy-main .privacy-content {
        padding-inline: var(--container-gutter-desktop);
    }
}

@media (prefers-reduced-motion: reduce) {
    #privacy-main .privacy-copy a,
    #privacy-main .privacy-contact-card address a {
        transition: none;
    }
}
