@font-face {
  font-family: "Simple Serenity Serif";
  src: url("/fonts/simple-serenity-serif.ttf") format("truetype");
  font-display: swap;
}

:root {
  color-scheme: light;
  font-family: system-ui, sans-serif;
  color: #26352c;
  background: #f7f4ec;
  line-height: 1.75;
}

* { box-sizing: border-box; }
body { margin: 0; }
a { color: #6f293f; text-underline-offset: .2em; }
a:hover { text-decoration-thickness: 2px; }
a:focus-visible { outline: 2px solid #6f293f; outline-offset: 5px; border-radius: 2px; }
.policy-header { background: #172a20; color: #f7f4ec; }
.policy-header-inner { max-width: 1120px; margin: auto; padding: 24px clamp(20px, 5vw, 64px); display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap; }
.policy-brand { font-family: "Simple Serenity Serif", Georgia, serif; font-size: 23px; color: inherit; text-decoration: none; }
.policy-nav { display: flex; gap: 22px; flex-wrap: wrap; font-size: 14px; }
.policy-nav a { color: #f7f4ec; }
.policy-nav a[aria-current="page"] { text-decoration-thickness: 2px; }
main { width: min(100% - 40px, 760px); margin: 48px auto 64px; }
h1, h2 { font-family: "Simple Serenity Serif", Georgia, serif; font-weight: 400; line-height: 1.25; }
h1 { font-size: clamp(34px, 6vw, 46px); margin: 0 0 12px; }
h2 { font-size: 26px; margin: 0 0 12px; }
p { margin: 0 0 18px; }
section { margin-top: 34px; }
.policy-meta { font-size: 14px; color: #64675e; margin-bottom: 28px; }
.policy-toc { display: flex; flex-wrap: wrap; gap: 10px 24px; padding: 22px 0; border-block: 1px solid #d8d4c8; font-size: 15px; }
ul { padding-left: 22px; margin: 0 0 18px; }
li + li { margin-top: 8px; }
.policy-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: 18px; margin-top: 28px; }
.policy-card { border: 1px solid #d8d4c8; padding: 26px; border-radius: 12px; background: #fcfaf5; }
.policy-card h2 { font-size: 24px; }
.policy-contact { font-weight: 600; }
footer { width: min(100% - 40px, 760px); margin: 0 auto; padding: 24px 0 36px; border-top: 1px solid #d8d4c8; color: #64675e; font-size: 14px; }
@media print {
  .policy-header, .policy-toc { display: none; }
  main { width: 100%; margin: 0; }
  body { background: white; color: black; }
  h2 { break-after: avoid; }
}
