.privacy-page {
  background: var(--color-paper);
}

.privacy-page__intro {
  position: relative;
  overflow: hidden;
  padding-bottom: var(--space-8);
}

.privacy-page__intro-container {
  position: relative;
}

.privacy-page__intro-container::after {
  position: absolute;
  top: var(--space-3);
  right: 8%;
  width: 2px;
  height: 10rem;
  content: "";
  background: var(--color-cyan);
}

.privacy-page__intro-copy {
  width: min(100%, 62ch);
  min-width: 0;
}

.privacy-page__intro-copy h1 {
  margin-bottom: var(--space-4);
  font-size: clamp(2.25rem, 5vw, 3.5rem);
}

.privacy-page__intro-copy .lead {
  margin-bottom: var(--space-6);
}

.privacy-page__independence {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  min-width: 0;
  padding: var(--space-5);
  border: var(--border-default);
  border-top: 3px solid var(--color-cyan);
  background: var(--color-blue-wash);
  color: var(--color-ink);
}

.privacy-page__independence > * {
  min-width: 0;
  margin: 0;
}

.privacy-page__document-section {
  padding-top: 0;
}

.privacy-page__reading-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-7);
  align-items: start;
}

.privacy-page__contents,
.privacy-page__document {
  min-width: 0;
  width: 100%;
}

.privacy-page__contents-inner {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  min-width: 0;
  padding: var(--space-5);
  border: var(--border-default);
  border-radius: var(--radius-sm);
  background: var(--color-white);
}

.privacy-page__contents-inner > * {
  min-width: 0;
  margin: 0;
}

.privacy-page__contents h2 {
  font-size: var(--text-xl);
}

.privacy-page__contents-list {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.privacy-page__contents-list li {
  min-width: 0;
  border-top: 1px solid var(--color-line);
}

.privacy-page__contents-list a {
  display: grid;
  grid-template-columns: 2rem minmax(0, 1fr);
  gap: var(--space-2);
  min-width: 0;
  padding: var(--space-3) 0;
  color: var(--color-ink);
  font-size: var(--text-sm);
  line-height: var(--leading-compact);
  text-decoration: none;
}

.privacy-page__contents-list a:hover,
.privacy-page__contents-list a:focus-visible {
  color: var(--color-blue);
  text-decoration: underline;
}

.privacy-page__contents-list a span {
  min-width: 0;
  color: var(--color-blue);
  font-size: var(--text-xs);
  font-variant-numeric: tabular-nums;
  font-weight: 700;
}

.privacy-page__document {
  min-width: 0;
  max-width: 42.5rem;
}

.privacy-page__chapter {
  min-width: 0;
  padding: var(--space-7) var(--space-5);
  border: var(--border-default);
  border-radius: var(--radius-sm);
  background: var(--color-white);
}

.privacy-page__chapter + .privacy-page__chapter {
  margin-top: var(--space-6);
}

.privacy-page__chapter-heading {
  display: grid;
  grid-template-columns: 2.75rem minmax(0, 1fr);
  gap: var(--space-3);
  align-items: start;
  min-width: 0;
  margin-bottom: var(--space-6);
}

.privacy-page__chapter-heading > * {
  min-width: 0;
}

.privacy-page__chapter-heading .eyebrow {
  margin-bottom: var(--space-2);
}

.privacy-page__chapter-heading h2 {
  margin-bottom: 0;
  font-size: clamp(2rem, 3vw, 2.5rem);
}

.privacy-page__chapter-index {
  display: block;
  min-width: 0;
  padding-top: 0.15rem;
  color: var(--color-blue);
  font-family: var(--font-heading);
  font-size: var(--text-sm);
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}

.privacy-page__chapter-index::after {
  display: block;
  width: 1.75rem;
  height: 2px;
  margin-top: var(--space-2);
  content: "";
  background: var(--color-cyan);
}

.privacy-page__chapter-copy {
  min-width: 0;
}

.privacy-page__chapter-copy h3 {
  margin-top: var(--space-6);
}

.privacy-page__chapter-copy h3:first-child {
  margin-top: 0;
}

.privacy-page__chapter-copy p,
.privacy-page__chapter-copy ul {
  max-width: 65ch;
}

.privacy-page__chapter-copy a {
  text-decoration: underline;
}

.privacy-page__micro-summary,
.privacy-page__boundary,
.privacy-page__request-box,
.privacy-page__external-note {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  min-width: 0;
  margin-top: var(--space-6);
  padding: var(--space-5);
}

.privacy-page__micro-summary > *,
.privacy-page__boundary > *,
.privacy-page__request-box > *,
.privacy-page__external-note > * {
  min-width: 0;
  margin: 0;
}

.privacy-page__micro-summary {
  border: 1px solid var(--color-blue);
  background: var(--color-white);
  color: var(--color-ink);
}

.privacy-page__boundary {
  border: var(--border-default);
  border-top: 3px solid var(--color-cyan);
  background: var(--color-blue-wash);
  color: var(--color-ink);
}

.privacy-page__boundary h3,
.privacy-page__external-note h3 {
  font-size: 1.25rem;
}

.privacy-page__note {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  margin-top: var(--space-5);
}

.privacy-page__note > * {
  min-width: 0;
  margin: 0;
}

.privacy-page__transfer-grid,
.privacy-page__rights-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-4);
  min-width: 0;
  margin: var(--space-5) 0 var(--space-6);
}

.privacy-page__transfer-grid > *,
.privacy-page__rights-grid > * {
  min-width: 0;
  width: 100%;
}

.privacy-page__transfer-item {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  padding: var(--space-4);
  border-top: 1px solid var(--color-line);
  border-bottom: 1px solid var(--color-line);
}

.privacy-page__transfer-item > * {
  min-width: 0;
  margin: 0;
}

.privacy-page__transfer-item strong,
.privacy-page__right strong,
.privacy-page__request-box strong {
  color: var(--color-ink);
}

.privacy-page__external-note {
  border: var(--border-default);
  background: var(--color-paper);
}

.privacy-page__right {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  padding: var(--space-4);
  border-top: 1px solid var(--color-line);
  background: var(--color-paper);
}

.privacy-page__right::before {
  width: 1.75rem;
  height: 2px;
  content: "";
  background: var(--color-cyan);
}

.privacy-page__right > * {
  min-width: 0;
  margin: 0;
}

.privacy-page__request-box {
  border: var(--border-default);
  background: var(--color-paper);
}

.privacy-page__remedy {
  max-width: 60ch;
  margin-top: var(--space-6);
}

.privacy-page__game-notice {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  min-width: 0;
  margin-top: var(--space-6);
}

.privacy-page__game-notice > * {
  min-width: 0;
  margin: 0;
}

.privacy-page__game-notice h3 {
  font-size: 1.25rem;
}

.privacy-page__closing {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  min-width: 0;
  max-width: 58ch;
  margin-top: var(--space-8);
  padding-top: var(--space-6);
  padding-bottom: var(--space-8);
  border-top: 1px solid var(--color-line);
}

.privacy-page__closing > * {
  min-width: 0;
  margin: 0;
}

.privacy-page__closing h2 {
  font-size: var(--text-xl);
}

.privacy-page__thanks {
  color: var(--color-slate);
  font-size: var(--text-sm);
}

.privacy-page__chapter,
.privacy-page__closing {
  scroll-margin-top: 7rem;
}

@media (min-width: 40rem) {
  .privacy-page__chapter {
    padding: var(--space-7) var(--space-6);
  }

  .privacy-page__contents-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: var(--space-5);
  }

  .privacy-page__contents-list li:nth-child(2) {
    border-top: 1px solid var(--color-line);
  }

  .privacy-page__rights-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-5) var(--space-4);
  }
}

@media (min-width: 48rem) {
  .privacy-page__transfer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-4);
  }
}

@media (min-width: 56.25rem) {
  .privacy-page__reading-layout {
    grid-template-columns: minmax(13.75rem, 15.625rem) minmax(0, 42.5rem);
    gap: clamp(3rem, 5vw, 4rem);
    justify-content: start;
  }

  .privacy-page__contents {
    width: min(100%, 15.625rem);
  }

  .privacy-page__contents-inner {
    position: sticky;
    top: var(--space-6);
  }

  .privacy-page__contents-list {
    grid-template-columns: minmax(0, 1fr);
  }

  .privacy-page__chapter + .privacy-page__chapter {
    margin-top: var(--space-7);
  }
}

@media (max-width: 39.9375rem) {
  .privacy-page__intro-container::after {
    position: static;
    display: block;
    width: 3rem;
    height: 3px;
    margin-top: var(--space-6);
  }

  .privacy-page__intro-copy h1 {
    font-size: clamp(2.25rem, 10vw, 2.625rem);
  }

  .privacy-page__intro-copy .lead {
    font-size: var(--text-lg);
  }

  .privacy-page__chapter {
    padding: var(--space-6) var(--space-5);
  }

  .privacy-page__chapter-heading {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-2);
  }

  .privacy-page__chapter-index {
    padding-top: 0;
  }

  .privacy-page__chapter-index::after {
    margin-top: var(--space-1);
  }
}
