:root {
    color-scheme: light;
    --background: oklch(0.975 0.014 75);
    --foreground: oklch(0.28 0.045 268);
    --card: oklch(0.995 0.006 75);
    --card-foreground: oklch(0.28 0.045 268);
    --primary: oklch(0.52 0.15 291);
    --primary-hover: oklch(0.46 0.16 291);
    --primary-foreground: oklch(0.99 0.005 75);
    --secondary: oklch(0.93 0.03 288);
    --secondary-foreground: oklch(0.28 0.045 268);
    --muted: oklch(0.955 0.014 75);
    --muted-foreground: oklch(0.48 0.03 265);
    --border: oklch(0.9 0.015 80);
    --radius: 1.25rem;
    --radius-md: calc(var(--radius) * 0.8);
    --radius-lg: var(--radius);
    --radius-xl: calc(var(--radius) * 1.4);
    --radius-2xl: calc(var(--radius) * 1.8);
    --radius-3xl: calc(var(--radius) * 2.2);
    --lavender: oklch(0.88 0.06 291);
    --lavender-foreground: oklch(0.32 0.08 291);
    --sky: oklch(0.86 0.06 232);
    --sky-foreground: oklch(0.3 0.07 232);
    --mint: oklch(0.86 0.08 166);
    --mint-foreground: oklch(0.3 0.07 166);
    --peach: oklch(0.87 0.08 45);
    --peach-foreground: oklch(0.35 0.09 40);
    --sunshine: oklch(0.88 0.1 92);
    --sunshine-foreground: oklch(0.38 0.08 80);
    --navy: oklch(0.24 0.06 275);
    --navy-foreground: oklch(0.96 0.02 80);
    --success: oklch(0.65 0.15 155);
    --success-foreground: oklch(0.99 0.005 75);
    --rose: oklch(0.72 0.14 15);
    --rose-foreground: oklch(0.99 0.005 75);
    --font-sans: "Plus Jakarta Sans", "Noto Sans", ui-sans-serif, system-ui, sans-serif;
    --font-display: "Fredoka", ui-rounded, sans-serif;
    --font-hindi: "Noto Sans Devanagari", "Noto Sans", sans-serif;
    --font-gujarati: "Noto Sans Gujarati", "Noto Sans", sans-serif;
    --container-max: 1180px;
}


.legal-hero {
    padding: 1.5rem 0 1rem;
    border-bottom: 1px solid var(--border);
}

@media (min-width: 768px) {
    .legal-hero {
        padding: 2rem 0 1.25rem;
    }
}

@media (max-width: 480px) {
    .legal-hero {
        padding: 1.25rem 0 0.75rem;
    }
}

.legal-hero__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    border-radius: 999px;
    background: color-mix(in oklab, var(--primary) 10%, var(--card));
    color: var(--primary);
    border: 1px solid color-mix(in oklab, var(--primary) 18%, transparent);
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    padding: 0.4rem 0.9rem;
    text-transform: uppercase;
}

.legal-hero__eyebrow svg {
    width: 0.8rem;
    height: 0.8rem;
}

.legal-hero__icon {
    display: none;
    width: 3rem;
    height: 3rem;
    border-radius: 0.9rem;
    background: var(--lavender);
    color: var(--lavender-foreground);
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.legal-hero__icon svg {
    width: 1.4rem;
    height: 1.4rem;
}

.legal-hero__head {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-top: 0.75rem;
}

@media (min-width: 640px) {
    .legal-hero__icon {
        display: flex;
    }
}

.legal-hero h1 {
    font-family: var(--font-display);
    font-weight: 600;
    font-size: 1.875rem;
    line-height: 1.15;
    letter-spacing: -0.01em;
}

@media (min-width: 640px) {
    .legal-hero h1 {
        font-size: 2.5rem;
    }
}

@media (max-width: 480px) {
    .legal-hero h1 {
        font-size: 1.625rem;
    }
}

.legal-hero__sub {
    color: var(--muted-foreground);
    font-size: 1rem;
    line-height: 1.6;
    margin-top: 0.65rem;
    max-width: 42rem;
}

@media (max-width: 480px) {
    .legal-hero__sub {
        font-size: 0.9375rem;
    }
}

.legal-hero__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.4rem 1rem;
    margin-top: 0.75rem;
    font-size: 0.8125rem;
    color: var(--muted-foreground);
}

.legal-hero__meta svg {
    width: 0.9rem;
    height: 0.9rem;
    color: var(--primary);
}

.legal-hero__meta strong {
    color: var(--foreground);
    font-weight: 700;
}

.legal-layout {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.5rem;
    padding: 1.5rem 0 2rem;
}

@media (min-width: 960px) {
    .legal-layout {
        grid-template-columns: 15rem 1fr;
        gap: 3rem;
        align-items: start;
        padding: 2rem 0 2.5rem;
    }
}

@media (max-width: 959px) {
    .legal-layout {
        padding-left: 1.25rem;
        padding-right: 1.25rem;
    }
}

@media (max-width: 480px) {
    .legal-layout {
        padding-left: 1rem;
        padding-right: 1rem;
        padding-top: 1.25rem;
        padding-bottom: 2rem;
        gap: 1.25rem;
    }
}

.toc-mobile {
    display: block;
}

@media (min-width: 960px) {
    .toc-mobile {
        display: none;
    }
}

.toc-mobile__details {
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    background: var(--card);
    overflow: hidden;
}

@media (max-width: 480px) {
    .toc-mobile__details {
        border-radius: var(--radius-md);
    }
}

.toc-mobile__summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.75rem 1rem;
    font-family: var(--font-display);
    font-size: 0.9375rem;
    font-weight: 600;
    cursor: pointer;
    list-style: none;
    min-height: 3rem;
}

@media (max-width: 480px) {
    .toc-mobile__summary {
        padding: 0.7rem 0.9rem;
        font-size: 0.875rem;
    }
}

.toc-mobile__summary::-webkit-details-marker {
    display: none;
}

.toc-mobile__summary svg {
    width: 1rem;
    height: 1rem;
    color: var(--primary);
    transition: transform 0.2s ease;
}

.toc-mobile__details[open] .toc-mobile__summary svg {
    transform: rotate(180deg);
}

.toc-mobile__list {
    border-top: 1px solid var(--border);
    padding: 0.4rem 0.5rem;
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
}

.toc-mobile__list a {
    display: block;
    padding: 0.5rem 0.6rem;
    border-radius: var(--radius-md);
    font-size: 0.875rem;
    color: var(--foreground);
    transition: background 0.15s;
    min-height: 2.5rem;
}

.toc-mobile__list a:hover {
    background: var(--muted);
}

.toc-desktop {
    display: none;
    position: sticky;
    top: 5.5rem;
    align-self: start;
}

@media (min-width: 960px) {
    .toc-desktop {
        display: block;
    }
}

.toc-desktop__title {
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--muted-foreground);
    margin-bottom: 0.75rem;
    display: flex;
    align-items: center;
    gap: 0.4rem;
}

.toc-desktop__title svg {
    width: 0.85rem;
    height: 0.85rem;
    color: var(--primary);
}

.toc-desktop__list {
    display: flex;
    flex-direction: column;
    gap: 0.05rem;
    border-left: 2px solid var(--border);
    padding-left: 0;
}

.toc-desktop__list a {
    display: block;
    padding: 0.4rem 0.75rem 0.4rem 1rem;
    font-size: 0.8125rem;
    line-height: 1.4;
    color: var(--muted-foreground);
    border-left: 2px solid transparent;
    margin-left: -2px;
    transition: all 0.15s ease;
}

.toc-desktop__list a:hover {
    color: var(--foreground);
    border-left-color: color-mix(in oklab, var(--primary) 40%, transparent);
}

.toc-desktop__list a.is-active {
    color: var(--primary);
    font-weight: 700;
    border-left-color: var(--primary);
    background: color-mix(in oklab, var(--primary) 5%, transparent);
}

.legal-content {
    max-width: 820px;
    color: var(--foreground);
    font-size: 1rem;
    line-height: 1.7;
    padding: 0;
}

@media (min-width: 640px) {
    .legal-content {
        font-size: 1.0625rem;
        line-height: 1.75;
    }
}

@media (max-width: 959px) {
    .legal-content {
        padding-left: 0.25rem;
        padding-right: 0.25rem;
    }
}

@media (max-width: 480px) {
    .legal-content {
        padding-left: 0;
        padding-right: 0;
    }

    .legal-section h2 {
        font-size: 1.25rem;
    }

    .legal-section h3 {
        font-size: 1rem;
    }

    .legal-section p,
    .legal-section li {
        font-size: 0.9375rem;
    }
}

.legal-section {
    scroll-margin-top: 6rem;
    margin-bottom: 2rem;
}

.legal-section:last-of-type {
    margin-bottom: 0;
}

@media (max-width: 480px) {
    .legal-section {
        margin-bottom: 1.5rem;
    }
}

.legal-section h2 {
    font-family: var(--font-display);
    font-weight: 600;
    font-size: 1.375rem;
    line-height: 1.25;
    letter-spacing: -0.01em;
    color: var(--foreground);
    margin-bottom: 0.75rem;
    display: flex;
    align-items: baseline;
    gap: 0.6rem;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid color-mix(in oklab, var(--border) 70%, transparent);
}

@media (min-width: 640px) {
    .legal-section h2 {
        font-size: 1.625rem;
    }
}

.legal-section h3 {
    font-family: var(--font-display);
    font-weight: 600;
    font-size: 1.0625rem;
    line-height: 1.35;
    color: var(--foreground);
    margin-top: 1.25rem;
    margin-bottom: 0.5rem;
}

@media (min-width: 640px) {
    .legal-section h3 {
        font-size: 1.125rem;
    }
}

.legal-section p {
    margin-bottom: 0.85rem;
    color: color-mix(in oklab, var(--foreground) 92%, transparent);
}

.legal-section p:last-child {
    margin-bottom: 0;
}

.legal-section ul,
.legal-section ol {
    margin-bottom: 0.85rem;
    padding-left: 0;
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
}

.legal-section ul li,
.legal-section ol li {
    position: relative;
    padding-left: 1.5rem;
    color: color-mix(in oklab, var(--foreground) 92%, transparent);
    line-height: 1.65;
}

.legal-section ul li::before {
    content: '';
    position: absolute;
    left: 0.25rem;
    top: 0.7em;
    width: 5px;
    height: 5px;
    border-radius: 999px;
    background: var(--primary);
}

.legal-section ol {
    counter-reset: legal-ol;
}

.legal-section ol li {
    counter-increment: legal-ol;
}

.legal-section ol li::before {
    content: counter(legal-ol) '.';
    position: absolute;
    left: 0;
    top: 0;
    font-weight: 800;
    color: var(--primary);
    font-size: 0.875em;
    width: 1.25rem;
}

.legal-section strong {
    font-weight: 700;
    color: var(--foreground);
}

.legal-section em {
    font-style: italic;
}

.legal-section a {
    color: var(--primary);
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 2px;
    text-decoration-thickness: 1px;
}

.legal-section a:hover {
    text-decoration-thickness: 2px;
}

.legal-placeholder {
    display: inline-block;
    padding: 0.1rem 0.45rem;
    border-radius: 0.35rem;
    background: color-mix(in oklab, var(--sunshine) 60%, var(--card));
    color: var(--sunshine-foreground);
    font-family: ui-monospace, "SF Mono", Menlo, Consolas, monospace;
    font-size: 0.85em;
    font-weight: 700;
    letter-spacing: 0.02em;
    border: 1px dashed color-mix(in oklab, var(--sunshine-foreground) 35%, transparent);
    white-space: nowrap;
}

.summary-box {
    background: linear-gradient(135deg, color-mix(in oklab, var(--lavender) 45%, var(--card)) 0%, var(--card) 100%);
    border: 1px solid color-mix(in oklab, var(--lavender-foreground) 18%, transparent);
    border-radius: var(--radius-2xl);
    padding: 1.15rem 1.25rem;
    margin-bottom: 1.5rem;
}

@media (max-width: 480px) {
    .summary-box {
        padding: 1rem 0.9rem;
        margin-bottom: 1.25rem;
    }
}

.summary-box__head {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    margin-bottom: 0.6rem;
}

.summary-box__head svg {
    width: 1.1rem;
    height: 1.1rem;
    color: var(--lavender-foreground);
}

.summary-box__head span {
    font-family: var(--font-display);
    font-size: 0.9375rem;
    font-weight: 600;
    color: var(--lavender-foreground);
    letter-spacing: 0.01em;
}

.summary-box p {
    font-size: 0.9375rem;
    line-height: 1.6;
    color: color-mix(in oklab, var(--lavender-foreground) 92%, transparent);
    margin: 0;
}

.notice-card {
    display: flex;
    gap: 0.75rem;
    padding: 1rem 1.1rem;
    border-radius: var(--radius-2xl);
    margin: 1.25rem 0;
}

@media (max-width: 480px) {
    .notice-card {
        padding: 0.9rem 0.9rem;
        gap: 0.65rem;
        margin: 1rem 0;
    }
}

.notice-card__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 0.7rem;
    flex-shrink: 0;
}

@media (max-width: 480px) {
    .notice-card__icon {
        width: 2rem;
        height: 2rem;
    }

    .notice-card__icon svg {
        width: 0.95rem;
        height: 0.95rem;
    }
}

.notice-card__icon svg {
    width: 1.05rem;
    height: 1.05rem;
}

.notice-card__body {
    flex: 1;
    min-width: 0;
}

.notice-card__label {
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    margin-bottom: 0.2rem;
}

.notice-card h3 {
    font-family: var(--font-display);
    font-size: 1rem;
    font-weight: 600;
    margin-bottom: 0.3rem;
    margin-top: 0;
    border: none;
    padding: 0;
}

.notice-card p {
    font-size: 0.875rem;
    line-height: 1.55;
    margin: 0;
}

.notice-card a {
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.notice-card--important {
    background: color-mix(in oklab, var(--peach) 32%, var(--card));
    border: 1px solid color-mix(in oklab, var(--peach-foreground) 20%, transparent);
}

.notice-card--important .notice-card__icon {
    background: var(--peach);
    color: var(--peach-foreground);
}

.notice-card--important .notice-card__label {
    color: var(--peach-foreground);
}

.notice-card--important h3 {
    color: var(--peach-foreground);
}

.notice-card--important p {
    color: color-mix(in oklab, var(--peach-foreground) 90%, transparent);
}

.notice-card--important a {
    color: var(--peach-foreground);
}

.notice-card--good {
    background: color-mix(in oklab, var(--mint) 38%, var(--card));
    border: 1px solid color-mix(in oklab, var(--mint-foreground) 18%, transparent);
}

.notice-card--good .notice-card__icon {
    background: var(--mint);
    color: var(--mint-foreground);
}

.notice-card--good .notice-card__label {
    color: var(--mint-foreground);
}

.notice-card--good h3 {
    color: var(--mint-foreground);
}

.notice-card--good p {
    color: color-mix(in oklab, var(--mint-foreground) 90%, transparent);
}

.notice-card--good a {
    color: var(--mint-foreground);
}

.notice-card--help {
    background: color-mix(in oklab, var(--sky) 38%, var(--card));
    border: 1px solid color-mix(in oklab, var(--sky-foreground) 18%, transparent);
}

.notice-card--help .notice-card__icon {
    background: var(--sky);
    color: var(--sky-foreground);
}

.notice-card--help .notice-card__label {
    color: var(--sky-foreground);
}

.notice-card--help h3 {
    color: var(--sky-foreground);
}

.notice-card--help p {
    color: color-mix(in oklab, var(--sky-foreground) 90%, transparent);
}

.notice-card--help a {
    color: var(--sky-foreground);
}

.notice-card__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 0.75rem;
}

@media (max-width: 480px) {
    .notice-card__actions {
        flex-direction: column;
    }

    .notice-card__actions .btn {
        width: 100%;
    }
}

.permission-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.75rem;
    margin: 1.25rem 0;
}

@media (min-width: 640px) {
    .permission-grid {
        grid-template-columns: 1fr 1fr;
        gap: 1rem;
    }
}

.permission-card {
    border-radius: var(--radius-2xl);
    padding: 1.15rem 1.2rem;
    border: 1px solid var(--border);
    background: var(--card);
}

@media (max-width: 480px) {
    .permission-card {
        padding: 1rem 1rem;
        border-radius: var(--radius-xl);
    }
}

.permission-card h3 {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-family: var(--font-display);
    font-size: 1rem;
    font-weight: 600;
    margin-bottom: 0.75rem;
    margin-top: 0;
    border: none;
    padding: 0;
}

.permission-card h3 svg {
    width: 1.1rem;
    height: 1.1rem;
}

.permission-card ul {
    margin: 0;
    gap: 0.4rem;
}

.permission-card li {
    font-size: 0.875rem;
    padding-left: 1.5rem;
    line-height: 1.5;
}

.permission-card li::before {
    top: 0.55em;
}

.permission-card--allowed {
    background: color-mix(in oklab, var(--mint) 30%, var(--card));
    border-color: color-mix(in oklab, var(--mint-foreground) 22%, transparent);
}

.permission-card--allowed h3 {
    color: var(--mint-foreground);
}

.permission-card--allowed li::before {
    background: var(--mint-foreground);
}

.permission-card--not-allowed {
    background: color-mix(in oklab, var(--rose) 8%, var(--card));
    border-color: color-mix(in oklab, var(--rose) 25%, transparent);
}

.permission-card--not-allowed h3 {
    color: color-mix(in oklab, var(--rose) 85%, black);
}

.permission-card--not-allowed li::before {
    background: color-mix(in oklab, var(--rose) 85%, black);
}

.contact-block {
    text-align: center;
    padding: 1.5rem 1.25rem;
    border-radius: var(--radius-3xl);
    background: linear-gradient(135deg, color-mix(in oklab, var(--sunshine) 40%, var(--card)) 0%, var(--card) 100%);
    border: 1px solid color-mix(in oklab, var(--sunshine-foreground) 18%, transparent);
    margin-top: 2rem;
}

@media (max-width: 480px) {
    .contact-block {
        padding: 1.25rem 1rem;
        margin-top: 1.5rem;
    }

    .contact-block h2 {
        font-size: 1.125rem;
    }

    .contact-block p {
        font-size: 0.875rem;
    }

    .contact-block__actions {
        flex-direction: column;
    }

    .contact-block__actions .btn {
        width: 100%;
    }
}

.contact-block__icon {
    width: 3rem;
    height: 3rem;
    margin: 0 auto 0.75rem;
    border-radius: 1rem;
    background: var(--sunshine);
    color: var(--sunshine-foreground);
    display: flex;
    align-items: center;
    justify-content: center;
}

.contact-block__icon svg {
    width: 1.4rem;
    height: 1.4rem;
}

.contact-block h2 {
    font-family: var(--font-display);
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--sunshine-foreground);
    margin-bottom: 0.4rem;
}

@media (min-width: 640px) {
    .contact-block h2 {
        font-size: 1.5rem;
    }
}

.contact-block p {
    font-size: 0.9375rem;
    line-height: 1.55;
    color: color-mix(in oklab, var(--sunshine-foreground) 88%, transparent);
    max-width: 34rem;
    margin: 0 auto 1rem;
}

.contact-block__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    justify-content: center;
}

.contact-block__email {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    margin-top: 0.75rem;
    font-size: 0.875rem;
    font-weight: 700;
    color: var(--sunshine-foreground);
    word-break: break-word;
}

.contact-block__email svg {
    width: 1rem;
    height: 1rem;
    flex-shrink: 0;
}

.related-policies {
    padding: 2rem 0 2.5rem;
    border-top: 1px solid var(--border);
}

@media (max-width: 480px) {
    .related-policies {
        padding: 1.5rem 0 2rem;
    }
}

.related-policies__title {
    font-family: var(--font-display);
    font-size: 1.0625rem;
    font-weight: 600;
    margin-bottom: 0.75rem;
}

.related-policies__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.5rem;
}

@media (min-width: 640px) {
    .related-policies__grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 0.6rem;
    }
}

@media (min-width: 900px) {
    .related-policies__grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

.related-policy {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.75rem 1rem;
    border-radius: var(--radius-lg);
    background: var(--card);
    border: 1px solid var(--border);
    transition: all 0.2s ease;
    min-height: 3.5rem;
}

@media (max-width: 480px) {
    .related-policy {
        padding: 0.7rem 0.85rem;
    }
}

.related-policy:hover {
    transform: translateY(-2px);
    border-color: color-mix(in oklab, var(--primary) 30%, var(--border));
    box-shadow: 0 12px 24px -12px rgba(0, 0, 0, 0.1);
}

.related-policy__body {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    min-width: 0;
}

.related-policy__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    border-radius: 0.6rem;
    background: color-mix(in oklab, var(--primary) 10%, var(--card));
    color: var(--primary);
    flex-shrink: 0;
}

.related-policy__icon svg {
    width: 0.95rem;
    height: 0.95rem;
}

.related-policy__label {
    font-size: 0.875rem;
    font-weight: 700;
    color: var(--foreground);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.related-policy__arrow {
    color: var(--muted-foreground);
    flex-shrink: 0;
}

.related-policy__arrow svg {
    width: 0.9rem;
    height: 0.9rem;
}

.related-policy.is-current {
    background: color-mix(in oklab, var(--primary) 8%, var(--card));
    border-color: color-mix(in oklab, var(--primary) 40%, var(--border));
    cursor: default;
}

.related-policy.is-current .related-policy__label {
    color: var(--primary);
}

.related-policy.is-current .related-policy__arrow {
    display: none;
}

.related-policy__current-tag {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--primary);
    background: var(--card);
    padding: 0.2rem 0.5rem;
    border-radius: 999px;
}

.site-footer {
    border-top: 1px solid var(--border);
    background: var(--card);
}

.footer-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.5rem;
    padding: 1.5rem 0;
}

@media (min-width: 640px) {
    .footer-grid {
        grid-template-columns: 1fr 1fr;
    }
}

@media (min-width: 768px) {
    .footer-grid {
        grid-template-columns: 2fr 1fr 1fr 1fr;
    }
}

.footer-col {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.footer-col p {
    max-width: 18rem;
    font-size: 0.8125rem;
    line-height: 1.55;
    color: var(--muted-foreground);
}

.footer-col h3 {
    font-family: var(--font-display);
    font-size: 0.8125rem;
    font-weight: 600;
}

.footer-col a,
.footer-col span {
    font-size: 0.8125rem;
    color: var(--muted-foreground);
    transition: color 0.15s;
}

.footer-col a:hover {
    color: var(--foreground);
}

.footer-col .is-current {
    color: var(--primary);
    font-weight: 700;
}

.footer-divider {
    height: 1px;
    background: var(--border);
    margin: 1rem 0;
}

.footer-bottom {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
    padding-bottom: 1.5rem;
    text-align: center;
}

@media (min-width: 640px) {
    .footer-bottom {
        flex-direction: row;
        justify-content: space-between;
    }
}

.footer-bottom p {
    font-size: 0.6875rem;
    color: var(--muted-foreground);
}

.footer-secure {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.6875rem;
    color: var(--muted-foreground);
    font-weight: 500;
}

.footer-secure svg {
    width: 0.9rem;
    height: 0.9rem;
    color: var(--success);
}

@media (prefers-reduced-motion: reduce) {

    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}

@media print {

    .site-header,
    .mobile-drawer,
    .site-footer,
    .toc-mobile,
    .toc-desktop,
    .related-policies,
    .contact-block__actions {
        display: none !important;
    }

    .legal-content {
        max-width: none;
        font-size: 11pt;
        line-height: 1.5;
    }

    .legal-section {
        page-break-inside: avoid;
    }
}
