html, body { margin: 0; min-height: 100%; background: var(--color-surface); }
body { font-family: var(--font-family-body); color: var(--color-on-surface); }

/* Global link reset for legal pages: prevent browser-default blue/underline
   on navigation, footer and any wrapper anchors. */
a,
a:link,
a:visited {
    color: inherit;
    text-decoration: none;
}

a:hover,
a:focus,
a:focus-visible,
a:active {
    text-decoration: none;
}

.navigation-wrapper a,
.navigation-wrapper a:link,
.navigation-wrapper a:visited,
navigation-wrapper a,
navigation-wrapper a:link,
navigation-wrapper a:visited,
.footer-wrapper a,
.footer-wrapper a:link,
.footer-wrapper a:visited,
footer-wrapper a,
footer-wrapper a:link,
footer-wrapper a:visited,
.footer-section a,
.footer-section a:link,
.footer-section a:visited {
    color: inherit;
    text-decoration: none;
}

.navigation-wrapper a:hover,
.navigation-wrapper a:focus,
.navigation-wrapper a:focus-visible,
.navigation-wrapper a:active,
navigation-wrapper a:hover,
navigation-wrapper a:focus,
navigation-wrapper a:focus-visible,
navigation-wrapper a:active,
.footer-wrapper a:hover,
.footer-wrapper a:focus,
.footer-wrapper a:focus-visible,
.footer-wrapper a:active,
footer-wrapper a:hover,
footer-wrapper a:focus,
footer-wrapper a:focus-visible,
footer-wrapper a:active,
.footer-section a:hover,
.footer-section a:focus,
.footer-section a:focus-visible,
.footer-section a:active {
    text-decoration: none;
}
.legal-main { width: 100%; background: var(--color-surface); }
.legal-container { width: min(100% - 2 * var(--spacing-xl), 980px); margin-inline: auto; padding: calc(var(--spacing-4xl) + 3rem) 0 var(--spacing-4xl); }
.legal-hero { padding-bottom: var(--spacing-2xl); border-bottom: 1px solid var(--color-border); margin-bottom: var(--spacing-2xl); }
.legal-eyebrow, .legal-updated { color: var(--color-on-surface-secondary); font-size: var(--font-size-sm); }
.legal-hero h1 { font-family: var(--font-family-heading); font-size: var(--font-size-4xl); line-height: 1.1; margin: var(--spacing-sm) 0 var(--spacing-md); }
.legal-hero p { max-width: 760px; }
.legal-container section { margin-top: var(--spacing-2xl); }
.legal-container section h2 { font-family: var(--font-family-heading); font-size: var(--font-size-2xl); line-height: 1.25; margin-bottom: var(--spacing-md); }
.legal-container section p, .legal-container section li { font-family: var(--font-family-body); font-size: var(--font-size-base); line-height: 1.75; color: var(--color-on-surface-secondary); }
.legal-container a, .legal-container a:visited { color: var(--color-primary); text-decoration: none; font-weight: var(--font-weight-medium); overflow-wrap: anywhere; }
.legal-container a:hover { color: var(--color-secondary); text-decoration: none; }
.legal-container a:focus-visible, .legal-container a:active { color: var(--color-primary); text-decoration: none; outline: 2px solid var(--color-secondary); outline-offset: 3px; }
.legal-company-card { padding: var(--spacing-2xl); background: var(--color-surface-elevated); border: 1px solid var(--color-border); border-radius: var(--border-radius-lg); }
.legal-company-card h2 { margin-top: 0; }
.legal-company-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--spacing-md) var(--spacing-xl); }
.legal-company-grid > div { display: flex; flex-direction: column; gap: .25rem; min-width: 0; }
.legal-company-grid span { color: var(--color-on-surface-secondary); font-size: var(--font-size-sm); }
.legal-company-grid strong { font-weight: var(--font-weight-medium); overflow-wrap: anywhere; }
.footer-section { width: 100%; }
@media (max-width: 767px) {
    .legal-container { width: min(100% - 2 * var(--spacing-lg), 980px); padding-top: calc(var(--spacing-3xl) + 3rem); }
    .legal-company-card { padding: var(--spacing-lg); }
    .legal-company-grid { grid-template-columns: 1fr; }
    .legal-container section h2, .legal-hero h1 { overflow-wrap: anywhere; word-break: break-word; white-space: normal; }
}
@media (max-width: 479px) {
    .legal-container { width: min(100% - 2 * var(--spacing-md), 980px); }
}