*, *::before, *::after { box-sizing: border-box; }
:root { --paper:#f2f2f2; --cream:#e5ddd0; --ink:#1a1a1a; --muted:#655d54; --accent:#7a6e60; --line:#d6cebc; }
body { margin:0; color:var(--ink); background:var(--paper); font:400 16px/1.75 Inter, sans-serif; }
a { color:var(--accent); text-underline-offset:3px; }
.site-header { background:#111; border-bottom:1px solid #302d29; }
.nav { width:min(1120px, calc(100% - 40px)); min-height:74px; margin:auto; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.brand img { display:block; width:155px; max-height:54px; object-fit:contain; filter:brightness(0) invert(1); }
.back { color:#fff; font-size:.78rem; letter-spacing:.12em; text-decoration:none; text-transform:uppercase; }
.hero { background:var(--cream); border-bottom:1px solid var(--line); padding:72px 20px 60px; }
.hero-inner, main { width:min(820px, 100%); margin:auto; }
.eyebrow { margin:0 0 10px; color:var(--accent); font-size:.72rem; font-weight:600; letter-spacing:.18em; text-transform:uppercase; }
h1 { margin:0; font:600 clamp(2.8rem, 7vw, 4.8rem)/.98 "Cormorant Garamond", serif; }
.updated { margin:18px 0 0; color:var(--muted); font-size:.86rem; }
main { padding:54px 20px 80px; }
.policy-card { padding:clamp(24px, 5vw, 42px); background:#fff; border:1px solid var(--line); border-left:4px solid var(--accent); }
.policy-card p { margin:0; color:var(--muted); font-size:1.05rem; }
.contact { margin-top:32px; padding-top:26px; border-top:1px solid var(--line); }
.contact h2 { margin:0 0 8px; font:600 1.55rem/1.2 "Cormorant Garamond", serif; }
.contact p { margin:5px 0; color:var(--muted); }
.policy-links { margin-top:30px !important; font-size:.9rem !important; }
.policy-links a + a::before { content:"·"; display:inline-block; margin:0 10px; color:var(--muted); }
[data-load-error] { margin-top:20px !important; color:#8b3028 !important; }
footer { padding:28px 20px; color:var(--muted); background:#e8e8e8; border-top:1px solid var(--line); text-align:center; font-size:.78rem; }
@media (max-width:540px) { .nav{width:min(100% - 28px, 1120px)} .brand img{width:125px} .back{font-size:.67rem;letter-spacing:.08em} .hero{padding:50px 18px 44px} main{padding:34px 16px 60px} }
