body.privacy { margin: 0; overflow-y: auto; line-height: 1.7; }
.privacy::after { display: none; }
.privacy .if-nav { flex-wrap: wrap; padding-block: 12px; gap: 8px 24px; }
.privacy .if-nav-link, .privacy .if-brand { min-width: 44px; min-height: 44px; display: inline-flex; align-items: center; }
.privacy .if-nav-link[aria-current] { color: var(--if-green); text-decoration: underline; text-underline-offset: 6px; }
.privacy a:focus-visible { outline: 2px solid var(--if-amber); outline-offset: 4px; }
.privacy-skip { position: absolute; left: 20px; top: -100px; z-index: 40; min-height: 44px; padding: 12px; background: var(--if-bg); }
.privacy-skip:focus { top: 12px; }
.privacy-hero { max-width: 840px; padding: clamp(48px, 8vw, 88px) 0 36px; }
.privacy h1 { margin: 0; font-size: clamp(36px, 6vw, 66px); line-height: 1.1; }
.privacy-intro { max-width: 720px; margin: 24px 0; color: var(--if-copy); font-size: 17px; }
.privacy-meta { color: var(--if-muted); font-size: 12px; }
.privacy-summary { padding: clamp(20px, 4vw, 36px); border: 2px solid var(--if-green); background: var(--if-panel); }
.privacy h2 { font-size: clamp(22px, 3vw, 30px); line-height: 1.3; letter-spacing: -.035em; }
.privacy p, .privacy li, .privacy a, .privacy h2 { overflow-wrap: anywhere; }
.privacy-summary ul { margin-bottom: 0; padding-left: 22px; color: var(--if-copy); }
.privacy-summary li + li { margin-top: 16px; }
.privacy strong { color: var(--if-text); }
.privacy-contents { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 4px 24px; margin: 32px 0; }
.privacy-contents a { min-height: 44px; display: flex; align-items: center; color: var(--if-green); font-size: 13px; text-underline-offset: 4px; }
.privacy-document { max-width: 840px; margin: 0 auto 72px; }
.privacy-document section { padding: 36px 0; border-top: 1px solid var(--if-line); scroll-margin-top: 24px; }
.privacy-document p { margin: 20px 0 0; color: var(--if-copy); font-size: 15px; }
.privacy-document a { display: inline-flex; align-items: center; min-height: 44px; max-width: 100%; margin-top: 12px; color: var(--if-green); font-size: 15px; text-underline-offset: 4px; }
.privacy-document .privacy-contact { margin: 16px 0; padding: clamp(20px, 4vw, 32px); border: 1px solid var(--if-amber); background: #e0aa3908; }
.privacy-contact h2 { color: var(--if-amber); }
.privacy .if-footer { color: var(--if-muted); border-top: 1px solid var(--if-line); overflow-wrap: anywhere; }
.privacy .if-footer a { display: inline-flex; align-items: center; min-width: 44px; min-height: 44px; }
@media (max-width: 640px) {
  .privacy-contents { grid-template-columns: 1fr; gap: 0; }
  .privacy .if-nav { gap: 16px; }
  .privacy .if-nav-link { font-size: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  html, body.privacy { scroll-behavior: auto !important; }
  .privacy *, .privacy *::before, .privacy *::after { animation: none !important; transition: none !important; }
}
@media print {
  body.privacy { background: white; color: black; overflow: visible; }
  .privacy .if-header, .privacy-skip, .privacy-contents { display: none; }
  .privacy .if-wrap { width: 100%; }
  .privacy-hero { padding-top: 0; }
  .privacy-summary, .privacy-document .privacy-contact { background: none; border-color: black; }
  .privacy h1, .privacy h1 span, .privacy h2, .privacy p, .privacy li, .privacy strong, .privacy a, .privacy .if-footer { color: black; }
  .privacy h2 { break-after: avoid; }
  .privacy p, .privacy li { orphans: 3; widows: 3; }
}
