:root {
    --legal-primary: #a90003;
    --legal-primary-dark: #780002;
    --legal-text: #142033;
    --legal-muted: #5b6678;
    --legal-border: #d9dee8;
    --legal-surface: #ffffff;
    --legal-background: #f5f7fb;
    --legal-band: #eef2f8;
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

html,
body {
    margin: 0;
    min-height: 100%;
}

body {
    min-height: 100vh;
    font-family: "Geist", Arial, sans-serif;
    color: var(--legal-text);
    background: var(--legal-background);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

a {
    color: var(--legal-primary);
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}

a:hover {
    color: var(--legal-primary-dark);
}

*:focus-visible {
    outline: 2px solid var(--legal-primary);
    outline-offset: 2px;
}

.legal-header {
    position: sticky;
    top: 0;
    z-index: 10;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 16px clamp(20px, 4vw, 56px);
    border-bottom: 1px solid var(--legal-border);
    background: rgba(255, 255, 255, 0.96);
}

.legal-header__brand {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
    color: var(--legal-text);
    font-size: 15px;
    font-weight: 700;
    text-decoration: none;
}

.legal-header__brand img {
    width: 42px;
    height: 42px;
    flex: 0 0 auto;
    object-fit: contain;
}

.legal-header__brand span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.legal-header__nav {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px 18px;
}

.legal-header__nav a,
.legal-footer a {
    color: var(--legal-muted);
    font-size: 13px;
    font-weight: 650;
    text-decoration: none;
}

.legal-header__nav a:hover,
.legal-footer a:hover {
    color: var(--legal-primary);
    text-decoration: underline;
}

.legal-page {
    width: min(100%, 980px);
    margin: 0 auto;
    padding: clamp(28px, 6vw, 72px) 20px;
}

.legal-document {
    display: grid;
    gap: 28px;
}

.legal-document__header {
    padding-bottom: 24px;
    border-bottom: 1px solid var(--legal-border);
}

.legal-document__eyebrow {
    margin: 0 0 10px;
    color: var(--legal-primary);
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
}

.legal-document h1 {
    margin: 0;
    color: var(--legal-text);
    font-size: clamp(32px, 6vw, 56px);
    line-height: 1.02;
    font-weight: 800;
}

.legal-document__header p {
    max-width: 760px;
    margin: 18px 0 0;
    color: var(--legal-muted);
    font-size: 18px;
    line-height: 1.55;
}

.legal-section {
    padding: 24px;
    border: 1px solid var(--legal-border);
    border-radius: 8px;
    background: var(--legal-surface);
}

.legal-section h2,
.legal-summary-grid h2 {
    margin: 0 0 12px;
    color: var(--legal-text);
    font-size: 18px;
    line-height: 1.3;
    font-weight: 760;
}

.legal-section p,
.legal-section li,
.legal-summary-grid p,
.legal-definition-list dd {
    color: var(--legal-muted);
    font-size: 15px;
    line-height: 1.65;
}

.legal-section p {
    margin: 0;
}

.legal-section p + p,
.legal-section ul + p,
.legal-section p + ul {
    margin-top: 14px;
}

.legal-section p + .legal-definition-list {
    margin-top: 16px;
}

.legal-section ul {
    margin: 0;
    padding-left: 20px;
}

.legal-section li + li {
    margin-top: 8px;
}

.legal-definition-list {
    display: grid;
    gap: 12px;
    margin: 0;
}

.legal-definition-list div {
    display: grid;
    grid-template-columns: minmax(120px, 180px) 1fr;
    gap: 14px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--legal-border);
}

.legal-definition-list div:last-child {
    padding-bottom: 0;
    border-bottom: 0;
}

.legal-definition-list dt {
    color: var(--legal-text);
    font-size: 13px;
    line-height: 1.6;
    font-weight: 760;
    text-transform: uppercase;
}

.legal-definition-list dd {
    margin: 0;
}

.legal-summary-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.legal-summary-grid > div {
    min-width: 0;
    padding: 22px;
    border: 1px solid var(--legal-border);
    border-radius: 8px;
    background: var(--legal-band);
}

.legal-summary-grid p {
    margin: 0;
}

.legal-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 20px clamp(20px, 4vw, 56px);
    border-top: 1px solid var(--legal-border);
    color: var(--legal-muted);
    background: var(--legal-surface);
    font-size: 13px;
    font-weight: 600;
}

.legal-footer__nav {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px 16px;
}

.legal-footer__nav a {
    color: var(--legal-muted);
    font-size: 13px;
    font-weight: 650;
    text-decoration: none;
}

.legal-footer__nav a:hover {
    color: var(--legal-primary);
    text-decoration: underline;
    text-underline-offset: 3px;
}

@media (max-width: 760px) {
    .legal-header {
        position: static;
        align-items: flex-start;
        flex-direction: column;
        gap: 14px;
    }

    .legal-header__nav {
        justify-content: flex-start;
    }

    .legal-section {
        padding: 20px;
    }

    .legal-definition-list div,
    .legal-summary-grid {
        grid-template-columns: 1fr;
    }

    .legal-footer {
        align-items: flex-start;
        flex-direction: column;
    }

    .legal-footer__nav {
        justify-content: flex-start;
    }
}
