:root { color-scheme: light; --ink: #302926; --muted: #665a55; --accent: #765347; --line: #e6dcd6; --paper: #faf7f4; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font: 16px/1.7 system-ui, -apple-system, "Segoe UI", sans-serif; }
a { color: #795344; text-underline-offset: .2em; overflow-wrap: anywhere; }
a:focus-visible { outline: 3px solid #795344; outline-offset: 5px; border-radius: 3px; }
.policy-skip { position: absolute; top: -5rem; left: 1rem; padding: .7rem 1rem; background: white; z-index: 2; }
.policy-skip:focus { top: 1rem; }
.policy-header { max-width: 1120px; margin: auto; padding: 1.5rem 2rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; border-bottom: 1px solid var(--line); }
.policy-brand { display: flex; align-items: center; gap: .8rem; color: var(--ink); font-weight: 750; text-decoration: none; font-size: 1.15rem; }
.policy-header > span { color: var(--muted); font-size: .88rem; }
.policy-main { max-width: 900px; margin: 0 auto; padding: 3.5rem 2rem 2rem; }
.policy-eyebrow { color: var(--accent); text-transform: uppercase; letter-spacing: .13em; font-weight: 700; font-size: .75rem; margin: 0 0 1rem; }
h1 { font-size: clamp(2.2rem, 5vw, 3.4rem); line-height: 1.12; letter-spacing: -.04em; max-width: 700px; margin: 0; }
.policy-intro { max-width: 670px; color: var(--muted); font-size: 1.08rem; margin: 1.35rem 0 1.8rem; }
.policy-nav { display: flex; gap: .7rem; flex-wrap: wrap; margin-bottom: 2rem; }
.policy-nav a { border: 1px solid var(--line); border-radius: 100px; padding: .6rem 1rem; background: white; text-decoration: none; font-size: .9rem; font-weight: 650; }
.policy-nav a[aria-current="page"] { background: var(--accent); border-color: var(--accent); color: white; }
.policy-card { background: white; border: 1px solid var(--line); border-radius: 20px; padding: clamp(1.3rem, 4vw, 2.5rem); box-shadow: 0 10px 35px #45322705; }
.policy-card h2 { font-size: 1.25rem; line-height: 1.35; margin: 2.2rem 0 .8rem; letter-spacing: -.015em; }
.policy-card h2:first-child { margin-top: 0; }
.policy-card p { margin: .7rem 0; }
.policy-card ul, .policy-card ol { padding-left: 1.4rem; }
.policy-card li { padding-left: .25rem; margin-bottom: .8rem; }
.policy-steps li { margin-bottom: 1.7rem; }
.policy-steps li::marker { color: var(--accent); font-weight: 750; }
.policy-note { background: var(--paper); border-left: 3px solid #b9816c; padding: 1.2rem; margin: 1.5rem 0; border-radius: 0 10px 10px 0; }
.policy-contact { padding: 1.6rem 0 .5rem; }
.policy-contact h2 { margin: 0 0 .5rem; font-size: 1.25rem; }
.policy-contact p { color: var(--muted); margin: .5rem 0; }
.policy-contact a { font-weight: 650; }
.policy-footer { max-width: 1120px; border-top: 1px solid var(--line); text-align: center; margin: auto; padding: 1.5rem; color: var(--muted); font-size: .8rem; }
@media (max-width: 560px) {
  .policy-header { padding: 1rem; }
  .policy-header > span { display: none; }
  .policy-main { padding: 2.2rem 1rem 1.5rem; }
  .policy-nav { gap: .5rem; }
  .policy-nav a { font-size: .85rem; padding: .6rem .9rem; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
