.site-information { border-top:1px solid var(--line, #dedfe3); margin-top:34px; padding-top:30px; display:grid; gap:20px; font-size:14px; line-height:1.8; color:var(--muted, #595d65); }
.site-information strong { color:var(--ink, #111318); font-weight:650; }
.site-information p { margin:4px 0 0; }
.site-information a { overflow-wrap:anywhere; text-decoration:underline; text-underline-offset:4px; }
.site-information nav { display:flex; flex-wrap:wrap; gap:10px 24px; align-items:center; }
.site-information nav button, .policy-settings { border:0; padding:8px 0; font:inherit; color:inherit; background:none; text-decoration:underline; text-underline-offset:4px; cursor:pointer; }
.site-information .site-hosting { font-size:12px; }
.privacy-choice { position:fixed; z-index:80; left:24px; bottom:24px; width:min(430px,calc(100vw - 48px)); padding:24px; border:1px solid #c9cbd1; border-radius:8px; background:#fff; color:#111318; box-shadow:0 10px 50px #11131825; font-size:14px; line-height:1.7; }
.privacy-choice[hidden] { display:none; }
.privacy-choice h2 { margin:0 0 12px; color:#111318; font-size:19px; line-height:1.4; letter-spacing:-.025em; }
.privacy-choice p { margin:0 0 12px; color:#454951; font-size:14px; }
.privacy-choice>a { text-decoration:underline; text-underline-offset:3px; }
.privacy-choice-actions { display:flex; gap:10px; margin-top:18px; }
.privacy-choice-actions button { flex:1; min-height:44px; padding:10px 12px; border:1px solid #6b707a; border-radius:4px; background:#fff; color:#111318; cursor:pointer; font:inherit; font-weight:600; }
.privacy-choice-actions button:hover { background:#f0f2f5; }
.privacy-choice :focus-visible, .site-information :focus-visible, .policy-page :focus-visible { outline:3px solid #2155f5; outline-offset:4px; }
.policy-page { max-width:860px; padding-top:130px; padding-bottom:90px; }
.policy-page h1 { margin:16px 0 24px; font-size:clamp(32px,5vw,54px); letter-spacing:-.04em; line-height:1.25; }
.policy-page .policy-intro { font-size:18px; line-height:1.8; color:var(--muted); }
.policy-page section { padding-top:38px; margin-top:38px; border-top:1px solid var(--line); scroll-margin-top:100px; }
.policy-page h2 { font-size:24px; line-height:1.5; letter-spacing:-.025em; margin-bottom:16px; }
.policy-page p, .policy-page li, .policy-page dd { line-height:1.9; color:var(--muted); }
.policy-page p+p { margin-top:12px; }
.policy-page a { color:var(--ink); text-decoration:underline; text-underline-offset:4px; overflow-wrap:anywhere; }
.policy-page ul, .policy-page ol { padding-left:24px; }
.policy-page li+li { margin-top:8px; }
.policy-page dl { margin:16px 0; }
.policy-page dl>div { display:grid; grid-template-columns:140px 1fr; gap:20px; padding:14px 0; border-bottom:1px solid var(--line); }
.policy-page dt { font-weight:650; }
.policy-page dd { margin:0; }
.policy-page .policy-date { font-size:13px; }
@media(max-width:767px) {
  .site-information { font-size:13px; }
  .privacy-choice { left:12px; bottom:calc(12px + env(safe-area-inset-bottom)); width:calc(100vw - 24px); padding:20px; }
  .policy-page { padding-top:110px; padding-bottom:60px; }
  .policy-page dl>div { grid-template-columns:1fr; gap:5px; }
  .policy-page h2 { font-size:21px; }
}
