.legal-page { background: #101010; color: #f8f8f6; }
.legal-main { padding: calc(var(--header-h) + clamp(3rem, 5vw, 7rem)) var(--gutter) clamp(4rem, 6vw, 8rem); }
.legal-heading { max-width: 70rem; margin-bottom: clamp(2.5rem, 4vw, 5rem); }
.legal-heading .eyebrow { color: #aaa; margin: 0 0 1rem; }
.legal-heading h1 { margin: 0; font-size: clamp(3rem, 6vw, 10rem); line-height: 1.02; font-weight: 500; letter-spacing: -.055em; }
.legal-heading .legal-deck { max-width: 50ch; color: #bbb; font-size: clamp(1.05rem, 1vw, 1.6rem); line-height: 1.65; margin: 1.5rem 0 0; }
.legal-date { color: #999; font-size: clamp(.8rem, .6vw, 1rem); margin: 1rem 0 0; }
.legal-layout { display: grid; grid-template-columns: minmax(12rem, .7fr) minmax(0, 2fr); gap: clamp(3rem, 6vw, 10rem); align-items: start; }
.legal-toc { position: sticky; top: calc(var(--header-h) + 2rem); display: grid; gap: .65rem; padding-top: .3rem; }
.legal-toc a { font-size: clamp(.95rem, .75vw, 1.3rem); line-height: 1.5; color: #aaa; padding: .35rem 0; }
.legal-toc a:hover, .legal-body a:hover { color: #c45117; }
.legal-body { max-width: 78rem; min-width: 0; }
.legal-body section { margin-bottom: clamp(2.5rem, 3vw, 4.5rem); scroll-margin-top: calc(var(--header-h) + 2rem); }
.legal-body h2 { font-size: clamp(1.65rem, 2vw, 3.5rem); line-height: 1.15; letter-spacing: -.035em; font-weight: 500; margin: 0 0 1rem; }
.legal-body p, .legal-body li { max-width: 70ch; font-size: clamp(1rem, .85vw, 1.5rem); line-height: 1.75; color: #bbb; }
.legal-body p { margin: 0 0 1rem; }
.legal-body ul { margin: 1rem 0; padding-left: 1.3rem; }
.legal-body li + li { margin-top: .65rem; }
.legal-body a { color: #eee; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .2em; overflow-wrap: anywhere; }
.legal-inline-button { font: inherit; color: #eee; border: 0; padding: 0; background: transparent; text-decoration: underline; text-underline-offset: .2em; cursor: pointer; }
.contact-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(2rem, 4vw, 6rem); }
.contact-card { border-top: 1px solid #333; padding-top: 1.75rem; min-width: 0; }
.contact-card h2 { font-size: clamp(1.65rem, 2vw, 3rem); font-weight: 500; letter-spacing: -.035em; margin: 0 0 1rem; }
.contact-card p { color: #bbb; font-size: clamp(1rem, .85vw, 1.4rem); line-height: 1.7; max-width: 45ch; }
.contact-card a { display: inline-flex; min-height: 44px; align-items: center; color: #eee; overflow-wrap: anywhere; word-break: break-word; font-size: clamp(1rem, .8vw, 1.3rem); }
.contact-card a:hover { color: #c45117; }
@media (max-width: 900px) { .legal-layout { grid-template-columns: 1fr; gap: 2.5rem; } .legal-toc { position: static; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .25rem 1.5rem; } .legal-toc a { min-height: 44px; display: flex; align-items: center; } .contact-grid { grid-template-columns: 1fr; gap: 2.5rem; } }
@media (max-width: 650px) { .legal-main { padding-top: calc(var(--header-h) + 2.5rem); } .legal-heading h1 { font-size: clamp(2.75rem, 12vw, 4rem); } .legal-toc { grid-template-columns: 1fr 1fr; } }

/* Restrained document layout, with the details one click from the footer. */
.legal-main { width: min(100%, clamp(48rem, 36vw, 66rem)); margin-inline: auto; padding-top: calc(var(--header-h) + clamp(2.5rem, 4vw, 6rem)); }
.legal-heading { margin-bottom: clamp(2rem, 2.5vw, 3.5rem); }
.legal-heading h1 { font-size: clamp(1.75rem, 1.35vw, 2.75rem); line-height: 1.2; letter-spacing: -.025em; }
.legal-heading .legal-deck { font-size: clamp(1rem, .55vw, 1.25rem); margin-top: 1rem; }
.legal-settings { margin: .65rem 0 0; font-size: clamp(.875rem, .5vw, 1.125rem); }
.legal-settings button { min-height: 44px; text-align: left; }
.legal-date { font-size: clamp(.8rem, .45vw, 1rem); margin-top: .75rem; }
.legal-layout { display: block; }
.legal-body section { margin-bottom: clamp(1.75rem, 2vw, 2.75rem); }
.legal-body h2 { font-size: clamp(1.125rem, .75vw, 1.65rem); line-height: 1.4; letter-spacing: -.015em; margin-bottom: .75rem; }
.legal-body p, .legal-body li { max-width: none; font-size: clamp(.95rem, .55vw, 1.25rem); line-height: 1.8; }
.contact-grid { grid-template-columns: 1fr; gap: 2rem; }
.contact-card h2 { font-size: clamp(1.2rem, .8vw, 1.75rem); }
.contact-card p, .contact-card a { font-size: clamp(.95rem, .55vw, 1.25rem); }
@media (max-width: 650px) { .legal-main { width: 100%; } .legal-heading h1 { font-size: 1.75rem; } }
