:root { color-scheme: light; color: #3b2d4a; background: #fff8f3; }
* { box-sizing: border-box; }
body { margin: 0; font-family: Arial, sans-serif; font-size: 16px; line-height: 1.75; }
.policy-shell { max-width: 820px; margin: 0 auto; padding: 44px 28px 64px; }
.policy-header { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 44px; }
.policy-logo { position: relative; display: block; width: 154px; aspect-ratio: 334 / 76; overflow: hidden; }
.policy-logo img { position: absolute; width: 119.760479%; height: auto; left: -10.179641%; top: -56.578947%; }
a { color: inherit; text-underline-offset: 4px; overflow-wrap: anywhere; }
.back-link { font-size: 13px; white-space: nowrap; }
a:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
h1, h2, h3 { line-height: 1.3; font-weight: 500; }
h1 { margin: 0 0 24px; font-family: Georgia, serif; font-size: clamp(34px, 5vw, 48px); }
h2 { margin: 40px 0 16px; font-size: 23px; }
h3 { margin: 28px 0 12px; font-size: 18px; }
p { margin: 0 0 16px; }
ul { padding-left: 24px; margin: 0 0 20px; }
li { margin: 6px 0; }
strong { font-weight: 600; }
.policy-footer { margin-top: 44px; padding-top: 24px; border-top: 1px solid #e7d5cb; }
@media (max-width: 767px) {
  .policy-shell { padding: 28px 20px 40px; }
  .policy-header { gap: 16px; margin-bottom: 32px; }
  .policy-logo { width: 126px; }
  .back-link { display: inline-flex; align-items: center; min-height: 44px; }
  h2 { font-size: 21px; }
}
