.privacy-page { line-height:1.8; }
.privacy-skip { position:fixed; top:8px; left:16px; z-index:10; padding:10px 16px; background:var(--cream); transform:translateY(-160%); }
.privacy-skip:focus { transform:translateY(0); }
.privacy-main { max-width:860px; margin:36px auto; padding:0 24px; }
.privacy-paper { padding:40px 48px; background:var(--cream); border:1px solid #d7c59e; border-top:5px solid var(--red); border-radius:5px; }
.privacy-heading h1 { margin:8px 0 18px; font-size:32px; line-height:1.4; letter-spacing:-1px; }
.privacy-date { margin:0; color:#726550; font-size:13px; }
.privacy-paper p { margin:12px 0; }
.privacy-paper a,.privacy-bottom a { color:var(--blue); text-underline-offset:4px; overflow-wrap:anywhere; }
.privacy-contents { display:flex; flex-wrap:wrap; gap:4px 20px; margin-top:24px; padding-bottom:22px; border-bottom:1px dashed #c9b98f; font-size:14px; }
.privacy-contents a { display:inline-flex; align-items:center; min-height:36px; }
.privacy-section { margin-top:32px; scroll-margin-top:24px; font-size:15px; word-break:keep-all; overflow-wrap:anywhere; }
.privacy-section h2 { margin:0 0 16px; font-size:20px; line-height:1.5; letter-spacing:-.3px; }
.privacy-section ul { padding-left:22px; }
.privacy-section li { margin:10px 0; }
.privacy-details { margin:0; }
.privacy-details>div { padding:16px 0; border-bottom:1px dashed #d7c59e; }
.privacy-details>div:first-child { padding-top:0; }
.privacy-details dt { margin-bottom:4px; font-weight:700; }
.privacy-details dd { margin:0; }
.privacy-contact { padding-top:24px; border-top:2px solid var(--blue); }
.privacy-bottom { display:flex; justify-content:space-between; gap:20px; padding:16px 0; font-size:13px; }
.privacy-bottom a { display:inline-flex; align-items:center; min-height:44px; }
@media(max-width:760px) {
  .privacy-main { margin:24px auto 12px; padding:0 18px; }
  .privacy-paper { padding:26px 22px; }
  .privacy-heading h1 { font-size:27px; }
}
@media(max-width:380px) {
  .privacy-main { padding:0 12px; }
  .privacy-paper { padding:24px 18px; }
  .privacy-page .header-inner { padding-inline:14px; gap:8px; }
  .privacy-page .header-inner>.text-button { padding-inline:8px; font-size:12px; }
  .privacy-heading h1 { font-size:25px; }
}
