.policy-page {
  overflow: clip;
  background: #080b0b;
}

.policy-hero {
  position: relative;
  overflow: hidden;
  padding:
    clamp(11rem, 17vw, 15rem)
    0
    clamp(4.5rem, 8vw, 7rem);
  background:
    radial-gradient(circle at 81% 31%, rgb(7 74 69 / 38%), transparent 27rem),
    linear-gradient(128deg, #080b0b 24%, #081614 74%, #17110b);
  border-bottom: 1px solid rgb(213 179 106 / 24%);
}

.policy-hero__geometry span {
  position: absolute;
  top: 19%;
  right: 8%;
  width: min(33vw, 32rem);
  aspect-ratio: 1;
  border: 1px solid rgb(213 179 106 / 15%);
  border-radius: 50%;
}

.policy-hero__geometry span:nth-child(2) {
  top: 28%;
  right: 15%;
  width: min(21vw, 19rem);
}

.policy-hero__geometry span:nth-child(3) {
  top: 35%;
  right: 20%;
  width: min(11vw, 9rem);
  background: rgb(213 179 106 / 5%);
  border-radius: 0;
  transform: rotate(45deg);
}

.policy-hero__inner {
  position: relative;
  z-index: 1;
}

.policy-hero h1 {
  max-width: 13ch;
  margin-top: 1.1rem;
  font-size: clamp(3.6rem, 7.5vw, 8rem);
  line-height: 0.92;
  text-wrap: balance;
}

.policy-hero__summary {
  max-width: 47rem;
  margin-top: 2rem;
  color: rgb(242 234 221 / 62%);
  font-size: var(--text-lead);
}

.policy-hero__dates {
  display: flex;
  flex-wrap: wrap;
  gap: 1.2rem 3rem;
  margin-top: 2.5rem;
}

.policy-hero__dates div {
  display: grid;
  gap: 0.35rem;
}

.policy-hero__dates dt {
  color: var(--color-champagne-500);
  font-family: var(--font-brand);
  font-size: 0.53rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.policy-hero__dates dd {
  color: rgb(242 234 221 / 62%);
  font-size: 0.78rem;
}

.policy-navigation {
  position: relative;
  z-index: 2;
  background: rgb(8 11 11 / 94%);
  border-bottom: 1px solid rgb(213 179 106 / 18%);
}

.policy-navigation__inner {
  overflow-x: auto;
  scrollbar-width: thin;
}

.policy-navigation ul {
  display: flex;
  width: max-content;
  min-width: 100%;
  gap: clamp(1.5rem, 4vw, 4rem);
}

.policy-navigation a {
  position: relative;
  display: inline-flex;
  min-height: 4.2rem;
  align-items: center;
  color: rgb(242 234 221 / 55%);
  font-family: var(--font-brand);
  font-size: 0.58rem;
  font-weight: 600;
  letter-spacing: 0.11em;
  text-transform: uppercase;
  white-space: nowrap;
}

.policy-navigation a::after {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 2px;
  content: "";
  background: var(--color-champagne-500);
  transform: scaleX(0);
  transition: transform var(--duration-base) var(--ease-luxury);
}

.policy-navigation a:hover,
.policy-navigation a:focus-visible,
.policy-navigation a[aria-current="page"] {
  color: var(--color-ivory-50);
}

.policy-navigation a:hover::after,
.policy-navigation a:focus-visible::after,
.policy-navigation a[aria-current="page"]::after {
  transform: scaleX(1);
}

.policy-contact {
  padding-block: clamp(7rem, 12vw, 11rem);
  text-align: center;
  background:
    radial-gradient(circle at center, rgb(7 58 55 / 34%), transparent 28rem),
    #07100f;
  border-top: 1px solid rgb(213 179 106 / 18%);
}

.policy-contact h2 {
  max-width: 12ch;
  margin: 1rem auto 0;
}

.policy-contact__inner > p:not(.eyebrow) {
  max-width: 44rem;
  margin: 1.5rem auto 0;
  color: rgb(242 234 221 / 58%);
}

.policy-contact__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1rem;
  margin-top: 2.5rem;
}

.policy-page .is-policy-motion-ready:not(.is-policy-visible) {
  opacity: 0;
  transform: translate3d(0, 1.75rem, 0);
}

.policy-page .is-policy-motion-ready.is-policy-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  transition:
    opacity 700ms var(--ease-luxury),
    transform 820ms var(--ease-luxury);
}

.policy-hero.is-policy-motion-ready:not(.is-policy-visible) .eyebrow,
.policy-hero.is-policy-motion-ready:not(.is-policy-visible) h1,
.policy-hero.is-policy-motion-ready:not(.is-policy-visible) .policy-hero__summary,
.policy-hero.is-policy-motion-ready:not(.is-policy-visible) .policy-hero__dates {
  opacity: 0;
  transform: translate3d(0, 1.8rem, 0);
}

.policy-hero.is-policy-visible .eyebrow,
.policy-hero.is-policy-visible h1,
.policy-hero.is-policy-visible .policy-hero__summary,
.policy-hero.is-policy-visible .policy-hero__dates {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  transition:
    opacity 780ms var(--ease-luxury),
    transform 920ms var(--ease-luxury);
}

.policy-hero.is-policy-visible h1 {
  transition-delay: 60ms;
}

.policy-hero.is-policy-visible .policy-hero__summary {
  transition-delay: 120ms;
}

.policy-hero.is-policy-visible .policy-hero__dates {
  transition-delay: 180ms;
}

@media (max-width: 767px) {
  .policy-hero {
    padding-top: 9.5rem;
  }

  .policy-hero h1 {
    font-size: clamp(3.3rem, 14vw, 5.7rem);
  }

  .policy-hero__geometry {
    opacity: 0.38;
    transform: translateX(35%);
  }

  .policy-contact__actions {
    flex-direction: column;
  }
}

@media (prefers-reduced-motion: reduce) {
  .policy-page .is-policy-motion-ready,
  .policy-hero .eyebrow,
  .policy-hero h1,
  .policy-hero__summary,
  .policy-hero__dates {
    opacity: 1 !important;
    transform: none !important;
  }
}

@media print {
  :root {
    color-scheme: light;
  }

  body,
  .policy-page,
  .policy-hero,
  .policy-contact {
    color: #111;
    background: #fff !important;
  }

  #skip-link-root,
  #page-loader-root,
  #site-header-root,
  #mobile-menu-root,
  #site-footer-root,
  .policy-navigation,
  .policy-contents,
  .policy-contact,
  .policy-hero__geometry {
    display: none !important;
  }

  .policy-hero {
    padding: 1rem 0 2rem;
    border-bottom-color: #bbb;
  }

  .policy-hero h1,
  .policy-hero__summary,
  .policy-hero__dates dd,
  .policy-section h2,
  .policy-section p,
  .policy-section li {
    color: #111 !important;
  }

  .policy-layout {
    display: block !important;
    padding-block: 1rem !important;
  }

  .policy-section {
    break-inside: avoid;
    border-color: #ccc !important;
  }
}
