.privacy-page {
  --privacy-ink: #f3f6f5;
  --privacy-muted: #bdc8c7;
  --privacy-accent: #a5d9d4;
  min-height: 70vh;
  padding: 66px 0 88px;
  background: linear-gradient(150deg, #242a2e, #191d21 60%);
  color: var(--privacy-ink);
}
.privacy-page * { box-sizing: border-box; }
.privacy-shell { width: calc(100% - 64px); max-width: 1176px; margin: 0 auto; }
.privacy-header { padding-bottom: 42px; border-bottom: 1px solid #ffffff22; }
.privacy-kicker { margin: 0 0 18px; font-size: 11px; letter-spacing: .16em; color: var(--privacy-accent); }
.privacy-header h1 { max-width: 800px; margin: 0 0 18px; font-size: clamp(38px, 5vw, 62px); font-weight: 550; line-height: 1.08; letter-spacing: -.045em; }
.privacy-lead { margin: 0 0 12px; color: var(--privacy-muted); font-size: 17px; }
.privacy-updated { color: #91a6a4; font-size: 12px; }
.privacy-layout { display: grid; grid-template-columns: 258px minmax(0, 1fr); align-items: start; gap: 68px; padding-top: 44px; }
.privacy-contents { position: sticky; top: 110px; overflow: hidden; min-width: 0; border: 1px solid #ffffff20; border-radius: 16px; background: #ffffff03; }
.privacy-contents summary { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 52px; padding: 16px; cursor: pointer; font-size: 13px; font-weight: 600; list-style: none; }
.privacy-contents summary::-webkit-details-marker { display: none; }
.privacy-contents summary span { color: #93aaa7; font-size: 11px; font-weight: 400; }
.privacy-contents[open] summary { border-bottom: 1px solid #ffffff14; }
.privacy-contents ol { margin: 0; padding: 8px 12px 12px; list-style: none; }
.privacy-contents a { display: flex; gap: 10px; align-items: baseline; min-height: 42px; padding: 10px 4px; text-decoration: none; font-size: 12px; line-height: 1.5; color: var(--privacy-muted); }
.privacy-contents a span { flex: none; width: 18px; color: #7faaa4; font-size: 10px; }
.privacy-contents a:hover { color: var(--privacy-accent); }
.privacy-document { min-width: 0; max-width: 750px; }
.privacy-section { margin-bottom: 32px; padding-bottom: 30px; border-bottom: 1px solid #ffffff17; scroll-margin-top: 116px; }
.privacy-section h2 { margin: 0 0 18px; font-size: 23px; font-weight: 550; line-height: 1.35; letter-spacing: -.02em; }
.privacy-section h2 > span { margin-right: 3px; color: var(--privacy-accent); }
.privacy-section h3 { margin: 22px 0 10px; font-size: 16px; line-height: 1.5; font-weight: 600; }
.privacy-section p, .privacy-section address { margin: 0 0 14px; color: var(--privacy-muted); font-size: 15px; line-height: 1.85; }
.privacy-section p:last-child { margin-bottom: 0; }
.privacy-section a, .privacy-reference a { color: var(--privacy-accent); overflow-wrap: anywhere; text-decoration-thickness: 1px; }
.privacy-section code { font-size: .9em; color: #d6e8e4; }
.privacy-section address { font-style: normal; }
.privacy-section address strong { color: var(--privacy-ink); font-weight: 600; }
.privacy-reset, .privacy-contact-link { display: inline-flex; align-items: center; justify-content: center; gap: 14px; min-height: 44px; padding: 11px 18px; border: 1px solid #a5d9d463; border-radius: 999px; background: #ffffff03; color: var(--privacy-ink); font: inherit; font-size: 13px; text-decoration: none; cursor: pointer; }
.privacy-reset:hover { background: #a5d9d41b; }
.privacy-section .privacy-status { margin-top: 12px; font-size: 13px; color: var(--privacy-accent); }
.privacy-status:empty { display: none; }
.privacy-reference { padding-top: 4px; color: #95a8a6; font-size: 12px; }
.privacy-reference p { margin: 0 0 12px; line-height: 1.75; }
.privacy-page :is(a, button, summary):focus-visible { outline: 2px solid var(--privacy-accent); outline-offset: 4px; }
.privacy-section:focus { outline: none; }
@media (max-width: 959px) {
  .privacy-layout { grid-template-columns: 1fr; gap: 32px; }
  .privacy-contents { position: static; }
  .privacy-document { max-width: none; }
  .privacy-contents ol { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 22px; }
}
@media (max-width: 600px) {
  .privacy-page { padding: 40px 0 54px; }
  .privacy-shell { width: calc(100% - 36px); }
  .privacy-header { padding-bottom: 28px; }
  .privacy-header h1 { font-size: clamp(34px, 9vw, 45px); }
  .privacy-lead { font-size: 15px; }
  .privacy-layout { padding-top: 26px; }
  .privacy-contents ol { grid-template-columns: 1fr; }
  .privacy-section { padding-bottom: 24px; margin-bottom: 26px; }
  .privacy-section h2 { font-size: 21px; }
  .privacy-section p, .privacy-section address { font-size: 14px; line-height: 1.8; }
}
