/* =========================================================
   Legal pages — Warm Vinyl aesthetic, reading layout
   ========================================================= */
*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }

:root {
    --paper:      #1a1410;
    --paper-deep: #120d0a;
    --card:       #241a14;
    --card-edge:  #3a2a20;
    --ink:        #f4e8d4;
    --ink-soft:   #c9b89a;
    --ink-faint:  #8a7a64;
    --rust:       #e8906a;
    --rust-deep:  #f4b089;
    --ochre:      #d4a857;
    --ochre-ink:  #e0b868;

    --font-display: 'Fraunces', 'Iowan Old Style', Georgia, serif;
    --font-body:    'Instrument Sans', -apple-system, BlinkMacSystemFont, sans-serif;

    --ease: cubic-bezier(0.22, 0.61, 0.36, 1);
}

html { background: var(--paper); }
body {
    font-family: var(--font-body);
    font-size: 17px;
    background: var(--paper);
    color: var(--ink);
    line-height: 1.72;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}

body::before, body::after {
    content: ""; position: fixed; inset: 0; pointer-events: none; z-index: 0;
}
body::before {
    background:
        radial-gradient(1200px 800px at 70% -10%, rgba(232, 144, 106, 0.18), transparent 60%),
        radial-gradient(900px 700px at -10% 30%, rgba(212, 168, 87, 0.10), transparent 60%),
        radial-gradient(1400px 900px at 50% 120%, rgba(122, 150, 112, 0.08), transparent 65%);
    mix-blend-mode: screen;
}
body::after {
    opacity: 0.3;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 220 220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.7' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.95  0 0 0 0 0.85  0 0 0 0 0.7  0 0 0 0.45 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
    background-size: 220px 220px;
    mix-blend-mode: overlay;
}
body > * { position: relative; z-index: 1; }

::selection { background: rgba(232, 144, 106, 0.3); color: var(--ink); }

/* Back link at top */
.back-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: var(--font-body);
    font-size: 0.78rem;
    font-weight: 500;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--ink-soft);
    text-decoration: none;
    padding: 10px 0;
    margin-bottom: 48px;
    transition: color 300ms var(--ease);
}
.back-link:hover { color: var(--ink); }
.back-link::before { content: "←"; color: var(--rust); }

/* Main reading container */
main {
    max-width: 720px;
    margin: 0 auto;
    padding: 80px 28px 120px;
}

h1 {
    font-family: var(--font-display);
    font-size: clamp(2.4rem, 5vw, 3.4rem);
    font-weight: 400;
    letter-spacing: -0.022em;
    line-height: 1.08;
    margin-bottom: 8px;
    color: var(--ink);
    font-variation-settings: "opsz" 144, "SOFT" 80;
}
h1 .emphasis {
    font-style: italic;
    color: var(--rust-deep);
    font-weight: 380;
}

.meta {
    font-family: var(--font-body);
    font-size: 0.78rem;
    font-weight: 500;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--ochre-ink);
    margin-bottom: 56px;
}
.meta::before {
    content: "";
    display: inline-block;
    width: 28px; height: 1px;
    background: var(--ochre);
    opacity: 0.7;
    vertical-align: middle;
    margin-right: 10px;
}

h2 {
    font-family: var(--font-display);
    font-size: 1.6rem;
    font-weight: 500;
    letter-spacing: -0.018em;
    line-height: 1.15;
    color: var(--ink);
    margin: 56px 0 18px;
    font-variation-settings: "opsz" 60, "SOFT" 60;
}

h3 {
    font-family: var(--font-body);
    font-size: 0.92rem;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--ochre-ink);
    margin: 32px 0 12px;
}

p, li {
    font-family: var(--font-body);
    font-size: 1.02rem;
    color: var(--ink-soft);
    line-height: 1.78;
    margin-bottom: 18px;
}

ul, ol { padding-left: 1.4em; margin-bottom: 18px; }
li { margin-bottom: 8px; }

a {
    color: var(--rust-deep);
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
    transition: color 260ms var(--ease);
}
a:hover { color: var(--ochre); }

strong { color: var(--ink); font-weight: 500; }
code, kbd {
    font-family: ui-monospace, SF Mono, monospace;
    font-size: 0.92em;
    background: var(--card);
    border: 1px solid var(--card-edge);
    padding: 1px 6px;
    border-radius: 3px;
    color: var(--ink);
}

.rule {
    border: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, color-mix(in oklab, var(--ink-faint) 40%, transparent), transparent);
    margin: 64px 0;
}

footer {
    max-width: 720px;
    margin: 0 auto;
    padding: 0 28px 60px;
    text-align: center;
}
footer p {
    font-family: var(--font-body);
    font-size: 0.72rem;
    font-weight: 500;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--ink-faint);
}
footer a { color: var(--ink-soft); text-decoration: none; margin: 0 10px; }
footer a:hover { color: var(--ink); }

@media (prefers-reduced-motion: reduce) {
    * { transition: none !important; animation: none !important; }
}
