:root { --paper: #f3f0e9; --ink: #20231f; --muted: #65675f; --gold: #c9ae7c; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: Arial, Helvetica, sans-serif; -webkit-text-size-adjust: 100%; }
a { color: inherit; text-underline-offset: .22em; }
a:hover { text-decoration-thickness: 2px; }
a:focus-visible { outline: 2px solid currentColor; outline-offset: 5px; }
.skip-link { position: absolute; top: -10rem; left: 1.5rem; z-index: 10; padding: 1rem; background: var(--paper); }
.skip-link:focus { top: 1rem; }
.policy-header { display: flex; align-items: center; justify-content: space-between; gap: 2rem; padding: 2rem clamp(1.25rem, 5vw, 5rem); border-bottom: 1px solid #20231f26; }
.policy-brand { display: inline-flex; align-items: center; gap: .8rem; text-decoration: none; }
.policy-brand img { width: 62px; height: auto; flex-shrink: 0; }
.policy-brand span { font-size: clamp(.72rem, 1.15vw, 1rem); line-height: 1.25; font-weight: 700; letter-spacing: .16em; }
.policy-brand b, .policy-footer-brand span { color: var(--gold); }
.policy-header nav { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 1.5rem; font-size: .72rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.policy-main { max-width: 850px; margin: auto; padding: clamp(3rem, 7vw, 6rem) 1.5rem 6rem; }
h1, h2 { font-family: Georgia, 'Times New Roman', serif; font-weight: 400; }
h1 { margin: 0; font-size: clamp(2.6rem, 6vw, 4.4rem); line-height: 1.08; letter-spacing: -.035em; }
.policy-updated { margin: 1.25rem 0 3.5rem; color: var(--muted); font-size: .84rem; }
.policy-main section { margin: 0 0 2.4rem; scroll-margin-top: 2rem; }
h2 { margin: 0 0 .85rem; font-size: clamp(1.55rem, 3vw, 1.9rem); line-height: 1.2; }
.policy-main section p, .policy-main li { font-size: 1rem; line-height: 1.75; overflow-wrap: anywhere; }
.policy-main section p { margin: 0 0 1rem; }
.policy-main ul { padding-left: 1.3rem; }
.policy-main li { padding: .2rem 0; }
.policy-footer { background: #171a17; color: var(--paper); display: flex; align-items: flex-start; justify-content: space-between; gap: 2rem; padding: 3rem clamp(1.5rem, 4vw, 4rem); }
.policy-footer-brand { font-size: .95rem; font-weight: 800; letter-spacing: .1em; text-decoration: none; }
.policy-footer p { color: #b1b4ab; margin: 0; max-width: 24rem; font-size: .85rem; line-height: 1.65; }
.policy-footer nav { display: grid; gap: .8rem; text-align: right; font-size: .72rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
@media (max-width: 700px) {
  .policy-header { gap: 1rem; padding-block: 1.3rem; }
  .policy-brand { gap: .5rem; }
  .policy-brand img { width: 42px; }
  .policy-header nav { font-size: .62rem; gap: .8rem; max-width: 7rem; }
  .policy-main { padding: 3rem 1.25rem; }
  .policy-footer { flex-direction: column; }
  .policy-footer nav { text-align: left; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }