:root{
  --cream:#F5F0E6; --white:#FFFFFF; --field:#EFEADD; --line:#DFD8C8;
  --dark:#18130F; --dark-2:#211A13; --dark-line:#3A3128;
  --ink:#1B1712; --ink-muted:#6E6759;
  --cream-ink:#F3EDE1; --cream-muted:#A79E8C;
  --coral:#D2896A; --coral-deep:#C67B5B; --coral-ink:#1B1712;
  --radius:3px;
}
*,*::before,*::after{ box-sizing:border-box; }
body{ margin:0; background:var(--cream); color:var(--ink); font-family:"Inter",system-ui,sans-serif; line-height:1.65; -webkit-font-smoothing:antialiased; }
a{ color:inherit; }
h1,h2,h3,.display{ font-family:"Playfair Display",Georgia,serif; font-weight:700; margin:0; }
.wrap{ max-width:760px; margin-inline:auto; padding-inline:clamp(18px,4vw,40px); }
:focus-visible{ outline:2.5px solid var(--coral-deep); outline-offset:3px; }

header{ background:var(--cream); border-bottom:1px solid var(--line); }
.nav-row{ max-width:1180px; margin-inline:auto; padding:16px clamp(18px,4vw,40px); display:flex; align-items:center; justify-content:space-between; gap:16px; }
.brand{ font-family:"Inter",sans-serif; font-weight:800; font-size:1.2rem; text-decoration:none; letter-spacing:-.01em; }
.brand em{ font-style:normal; color:var(--coral-deep); }
.back-link{ text-decoration:none; font-size:.9rem; font-weight:600; color:var(--ink-muted); }
.back-link:hover{ color:var(--coral-deep); }

main{ padding-block:clamp(44px,7vw,76px); }
.eyebrow{ font-size:.78rem; font-weight:700; letter-spacing:.09em; text-transform:uppercase; color:var(--coral-deep); margin-bottom:14px; }
h1.page-title{ font-size:clamp(1.9rem,1.6rem + 1.1vw,2.6rem); line-height:1.1; margin-bottom:10px; }
.updated{ color:var(--ink-muted); font-size:.9rem; margin-bottom:0; }

.notice{ background:var(--field); border:1px solid var(--line); border-left:4px solid var(--coral-deep); border-radius:var(--radius); padding:18px 22px; margin:32px 0 40px; font-size:.95rem; color:var(--ink); }
.notice strong{ display:block; margin-bottom:4px; }

.legal-body h2{ font-size:1.25rem; margin-top:42px; margin-bottom:12px; }
.legal-body h2:first-of-type{ margin-top:0; }
.legal-body p{ margin:0 0 14px; color:var(--ink); }
.legal-body p.lead{ font-style:italic; color:var(--ink-muted); margin-bottom:30px; }
.legal-body ul{ margin:0 0 14px; padding-left:22px; }
.legal-body li{ margin-bottom:6px; }
.legal-body .todo{ color:var(--coral-deep); font-style:italic; }

footer{ background:var(--cream); border-top:1px solid var(--line); padding-block:32px; }
.footer-row{ max-width:1180px; margin-inline:auto; padding-inline:clamp(18px,4vw,40px); display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:16px; }
.footer-links{ display:flex; gap:22px; flex-wrap:wrap; font-size:.86rem; }
.footer-links a{ text-decoration:none; color:var(--ink-muted); }
.footer-links a:hover{ color:var(--ink); }
.copyright{ font-size:.86rem; color:var(--ink-muted); }
.footer-contact{ max-width:1180px; margin-inline:auto; padding-inline:clamp(18px,4vw,40px); display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin-top:16px; padding-top:16px; border-top:1px solid var(--line); font-size:.86rem; color:var(--ink-muted); }
.footer-contact-label{ font-weight:700; letter-spacing:.06em; text-transform:uppercase; font-size:.74rem; color:var(--coral-deep); }
.footer-contact a{ text-decoration:none; color:var(--ink-muted); }
.footer-contact a:hover{ color:var(--ink); }
.footer-contact-sep{ color:var(--line); }
.footer-legal{ margin-top:10px; padding-top:10px; font-size:.78rem; }
