.policy-page {
  min-block-size: 100vh;
  min-block-size: 100dvh;
  background: var(--color-black);
  color: var(--color-white);
}

.policy-hero {
  position: relative;
  display: flex;
  min-block-size: max(40rem, 100svh);
  overflow: hidden;
  isolation: isolate;
  background: var(--color-black);
}

.policy-hero__image {
  position: absolute;
  inset: -4% 0;
  inline-size: 100%;
  block-size: 108%;
  object-fit: cover;
  object-position: center;
  transform: scale(1.015);
}

.policy-hero__scrim {
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(180deg, rgb(4 4 6 / 56%) 0%, transparent 32%, rgb(4 4 6 / 50%) 100%),
    radial-gradient(circle at center, rgb(4 4 6 / 10%), rgb(4 4 6 / 54%));
}

.policy-hero__content {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-block-size: max(40rem, 100svh);
  padding-block: clamp(8rem, 14vh, 11rem) clamp(4rem, 9vh, 7rem);
}

.policy-hero__copy {
  display: grid;
  justify-items: center;
  gap: clamp(1rem, 2vw, 1.5rem);
  max-inline-size: min(70rem, 100%);
  margin-inline: auto;
  text-align: center;
}

.policy-eyebrow {
  color: var(--color-pink);
  font-size: 0.75rem;
  font-weight: 760;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.policy-hero h1 {
  max-inline-size: 12ch;
  font-family: var(--font-display);
  font-size: clamp(4.2rem, 12vw, 10.5rem);
  font-weight: 400;
  line-height: 0.78;
  letter-spacing: 0;
  text-transform: uppercase;
  text-wrap: balance;
}

.policy-hero__copy > p:last-child {
  max-inline-size: 42rem;
  color: rgb(255 253 247 / 82%);
  font-size: clamp(1.08rem, 0.98rem + 0.45vw, 1.4rem);
  line-height: 1.45;
  text-wrap: balance;
}

.policy-body {
  min-block-size: 100svh;
  padding-block: clamp(5.5rem, 11vw, 10rem);
  background: var(--color-black);
  color: var(--color-white);
}

.policy-document {
  max-inline-size: 58rem;
}

.policy-document > :first-child {
  margin-block-start: 0;
}

.policy-document h2 {
  margin-block: clamp(4rem, 8vw, 6.5rem) 1.35rem;
  padding-block-start: 0.85rem;
  border-top: 1px solid rgb(255 253 247 / 22%);
  color: var(--color-white);
  font-family: var(--font-display);
  font-size: clamp(2.4rem, 6vw, 4.6rem);
  font-weight: 400;
  line-height: 0.88;
  letter-spacing: 0;
  text-transform: uppercase;
  text-wrap: balance;
}

.policy-document h3,
.policy-document h4 {
  margin-block: 2.75rem 1rem;
  color: var(--color-white);
  font-size: clamp(1.15rem, 1.05rem + 0.35vw, 1.45rem);
  line-height: 1.25;
}

.policy-document p,
.policy-document li,
.policy-document address,
.policy-document td {
  color: rgb(255 253 247 / 78%);
  font-size: clamp(1rem, 0.96rem + 0.18vw, 1.12rem);
  line-height: 1.72;
}

.policy-document address {
  margin-block: 1.35rem;
  padding-inline-start: 1rem;
  border-inline-start: 2px solid var(--color-pink);
  font-style: normal;
}

.policy-document p + p,
.policy-document p + ul,
.policy-document p + ol,
.policy-document ul + p,
.policy-document ol + p {
  margin-block-start: 1.15rem;
}

.policy-document ul,
.policy-document ol {
  display: grid;
  gap: 0.65rem;
  margin-block: 1.2rem 0;
  padding-inline-start: 1.5rem;
}

.policy-document ul {
  list-style: square;
}

.policy-document li::marker {
  color: var(--color-pink);
}

.policy-document a {
  color: var(--color-white);
  text-decoration-line: underline;
  text-decoration-color: var(--color-pink);
  text-decoration-thickness: 1px;
  text-underline-offset: 0.2em;
  overflow-wrap: anywhere;
}

.policy-document strong {
  color: var(--color-white);
}

.policy-document em {
  color: rgb(255 253 247 / 90%);
}

.policy-document table {
  display: block;
  inline-size: 100%;
  margin-block: 1.75rem;
  overflow-x: auto;
  border-collapse: collapse;
  scrollbar-color: var(--color-pink) rgb(255 253 247 / 10%);
}

.policy-document tbody {
  display: table;
  min-inline-size: 44rem;
  inline-size: 100%;
  table-layout: fixed;
}

.policy-document td {
  padding: 1rem;
  border: 1px solid rgb(255 253 247 / 22%);
  vertical-align: top;
}

.policy-document td:first-child {
  inline-size: 24%;
}

.policy-document td:last-child {
  inline-size: 13%;
}

.policy-document td p {
  color: inherit;
  font-size: inherit;
}

.policy-updated {
  color: var(--color-pink) !important;
  font-size: 0.8rem !important;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.policy-document [id] {
  scroll-margin-top: 6rem;
}

@media (max-width: 699px) {
  .policy-hero,
  .policy-hero__content {
    min-block-size: max(36rem, 100svh);
  }

  .policy-hero__content {
    padding-block: 7.5rem 3.25rem;
  }

  .policy-hero h1 {
    font-size: clamp(4rem, 18vw, 6.5rem);
  }

  .policy-body {
    padding-block: 4.5rem 6rem;
  }

  .policy-document h2 {
    margin-block-start: 3.5rem;
    font-size: clamp(2.2rem, 11vw, 3.25rem);
  }
}

@media (prefers-reduced-motion: reduce) {
  .policy-hero__image {
    transform: none !important;
  }
}

@media print {
  .policy-page,
  .policy-body {
    background: #fff;
    color: #000;
  }

  .site-header,
  .policy-hero,
  .site-footer {
    display: none !important;
  }

  .policy-body {
    padding: 0;
  }

  .policy-document h2,
  .policy-document h3,
  .policy-document h4,
  .policy-document p,
  .policy-document li,
  .policy-document strong,
  .policy-document em,
  .policy-document a,
  .policy-document address,
  .policy-document td {
    color: #000 !important;
  }

  .policy-document table {
    display: table;
  }
}
