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

.privacy-policy-page__opening-grid,
.privacy-policy-page__rail-grid,
.privacy-policy-page__disclosure-grid,
.privacy-policy-page__rights-grid {
  display: grid;
  min-width: 0;
}

.privacy-policy-page__opening-grid {
  grid-template-columns: minmax(0, 3fr) minmax(0, 9fr);
  gap: var(--space-6);
}

.privacy-policy-page__opening-void,
.privacy-policy-page__intro {
  min-width: 0;
}

.privacy-policy-page__intro {
  grid-column: 2;
  width: min(100%, 58rem);
}

.privacy-policy-page__intro > .intro {
  max-width: 48rem;
}

.privacy-policy-page__effective-date {
  display: flex;
  width: min(100%, 48rem);
  min-width: 0;
  flex-wrap: wrap;
  gap: var(--space-2) var(--space-4);
  margin-block: var(--space-6) 0;
  padding-top: var(--space-4);
  border-top: 1px solid var(--color-border);
  font-size: var(--text-meta);
}

.privacy-policy-page__effective-date strong {
  color: var(--color-cobalt);
}

.privacy-policy-page__rail-grid {
  grid-template-columns: minmax(0, 3fr) minmax(0, 7fr) minmax(0, 1fr);
  gap: var(--space-6);
}

.privacy-policy-page__chapter-rail,
.privacy-policy-page__legal-column {
  min-width: 0;
}

.privacy-policy-page__chapter-rail {
  grid-column: 1;
}

.privacy-policy-page__chapter-rail > p:last-child {
  max-width: 22rem;
  color: var(--color-slate);
}

.privacy-policy-page__chapter-number,
.privacy-policy-page__unit-index,
.privacy-policy-page__purpose-index {
  margin: 0 0 var(--space-3);
  color: var(--color-cobalt);
  font-size: var(--text-label);
  font-weight: 700;
  letter-spacing: 0.12em;
  line-height: 1.35;
}

.privacy-policy-page__legal-column {
  grid-column: 2;
  width: min(100%, 54rem);
}

.privacy-policy-page__information-unit {
  display: grid;
  grid-template-columns: minmax(3.5rem, 0.9fr) minmax(0, 9fr);
  gap: var(--space-4);
  width: 100%;
  min-width: 0;
  padding-block: var(--space-5);
  border-top: 1px solid var(--color-border);
}

.privacy-policy-page__information-unit:first-child {
  padding-top: 0;
  border-top: 0;
}

.privacy-policy-page__information-unit > * {
  min-width: 0;
}

.privacy-policy-page__unit-index {
  margin: 0;
}

.privacy-policy-page__unit-copy {
  min-width: 0;
}

.privacy-policy-page__unit-copy h3,
.privacy-policy-page__purpose-unit h3,
.privacy-policy-page__disclosure-clause h3,
.privacy-policy-page__security-unit h3,
.privacy-policy-page__rights-unit h3,
.privacy-policy-page__contact-panel h3,
.privacy-policy-page__changes-copy h3 {
  font-size: var(--text-h5);
}

.privacy-policy-page__quiet-link {
  margin-bottom: 0;
  color: var(--color-slate);
  font-size: var(--text-meta);
}

.privacy-policy-page__quiet-link a,
.privacy-policy-page__related-links a,
.privacy-policy-page__contact-panel a {
  display: inline-flex;
  min-height: 2.75rem;
  align-items: center;
}

.privacy-policy-page__uses-shell {
  display: flex;
  width: 100%;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-6);
}

.privacy-policy-page__uses-header {
  width: 100%;
  min-width: 0;
}

.privacy-policy-page__uses-header > p:last-child {
  max-width: 48rem;
}

.privacy-policy-page__purpose-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-5) var(--space-6);
  width: 100%;
  min-width: 0;
}

.privacy-policy-page__purpose-unit {
  width: 100%;
  min-width: 0;
  padding-top: var(--space-5);
  border-top: 1px solid var(--color-border);
}

.privacy-policy-page__purpose-unit p:last-child {
  max-width: 31rem;
  margin-bottom: 0;
}

.privacy-policy-page__purpose-index {
  margin-bottom: var(--space-2);
}

.privacy-policy-page__disclosure-grid {
  grid-template-columns: minmax(0, 4fr) minmax(0, 8fr);
  gap: var(--space-7);
}

.privacy-policy-page__disclosure-rail,
.privacy-policy-page__rights-rail {
  grid-column: 1;
}

.privacy-policy-page__disclosure-content {
  grid-column: 2;
  width: min(100%, 52rem);
  min-width: 0;
}

.privacy-policy-page__disclosure-lead {
  max-width: 46rem;
}

.privacy-policy-page__disclosure-clause {
  width: 100%;
  min-width: 0;
  margin-top: var(--space-5);
  padding: var(--space-4) 0 var(--space-5) var(--space-5);
  border-top: 1px solid var(--color-border);
  border-left: 2px solid var(--color-cobalt);
}

.privacy-policy-page__disclosure-clause p {
  max-width: 50rem;
  margin-bottom: 0;
}

.privacy-policy-page__security-panel {
  width: min(100% - 33.333%, 52rem);
  min-width: 0;
  margin-inline: auto;
}

.privacy-policy-page__security-panel > h2 {
  margin-bottom: var(--space-6);
}

.privacy-policy-page__security-unit {
  width: 100%;
  min-width: 0;
  padding-block: var(--space-5);
  border-top: 1px solid var(--color-border);
}

.privacy-policy-page__security-unit p {
  max-width: 52rem;
}

.privacy-policy-page__security-unit > :last-child {
  margin-bottom: 0;
}

.privacy-policy-page__cross-reference {
  margin-top: var(--space-3);
  color: var(--color-slate);
  font-size: var(--text-meta);
}

.privacy-policy-page__rights-grid {
  grid-template-columns: minmax(0, 4fr) minmax(0, 8fr);
  gap: var(--space-7);
}

.privacy-policy-page__rights-content {
  grid-column: 2;
  width: min(100%, 52rem);
  min-width: 0;
}

.privacy-policy-page__rights-unit {
  width: 100%;
  min-width: 0;
  padding-bottom: var(--space-5);
  border-bottom: 1px solid var(--color-border);
}

.privacy-policy-page__rights-unit + .privacy-policy-page__rights-unit {
  padding-top: var(--space-5);
}

.privacy-policy-page__rights-unit p:last-child {
  max-width: 52rem;
  margin-bottom: 0;
}

.privacy-policy-page__contact-label {
  margin: 0 0 var(--space-3);
  color: var(--color-burgundy);
}

.privacy-policy-page__contact-panel {
  display: flex;
  width: min(100%, 40rem);
  min-width: 0;
  flex-direction: column;
  gap: var(--space-4);
  margin-top: var(--space-6);
  padding: var(--space-5);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
  background: var(--color-linen);
}

.privacy-policy-page__contact-panel h3,
.privacy-policy-page__contact-panel p,
.privacy-policy-page__contact-panel dl {
  margin: 0;
}

.privacy-policy-page__contact-panel p {
  max-width: 40rem;
}

.privacy-policy-page__contact-panel dl {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-4);
}

.privacy-policy-page__contact-panel dl > div {
  min-width: 0;
  padding-top: var(--space-3);
  border-top: 1px solid var(--color-border);
}

.privacy-policy-page__contact-panel dd {
  margin: 0;
  overflow-wrap: anywhere;
}

.privacy-policy-page__contact-panel dd span {
  display: block;
  color: var(--color-slate);
  font-size: var(--text-meta);
}

.privacy-policy-page__closing-panel {
  width: min(100% - 33.333%, 52rem);
  min-width: 0;
  margin-inline: auto;
}

.privacy-policy-page__changes-copy {
  width: 100%;
  min-width: 0;
}

.privacy-policy-page__changes-copy p {
  max-width: 46rem;
}

.privacy-policy-page__related-links {
  display: flex;
  width: 100%;
  min-width: 0;
  flex-wrap: wrap;
  gap: var(--space-3) var(--space-5);
  margin-top: var(--space-6);
  padding-block: var(--space-3);
  border-top: 1px solid var(--color-border);
  border-bottom: 1px solid var(--color-border);
}

.privacy-policy-page__related-links a {
  min-width: 0;
  overflow-wrap: anywhere;
  font-size: var(--text-meta);
}

@media (max-width: 1100px) {
  .privacy-policy-page__security-panel,
  .privacy-policy-page__closing-panel {
    width: min(100% - 16.667%, 52rem);
  }
}

@media (max-width: 1040px) {
  .privacy-policy-page__rail-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-6);
  }

  .privacy-policy-page__chapter-rail,
  .privacy-policy-page__legal-column {
    grid-column: 1;
  }

  .privacy-policy-page__chapter-rail {
    width: min(100%, 54rem);
  }
}

@media (max-width: 980px) {
  .privacy-policy-page__opening-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .privacy-policy-page__opening-void {
    display: none;
  }

  .privacy-policy-page__intro {
    grid-column: 1;
    width: min(100%, 58rem);
  }
}

@media (max-width: 960px) {
  .privacy-policy-page__disclosure-grid,
  .privacy-policy-page__rights-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-6);
  }

  .privacy-policy-page__disclosure-rail,
  .privacy-policy-page__rights-rail,
  .privacy-policy-page__disclosure-content,
  .privacy-policy-page__rights-content {
    grid-column: 1;
  }

  .privacy-policy-page__disclosure-rail,
  .privacy-policy-page__rights-rail {
    width: min(100%, 52rem);
  }
}

@media (max-width: 900px) {
  .privacy-policy-page__purpose-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-5);
  }

  .privacy-policy-page__purpose-unit p:last-child {
    max-width: 54rem;
  }
}

@media (max-width: 780px) {
  .privacy-policy-page__security-panel,
  .privacy-policy-page__closing-panel {
    width: 100%;
  }

  .privacy-policy-page__related-links {
    flex-direction: column;
    flex-wrap: nowrap;
    gap: 0;
    padding-block: 0;
  }

  .privacy-policy-page__related-links a {
    width: 100%;
    min-height: 2.75rem;
    padding-block: var(--space-2);
  }

  .privacy-policy-page__related-links a + a {
    border-top: 1px solid var(--color-border);
  }
}

@media (max-width: 767px) {
  .privacy-policy-page__opening {
    padding-top: clamp(3.5rem, 12vw, 5.5rem);
  }

  .privacy-policy-page__intro h1 {
    font-size: clamp(2.75rem, 12vw, 3.25rem);
    line-height: 0.98;
  }

  .privacy-policy-page__intro > .intro {
    max-width: 34rem;
    font-size: 1rem;
  }

  .privacy-policy-page__effective-date {
    width: 100%;
  }

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

  .privacy-policy-page__unit-index {
    margin-bottom: 0;
  }

  .privacy-policy-page__disclosure-clause {
    padding: var(--space-4) 0 var(--space-5);
    border-left: 0;
    border-top: 3px solid var(--color-cobalt);
  }

  .privacy-policy-page__contact-panel {
    width: 100%;
    padding: var(--space-4);
  }
}

@media (max-width: 600px) {
  .privacy-policy-page__chapter-rail h2,
  .privacy-policy-page__uses-header h2,
  .privacy-policy-page__security-panel h2,
  .privacy-policy-page__closing-panel h2 {
    font-size: clamp(2rem, 9vw, 2.25rem);
  }

  .privacy-policy-page__chapter-rail > p:last-child,
  .privacy-policy-page__uses-header > p:last-child,
  .privacy-policy-page__legal-column,
  .privacy-policy-page__disclosure-content,
  .privacy-policy-page__rights-content {
    width: 100%;
  }

  .privacy-policy-page__contact-panel a {
    min-height: 2.75rem;
  }
}
