.legal-page {
    min-height: 100vh;
    min-height: 100dvh;
    background: var(--app-bg);
    color: var(--app-text);
    padding-block: 48px;
}

.legal-shell {
    width: min(760px, 100%);
    margin-inline: auto;
    padding-inline: 20px;
}

.legal-brand {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 28px;
}

.legal-brand img {
    height: 40px;
    width: auto;
}

.legal-panel {
    background: var(--app-panel-solid);
    border: 1px solid var(--app-border);
    border-radius: 12px;
    box-shadow: var(--app-shadow);
    padding: 32px clamp(20px, 5vw, 48px) 44px;
}

.legal-panel h1 {
    margin: 0 0 6px;
    font-size: 26px;
    font-weight: 800;
    color: var(--app-text);
}

.legal-updated {
    margin: 0 0 28px;
    font-size: 13px;
    font-weight: 700;
    color: var(--app-muted);
}

.legal-panel h2 {
    margin: 32px 0 10px;
    font-size: 16px;
    font-weight: 800;
    color: var(--app-primary-strong);
}

.legal-panel h2:first-of-type {
    margin-top: 0;
}

.legal-panel p,
.legal-panel li {
    font-size: 14.5px;
    line-height: 1.65;
    color: var(--app-text);
}

.legal-panel ul {
    margin: 8px 0;
    padding-left: 20px;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.legal-panel a {
    color: var(--app-primary-strong);
    font-weight: 700;
}

.legal-back {
    display: inline-block;
    margin-top: 28px;
    font-size: 13px;
    font-weight: 700;
    color: var(--app-muted);
}
