body { color: #183e2e; background: #f9f5eb; }
.policy-header, .policy-main { width: min(calc(100% - 2rem), 780px); margin-inline: auto; }
.policy-header { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 1rem; padding-block: 1rem; }
.policy-main { padding-block: 2rem 4rem; font-size: 1rem; line-height: 1.65; }
.policy-main h1 { margin: 0 0 1rem; line-height: 1.15; font-size: clamp(2.3rem, 8vw, 4.5rem); }
.policy-main h2 { margin: 0 0 .8rem; font-size: 1.85rem; line-height: 1.2; }
.policy-main h3 { margin: 1.1rem 0 .4rem; font-size: 1.15rem; }
.policy-main p { margin: 0 0 .9rem; }
.policy-main section { scroll-margin-top: 1rem; padding: 1.6rem 0; border-bottom: 1px solid #d6d2c4; }
.policy-main a, .policy-header > a:last-child { text-decoration: underline; text-underline-offset: .18em; }
.policy-nav { display: flex; flex-wrap: wrap; gap: .5rem 1.25rem; padding: 1rem 0; border-bottom: 1px solid #d6d2c4; }
.policy-records { display: grid; gap: .9rem; margin: 1rem 0; }
.policy-records dt { font-weight: 700; }
.policy-records dd { margin: 0; }
.policy-main code { overflow-wrap: anywhere; }
.policy-identity span { display: block; white-space: pre-line; }
.policy-form { padding: 1rem; border: 1px solid #d6d2c4; margin-bottom: 1rem; overflow-wrap: anywhere; }
.policy-main .policy-footer { margin-top: 1.5rem; font-size: .875rem; }
@media print {
  .policy-header > a:last-child, .policy-nav, .traffic-notice { display: none !important; }
  .policy-header, .policy-main { width: auto; }
  .policy-main { font-size: 10pt; padding: 0; }
  .policy-main h1, .policy-main h2, .policy-main h3 { break-after: avoid; }
}
