.privacy-policy-page {
  position: relative;
  overflow: clip;
}

.privacy-policy-page__intro {
  padding-block-end: var(--space-8);
}

.privacy-policy-page__intro-panel {
  width: min(100%, 42.5rem);
  min-width: 0;
  padding: clamp(2rem, 4vw, 3rem);
  background:
    radial-gradient(circle at 85% 10%, rgb(200 163 93 / 11%), transparent 15rem),
    var(--color-slate);
}

.privacy-policy-page__intro-panel > :last-child {
  margin-block-end: 0;
}

.privacy-policy-page__intro-panel .lead {
  max-width: 40rem;
}

.privacy-policy-page__document-date {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  width: fit-content;
  max-width: 100%;
  min-width: 0;
  padding: var(--space-2) var(--space-3);
  border: var(--border-default);
  border-color: rgb(200 163 93 / 55%);
  color: var(--color-ivory);
  font-size: var(--text-sm);
}

.privacy-policy-page__document-date strong {
  white-space: nowrap;
}

.privacy-policy-page__summary-heading,
.privacy-policy-page__data-heading,
.privacy-policy-page__purposes-heading,
.privacy-policy-page__retention-heading,
.privacy-policy-page__rights-heading,
.privacy-policy-page__updates-copy {
  width: min(100%, 40.625rem);
  min-width: 0;
}

.privacy-policy-page__summary-heading .lead,
.privacy-policy-page__data-heading .lead,
.privacy-policy-page__purposes-heading .lead,
.privacy-policy-page__rights-heading .lead {
  max-width: 38.75rem;
}

.privacy-policy-page__summary-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-4);
  width: 100%;
  min-width: 0;
  margin-block-start: var(--space-6);
}

.privacy-policy-page__summary-grid > * {
  min-width: 0;
  width: 100%;
}

.privacy-policy-page__summary-card {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  min-width: 0;
}

.privacy-policy-page__summary-card h3,
.privacy-policy-page__summary-card p {
  margin: 0;
}

.privacy-policy-page__card-number,
.privacy-policy-page__list-number,
.privacy-policy-page__right-number {
  color: var(--color-bronze);
  font-family: var(--font-heading);
  font-size: clamp(2rem, 4vw, 2.75rem);
  line-height: 1;
}

.privacy-policy-page__summary-card p {
  color: var(--color-ivory);
  font-size: var(--text-sm);
  line-height: 1.65;
}

.privacy-policy-page__administrator-copy {
  width: min(100%, 40.625rem);
  min-width: 0;
}

.privacy-policy-page__contact-panel {
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
  width: min(100%, 47.5rem);
  min-width: 0;
  margin-block-start: var(--space-6);
  padding: clamp(1.5rem, 3vw, 2rem);
}

.privacy-policy-page__venue-address,
.privacy-policy-page__contact-row {
  min-width: 0;
}

.privacy-policy-page__contact-label {
  display: block;
  margin-block-end: var(--space-1);
  color: var(--color-bronze);
  font-size: var(--text-xs);
  font-weight: 700;
  letter-spacing: 0.12em;
  line-height: 1.4;
  text-transform: uppercase;
}

.privacy-policy-page__venue-address address {
  color: var(--color-white);
  font-style: normal;
  line-height: 1.65;
}

.privacy-policy-page__contact-rows {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-5);
  width: 100%;
  min-width: 0;
  padding-block-start: var(--space-5);
  border-top: var(--border-default);
}

.privacy-policy-page__contact-rows > * {
  min-width: 0;
  width: 100%;
}

.privacy-policy-page__contact-row a {
  overflow-wrap: anywhere;
  color: var(--color-white);
  font-size: var(--text-lead);
  font-weight: 600;
}

.privacy-policy-page__contact-note {
  margin: 0;
  color: var(--color-ivory);
  font-size: var(--text-sm);
  line-height: 1.65;
}

.privacy-policy-page__numbered-list,
.privacy-policy-page__rights-index {
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
  width: min(100%, 47.5rem);
  min-width: 0;
  margin-block-start: var(--space-6);
}

.privacy-policy-page__numbered-item,
.privacy-policy-page__right-item {
  display: grid;
  grid-template-columns: 4rem minmax(0, 1fr);
  gap: var(--space-3);
  width: 100%;
  min-width: 0;
}

.privacy-policy-page__numbered-item {
  padding-block-end: var(--space-5);
  border-bottom: var(--border-default);
}

.privacy-policy-page__numbered-list > :last-child,
.privacy-policy-page__rights-index > :last-child {
  padding-block-end: 0;
  border-bottom: 0;
}

.privacy-policy-page__list-number,
.privacy-policy-page__right-number {
  font-size: 1.5rem;
}

.privacy-policy-page__list-copy,
.privacy-policy-page__right-copy {
  min-width: 0;
  width: 100%;
}

.privacy-policy-page__list-copy h3,
.privacy-policy-page__right-copy h3 {
  margin-block-end: var(--space-2);
}

.privacy-policy-page__list-copy p,
.privacy-policy-page__right-copy p {
  margin-block-end: 0;
}

.privacy-policy-page__purpose-panels {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  width: min(100%, 47.5rem);
  min-width: 0;
  margin-block-start: var(--space-6);
}

.privacy-policy-page__purpose-panels > * {
  width: 100%;
  min-width: 0;
}

.privacy-policy-page__purpose-panel {
  padding: var(--space-6);
}

.privacy-policy-page__purpose-panel h3 {
  margin-block-end: var(--space-3);
}

.privacy-policy-page__purpose-panel p:last-child {
  margin-block-end: 0;
}

.privacy-policy-page__retention-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(17.5rem, 1fr));
  gap: var(--space-4);
  width: min(100%, 55rem);
  min-width: 0;
  margin-block-start: var(--space-6);
}

.privacy-policy-page__retention-grid > * {
  width: 100%;
  min-width: 0;
}

.privacy-policy-page__retention-panel,
.privacy-policy-page__recipient-panel {
  padding: var(--space-6);
}

.privacy-policy-page__retention-panel h3,
.privacy-policy-page__recipient-panel h3 {
  margin-block-end: var(--space-3);
}

.privacy-policy-page__retention-panel p,
.privacy-policy-page__recipient-panel p {
  margin-block-end: 0;
}

.privacy-policy-page__right-item {
  grid-template-columns: 4.5rem minmax(0, 1fr);
  padding-block-end: var(--space-4);
  border-bottom: var(--border-default);
}

.privacy-policy-page__updates-copy {
  padding-block-start: var(--space-6);
  border-top: 1px solid rgb(200 163 93 / 60%);
}

.privacy-policy-page__cta-panel {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-6);
  width: min(100%, 60rem);
  min-width: 0;
  margin-block-start: var(--space-6);
  padding: clamp(1.5rem, 3vw, 2rem);
}

.privacy-policy-page__cta-copy {
  flex: 1 1 0;
  width: auto;
  min-width: 0;
  max-width: 31.25rem;
}

.privacy-policy-page__cta-copy h3 {
  margin-block-end: var(--space-2);
}

.privacy-policy-page__cta-copy p {
  margin-block-end: 0;
}

.privacy-policy-page__cta-actions {
  flex: 0 0 auto;
  width: auto;
  min-width: 13.125rem;
}

.privacy-policy-page__cta-actions .button {
  width: 100%;
}

@media (max-width: 56.25rem) {
  .privacy-policy-page__intro {
    padding-block-end: var(--space-7);
  }

  .privacy-policy-page__summary-grid {
    grid-template-columns: 1fr;
  }

  .privacy-policy-page__contact-rows {
    grid-template-columns: 1fr;
    gap: var(--space-4);
  }

  .privacy-policy-page__retention-grid {
    grid-template-columns: 1fr;
    width: min(100%, 47.5rem);
  }

  .privacy-policy-page__purpose-panel,
  .privacy-policy-page__retention-panel,
  .privacy-policy-page__recipient-panel {
    padding: var(--space-5);
  }
}

@media (max-width: 45rem) {
  .privacy-policy-page__cta-panel {
    flex-direction: column;
    align-items: stretch;
    gap: var(--space-4);
  }

  .privacy-policy-page__cta-copy,
  .privacy-policy-page__cta-actions {
    flex: 0 0 auto;
    width: 100%;
    min-width: 0;
    max-width: none;
  }
}

@media (max-width: 37.5rem) {
  .privacy-policy-page__intro-panel {
    padding: var(--space-5);
  }

  .privacy-policy-page__document-date {
    align-items: flex-start;
    flex-direction: column;
    gap: var(--space-1);
  }

  .privacy-policy-page__numbered-item,
  .privacy-policy-page__right-item {
    grid-template-columns: 1fr;
    gap: var(--space-2);
  }

  .privacy-policy-page__purpose-panel,
  .privacy-policy-page__retention-panel,
  .privacy-policy-page__recipient-panel {
    padding: var(--space-4);
  }
}

/* mobile-photo-center */
@media (max-width: 56.25rem) {
  img,
  video {
    object-position: center !important;
  }

  .image-frame,
  .media-frame,
  .card__media,
  [class*='__media'] {
    width: 100%;
    max-width: 100%;
    margin-inline: 0;
    justify-self: stretch;
    overflow: hidden;
  }

  .image-frame img,
  .media-frame img,
  .media-frame video,
  .card__media img,
  [class*='__media'] img,
  [class*='hero'] img,
  [class*='hero__image'] {
    width: 100%;
    height: 100%;
    max-width: none;
    min-width: 100%;
    min-height: 100%;
    object-fit: cover;
    object-position: center !important;
  }
}
