/* Legal text uses the site's palette and type, with an 800px reading measure. */
.privacy-policy {
  width: min(800px, calc(100% - 40px));
  margin: 0 auto;
  padding: 64px 0 88px;
  color: var(--text);
  font-size: 16px;
  line-height: 1.85;
  overflow-wrap: anywhere;
}
.privacy-policy p, .privacy-policy h1, .privacy-policy h2 { word-break: normal; }
.privacy-policy:lang(ko) :is(p, dd, li, h1, h2) { word-break: keep-all; }
.privacy-policy p + p { margin-top: 18px; }
.privacy-heading { padding-bottom: 32px; border-bottom: 1px solid #bac6b1; }
.privacy-eyebrow { color: var(--ink); font-size: 12px; font-weight: 600; letter-spacing: .1em; }
.privacy-heading h1 { margin-top: 22px; font-size: clamp(30px, 5vw, 46px); line-height: 1.35; letter-spacing: -.04em; }
.privacy-intro { margin-top: 20px; }
.privacy-languages { display: flex; gap: 24px; margin-top: 18px; }
.privacy-policy a { color: var(--ink); text-decoration: underline; text-underline-offset: 4px; }
.privacy-policy a:hover { text-decoration-thickness: 2px; }
.privacy-policy a:focus-visible { outline: 3px solid var(--ink); outline-offset: 4px; border-radius: 2px; }
.privacy-languages a { display: inline-flex; align-items: center; min-height: 44px; }
.privacy-languages [aria-current="page"] { font-weight: 700; text-decoration-thickness: 2px; }
.privacy-metadata { margin: 24px 0 0; font-size: 14px; }
.privacy-metadata > div { display: flex; flex-wrap: wrap; gap: 4px 18px; }
.privacy-policy dt { font-weight: 650; }
.privacy-policy dd { margin: 0; }
.privacy-summary { margin: 32px 0; padding: 24px; background: var(--sage); border-left: 3px solid var(--ink); }
.privacy-summary p + p { margin-top: 10px; }
.privacy-toc { padding-bottom: 32px; border-bottom: 1px solid #bac6b1; }
.privacy-toc h2 { font-size: 20px; letter-spacing: -.02em; }
.privacy-toc ol { display: grid; grid-template-columns: 1fr 1fr; gap: 0 32px; padding-left: 24px; margin: 18px 0 0; }
.privacy-toc a { display: inline-block; padding: 8px 0; }
.privacy-body > section { padding: 36px 0; border-bottom: 1px solid var(--line); }
.privacy-body h2 { margin-bottom: 20px; font-size: 24px; line-height: 1.5; letter-spacing: -.025em; }
.privacy-body h3 { margin: 28px 0 16px; font-size: 19px; line-height: 1.6; letter-spacing: -.02em; }
.privacy-body ol { padding-left: 26px; margin: 0 0 22px; }
.privacy-body li + li { margin-top: 16px; }
.privacy-data-list { margin: 24px 0 0; }
.privacy-data-list > div { padding: 20px; border: 1px solid #bac6b1; }
.privacy-data-list > div + div { margin-top: 16px; }
.privacy-data-list dt { margin-bottom: 8px; color: var(--ink); }
.privacy-contact { margin: 24px 0; padding: 20px; background: var(--sage); }
.privacy-contact > div { display: grid; grid-template-columns: 190px 1fr; gap: 8px 16px; }
.privacy-contact > div + div { margin-top: 10px; }
.privacy-policy code { font: inherit; }
.privacy-history { padding-left: 24px; margin-bottom: 24px; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}
.privacy-back-top { display: inline-block; margin-top: 32px; padding: 10px 0; }
.footer-bottom .footer-privacy { display: inline-flex; align-items: center; min-height: 44px; font-size: 14px; font-weight: 600; color: var(--ink); text-decoration: underline; text-underline-offset: 4px; }
.footer-bottom .footer-privacy:focus-visible { outline: 3px solid var(--ink); outline-offset: 4px; }
.site-footer .footer-top p, .site-footer .footer-group > .eyebrow, .site-footer .footer-group small, .site-footer .footer-bottom, .site-footer .footer-signature > small { color: #52614c; }
@media (max-width: 600px) {
  .privacy-policy { padding-top: 32px; }
  .privacy-toc ol { grid-template-columns: 1fr; }
  .privacy-body h2 { font-size: 22px; }
  .privacy-summary, .privacy-data-list > div, .privacy-contact { padding: 18px; }
  .privacy-contact > div { grid-template-columns: 1fr; gap: 0; }
}
@media print {
  body:has(.privacy-policy) { background: #fff; color: #000; }
  body:has(.privacy-policy) :is(.site-header, .site-footer, .skip-link, #blazor-error-ui, .mud-snackbar-provider, .privacy-languages, .privacy-toc, .privacy-back-top) { display: none !important; }
  body:has(.privacy-policy) main { padding: 0 !important; margin: 0 !important; }
  .privacy-policy { width: 100%; max-width: none; padding: 0; font-size: 11pt; line-height: 1.6; color: #000; }
  .privacy-heading h1 { font-size: 24pt; }
  .privacy-body h2 { font-size: 15pt; break-after: avoid; }
  .privacy-body > section { padding: 18pt 0; }
  .privacy-policy p, .privacy-policy li { orphans: 3; widows: 3; }
  .privacy-summary, .privacy-contact, .privacy-data-list > div { background: #fff; border: 1px solid #777; break-inside: avoid; }
  .privacy-policy a { color: #000; }
}
