/* Hallmark · component: legal + consent pages · tone: restrained studio · anchor hue: warm clay */
:root { --ink:#0a0a0a; --paper:#faf9f6; --bone:#f5f3ee; --muted:#5e5e5e; --clay:#b08e62; --line:rgba(10,10,10,.12); --danger:#9b2c2c; --ok:#2e6b46; }
* { box-sizing:border-box; }
html, body { margin:0; min-height:100%; background:var(--paper); color:var(--ink); font-family:Inter,Arial,sans-serif; overflow-x:clip; }
a { color:inherit; text-underline-offset:3px; }
.site-head { display:flex; justify-content:space-between; align-items:center; min-height:68px; padding:0 32px; border-bottom:1px solid var(--line); }
.wordmark { font-family:Anton,Impact,sans-serif; letter-spacing:2px; text-decoration:none; font-size:18px; }
.back { font-size:12px; letter-spacing:1px; text-transform:uppercase; }
main { width:min(760px, calc(100% - 40px)); margin:0 auto; padding:76px 0 92px; }
.kicker { color:var(--clay); font-size:11px; letter-spacing:2px; font-weight:700; text-transform:uppercase; }
h1 { margin:12px 0 16px; font-family:Anton,Impact,sans-serif; font-size:clamp(42px,8vw,72px); font-weight:400; letter-spacing:.5px; line-height:.95; overflow-wrap:anywhere; }
h2 { margin:40px 0 10px; font-size:18px; letter-spacing:.1px; } p, li { color:var(--muted); font-size:16px; line-height:1.7; } ul { padding-left:22px; }
.meta { border-top:1px solid var(--line); border-bottom:1px solid var(--line); color:var(--muted); font-size:13px; line-height:1.55; padding:16px 0; }
.notice { border-left:3px solid var(--clay); background:var(--bone); padding:18px 20px; margin:26px 0; }
.notice p { margin:0; color:var(--ink); font-size:14px; }
form { margin-top:30px; border:1px solid var(--line); padding:26px; background:#fff; }
label { display:block; margin:17px 0 7px; font-size:12px; font-weight:700; letter-spacing:.7px; text-transform:uppercase; } input { width:100%; min-height:46px; padding:11px; border:1px solid var(--line); border-radius:0; font:inherit; } input:focus-visible, button:focus-visible, a:focus-visible { outline:3px solid var(--clay); outline-offset:3px; }
.check { display:flex; gap:10px; align-items:flex-start; margin:22px 0; } .check input { width:18px; min-width:18px; min-height:18px; margin-top:3px; } .check label { margin:0; color:var(--muted); font-size:13px; font-weight:400; letter-spacing:0; line-height:1.55; text-transform:none; }
button { min-height:48px; border:0; padding:0 20px; background:var(--ink); color:var(--bone); cursor:pointer; font:700 12px Inter,Arial,sans-serif; letter-spacing:1.2px; text-transform:uppercase; } button:hover { background:var(--clay); } button:disabled { cursor:wait; opacity:.62; }
.status { min-height:22px; margin:14px 0 0; color:var(--muted); font-size:14px; } .status.error { color:var(--danger); } .status.ok { color:var(--ok); }
footer { padding:26px 32px; border-top:1px solid var(--line); color:var(--muted); font-size:12px; display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; }
@media (max-width:560px) { .site-head { padding:0 20px; } main { width:min(100% - 32px,760px); padding:54px 0 64px; } form { padding:20px; } footer { padding:24px 20px; } }
