:root { font-family: Arial, sans-serif; color: #172229; background: #f6f8f7; }
* { box-sizing: border-box; }
body { margin: 0; }
a { color: #176851; }
.legal-shell { width: min(100% - 40px, 760px); margin: 0 auto; padding: 46px 0 72px; }
.legal-brand { display: inline-flex; align-items: center; gap: 9px; margin-bottom: 44px; color: #172229; font-size: 14px; font-weight: 700; text-decoration: none; }
.legal-brand span { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 6px; background: #1d3038; color: #f4bf59; font: 13px monospace; }
.legal-kicker { margin: 0 0 11px; color: #8c6d38; font: 11px monospace; text-transform: uppercase; }
h1 { margin: 0 0 12px; font-size: 37px; line-height: 1.1; }
h2 { margin: 36px 0 10px; font-size: 20px; }
p, li { color: #53626a; font-size: 15px; line-height: 1.7; }
li { margin: 7px 0; }
.legal-meta { color: #7f8c92; font-size: 13px; }
.legal-nav { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 44px; padding-top: 22px; border-top: 1px solid #dfe5e3; font-size: 13px; }
.unsubscribe-form { max-width: 440px; display: grid; gap: 10px; margin-top: 26px; }
label { color: #4e5e65; font-size: 13px; font-weight: 700; }
input { width: 100%; height: 44px; border: 1px solid #cfd9d6; border-radius: 6px; padding: 0 12px; background: #fff; color: #172229; font: inherit; }
button { height: 44px; border: 1px solid #1d3038; border-radius: 6px; background: #1d3038; color: #fff; font: 700 13px Arial, sans-serif; cursor: pointer; }
button:disabled { cursor: wait; opacity: .7; }
#status { min-height: 24px; margin: 5px 0 0; font-size: 13px; }
#status.error { color: #9d4f46; }
@media (max-width: 600px) { .legal-shell { width: min(100% - 32px, 760px); padding-top: 30px; } h1 { font-size: 30px; } }
