/* Legal and policy pages — plain, readable, printable. */

:root {
    --legal-paper: #fffdf7;
    --legal-ink: #1d2a24;
    --legal-muted: #5d6d64;
    --legal-line: #e2dccd;
    --legal-accent: #8a3d12;
}

* { box-sizing: border-box; }

body.legal-body {
    margin: 0;
    background: var(--legal-paper);
    color: var(--legal-ink);
    font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 16px;
    line-height: 1.65;
    -webkit-font-smoothing: antialiased;
}

.legal-header {
    border-bottom: 1px solid var(--legal-line);
    background: #fff;
}

.legal-wrap {
    width: min(820px, calc(100% - 2.5rem));
    margin-inline: auto;
}

.legal-header .legal-wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: .9rem 0;
}

.legal-brand {
    font-weight: 700;
    font-size: 1.05rem;
    color: var(--legal-ink);
    text-decoration: none;
    letter-spacing: -.01em;
}

.legal-header nav {
    display: flex;
    gap: 1rem;
    font-size: .85rem;
    flex-wrap: wrap;
}

.legal-header nav a { color: var(--legal-muted); text-decoration: none; }
.legal-header nav a:hover { color: var(--legal-ink); text-decoration: underline; }

main.legal-main { padding: 2.5rem 0 4rem; }

.legal-main h1 {
    font-family: "Fraunces", Georgia, serif;
    font-size: 2.1rem;
    line-height: 1.15;
    margin: 0 0 .35rem;
    letter-spacing: -.01em;
}

.legal-effective {
    color: var(--legal-muted);
    font-size: .85rem;
    margin: 0 0 2rem;
}

.legal-main h2 {
    font-family: "Fraunces", Georgia, serif;
    font-size: 1.25rem;
    margin: 2.2rem 0 .6rem;
    letter-spacing: -.005em;
}

.legal-main h3 {
    font-size: 1rem;
    margin: 1.4rem 0 .4rem;
}

.legal-main p, .legal-main li { margin: 0 0 .8rem; }
.legal-main ul, .legal-main ol { padding-left: 1.3rem; }

.legal-main a { color: var(--legal-accent); }

.legal-note {
    border-left: 3px solid var(--legal-accent);
    background: #fff;
    padding: .9rem 1.1rem;
    margin: 0 0 2rem;
    font-size: .92rem;
}

.legal-note strong { display: block; margin-bottom: .25rem; }

.legal-table {
    width: 100%;
    border-collapse: collapse;
    font-size: .9rem;
    margin: 0 0 1.2rem;
}

.legal-table th, .legal-table td {
    border: 1px solid var(--legal-line);
    padding: .5rem .65rem;
    text-align: left;
    vertical-align: top;
}

.legal-table th { background: #f6f1e6; }

.legal-back {
    display: inline-block;
    margin-top: 3rem;
    font-size: .9rem;
}

.legal-footer {
    border-top: 1px solid var(--legal-line);
    padding: 1.5rem 0 2rem;
    font-size: .8rem;
    color: var(--legal-muted);
}

.legal-footer .legal-wrap {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
    justify-content: space-between;
}

.legal-footer nav { display: flex; gap: 1rem; flex-wrap: wrap; }
.legal-footer a { color: var(--legal-muted); text-decoration: none; }
.legal-footer a:hover { text-decoration: underline; }

@media print {
    .legal-header, .legal-footer, .legal-back { display: none; }
    body.legal-body { background: #fff; }
    .legal-wrap { width: 100%; }
    main.legal-main { padding: 0; }
}
