:root {
  --bg: var(--apple-background);
  --surface: var(--apple-surface);
  --surface-raised: var(--apple-background);
  --border: var(--apple-divider);
  --text: var(--apple-text);
  --muted: var(--apple-muted);
  --blue: var(--apple-link);
  --green: #137547;
  font-family: var(--apple-font-body);
  color: var(--text);
  background: var(--bg);
  color-scheme: light;
}

* { box-sizing: border-box; }
html { min-width: 320px; scroll-behavior: smooth; }
body { margin: 0; min-height: 100vh; background: var(--bg); font-size: var(--apple-body-size); line-height: 1.47059; letter-spacing: var(--apple-body-tracking); }
a { color: var(--blue); text-underline-offset: 3px; overflow-wrap: anywhere; }
a:hover { color: #004a99; }
a:focus-visible { outline: 2px solid var(--blue); outline-offset: 4px; border-radius: 3px; }
.skip-link { position: fixed; z-index: 10; top: -5rem; left: 1rem; padding: .7rem 1rem; border-radius: 8px; background: var(--blue); color: white; font-weight: 600; }
.skip-link:focus { top: 1rem; }

.policy-header, .policy-footer { display: flex; align-items: center; justify-content: space-between; gap: 1rem; width: min(100% - 2rem, 960px); margin-inline: auto; }
.policy-header { min-height: 76px; }
.policy-header p, .policy-footer { color: var(--muted); font-size: .82rem; }
.brand { display: inline-flex; align-items: center; gap: .7rem; color: var(--text); text-decoration: none; }
.brand span { display: grid; width: 38px; height: 38px; place-items: center; border: 1px solid var(--text); border-radius: 11px; background: var(--text); color: white; font-size: .75rem; font-weight: 700; letter-spacing: .04em; }
.brand strong { font-size: 1.05rem; letter-spacing: -.01em; }

.policy-shell { width: min(100% - 2rem, 960px); margin: 1rem auto 4rem; }
.policy-card { overflow: hidden; border: 0; border-radius: var(--apple-card-radius); background: var(--surface); box-shadow: var(--apple-card-shadow); }
.policy-intro { padding: clamp(2rem, 6vw, 4rem); border-bottom: 1px solid var(--border); background: var(--surface); }
.eyebrow { margin: 0 0 .7rem; color: var(--muted); font-size: .75rem; font-weight: 600; letter-spacing: .08em; }
h1 { max-width: 720px; margin: 0; font-family: var(--apple-font-display); font-size: 48px; font-weight: 600; line-height: 1.083493; letter-spacing: -.003em; }
.lead { max-width: 760px; margin: 1.4rem 0 0; color: var(--muted); font-size: clamp(1rem, 2.5vw, 1.2rem); }
.updated { margin: 1.5rem 0 0; color: var(--muted); font-size: .8rem; }
section { padding: var(--apple-card-padding) var(--apple-space-large); border-bottom: 1px solid var(--border); }
section:last-child { border-bottom: 0; }
h2 { margin: 0 0 16px; color: var(--text); font-family: var(--apple-font-display); font-size: 24px; font-weight: 600; line-height: 28px; letter-spacing: .009em; }
p { margin: .65rem 0 0; color: var(--apple-secondary); }
ul { margin: .8rem 0 0; padding-left: 1.25rem; color: var(--apple-secondary); }
li + li { margin-top: .45rem; }
.contact { background: var(--surface-raised); }
.contact strong { color: var(--text); }
.policy-footer { padding: 1.5rem 0 2.5rem; }

@media (max-width: 600px) {
  .policy-header p { display: none; }
  .policy-shell { width: calc(100% - 44px); margin-top: 20px; }
  .policy-intro, section { padding: 28px 20px; }
  h1 { font-size: 28px; line-height: 32px; letter-spacing: .007em; }
  .policy-footer { align-items: flex-start; flex-direction: column; padding-inline: .5rem; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}
