/* Page-owned privacy document; the accepted shell remains in normal flow. */
.privacy-main { width:100%; padding:64px 0 96px; }
.privacy-document { width:min(76ch, calc(100% - 40px)); max-width:1100px; margin-inline:auto; font-size:19px; line-height:1.7; min-width:0; }
.privacy-document * { box-sizing:border-box; }
.privacy-document section { min-width:0; scroll-margin-top:32px; }
.privacy-intro { padding-bottom:32px; border-bottom:2px solid #20211f; }
.privacy-kicker { font-size:14px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; margin:0 0 16px; }
.privacy-document h1 { font-size:clamp(40px, 5vw, 64px); line-height:1.12; letter-spacing:-.025em; color:#20211f; margin:0 0 20px; }
.privacy-date { font-size:16px; margin:0 0 24px; color:#514f49; }
.privacy-document p { margin-block:0 20px; max-width:100%; }
.privacy-document h2 { font-size:clamp(25px, 3vw, 32px); line-height:1.28; color:#20211f; margin:44px 0 20px; }
.privacy-document a { color:#763c04; text-decoration:underline; text-underline-offset:3px; overflow-wrap:anywhere; }
.privacy-document a:hover { text-decoration-thickness:2px; }
.privacy-document a:focus-visible, .policy-table-scroll:focus-visible { outline:3px solid #763c04; outline-offset:4px; }
.privacy-contents { padding:28px 0; border-bottom:1px solid #aaa69e; }
.privacy-contents-title { font-size:20px; font-weight:700; }
.privacy-contents ol { margin:0; padding-left:28px; }
.privacy-contents a { display:inline-block; padding-block:4px; min-height:32px; }
.privacy-document ul { padding-left:25px; margin:0 0 24px; }
.privacy-document li { padding-left:3px; margin-bottom:6px; }
.policy-table-scroll { width:100%; max-width:100%; min-width:0; overflow-x:auto; margin:26px 0; }
.policy-table-scroll table { width:100%; min-width:600px; border-collapse:collapse; font-size:16px; line-height:1.5; text-align:left; }
.policy-table-scroll caption { text-align:left; font-weight:700; padding:0 0 12px; }
.policy-table-scroll th, .policy-table-scroll td { vertical-align:top; border-bottom:1px solid #aaa69e; padding:16px 12px; width:33.333%; }
.policy-table-scroll thead th { border-top:2px solid #20211f; border-bottom:2px solid #20211f; }
.policy-table-scroll tbody th { font-weight:400; }
.policy-table-scroll code { font:inherit; overflow-wrap:anywhere; }
@media (max-width:600px) {
  .privacy-main { padding-block:40px 64px; }
  .privacy-document { width:calc(100% - 32px); font-size:18px; line-height:1.65; }
  .privacy-intro { padding-bottom:20px; }
  .privacy-document h2 { margin-top:36px; }
  .privacy-contents { padding-block:24px; }
}
