/* Legal text pages (imprint / privacy / terms) — reading typography on redesign tokens. */

.legal-sec { padding: 64px 0 92px; }

/* full content width: no own cap, the .wrap container (1180px) limits */

.legal-copy {
    color: var(--text-mid);
    font-size: 1.05rem;
    line-height: 1.7;
}

.legal-copy h1,
.legal-copy h2 {
    font-size: clamp(1.5rem, 2.6vw, 2rem);
    line-height: 1.1;
    margin: 48px 0 16px;
}
.legal-copy h3 { font-size: 1.25rem; margin: 36px 0 12px; }
.legal-copy h4,
.legal-copy h5 {
    font-family: var(--f-body-bold);
    font-size: 1.05rem;
    color: var(--ink);
    margin: 28px 0 8px;
}
.legal-copy > h1:first-child,
.legal-copy > h2:first-child,
.legal-copy > h3:first-child { margin-top: 0; }

.legal-copy p { margin: 0 0 16px; }
.legal-copy ul,
.legal-copy ol { margin: 0 0 16px; padding-left: 22px; }
.legal-copy li { margin-bottom: 6px; }

.legal-copy a { color: var(--blue-dark); text-decoration: none; }
.legal-copy a:hover { text-decoration: underline; }

.legal-copy b,
.legal-copy strong { font-family: var(--f-body-bold); font-weight: 400; color: var(--ink); }

.legal-copy hr { border: 0; border-top: 1px solid var(--border); margin: 36px 0; }

.legal-copy table { width: 100%; border-collapse: collapse; margin: 0 0 24px; }
.legal-copy th,
.legal-copy td { border: 1px solid var(--border); padding: 10px 14px; text-align: left; vertical-align: top; }
.legal-copy th { font-family: var(--f-body-bold); color: var(--ink); background: var(--cream-band); }

@media (max-width: 760px) {
    .legal-sec { padding: 40px 0 64px; }
}
