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

.privacy-policy-page__shell {
  width: min(100% - (var(--gutter) * 2), var(--container));
  margin-inline: auto;
}

.privacy-policy-page__title-band {
  position: relative;
  overflow: hidden;
  padding: var(--space-10) 0 var(--space-9);
  background: var(--color-bottle-green-900);
  color: var(--color-oatmeal-100);
}

.privacy-policy-page__title-band::before {
  position: absolute;
  inset: 0;
  background-image: repeating-linear-gradient(0deg, rgb(240 231 213 / 2%) 0, rgb(240 231 213 / 2%) 1px, transparent 1px, transparent 5px);
  content: "";
  pointer-events: none;
}

.privacy-policy-page__title-layout,
.privacy-policy-page__document-layout,
.privacy-policy-page__closing-layout {
  display: grid;
  grid-template-columns: 13.75rem minmax(0, 43.75rem) minmax(0, 1fr);
  column-gap: var(--space-5);
  align-items: start;
}

.privacy-policy-page__title-layout > *,
.privacy-policy-page__document-layout > *,
.privacy-policy-page__closing-layout > * {
  min-width: 0;
}

.privacy-policy-page__rail-reserve,
.privacy-policy-page__section-marker,
.privacy-policy-page__closing-offset {
  grid-column: 1;
  width: 100%;
  min-width: 0;
}

.privacy-policy-page__title-copy {
  grid-column: 2;
  width: min(100%, 41.25rem);
  min-width: 0;
}

.privacy-policy-page__title-space {
  grid-column: 3;
  width: 100%;
  min-width: 0;
}

.privacy-policy-page__eyebrow {
  margin: 0 0 var(--space-3);
  color: var(--color-brass-300);
  font-size: var(--text-utility);
  font-weight: 700;
  letter-spacing: var(--tracking-utility);
  line-height: var(--leading-utility);
  text-transform: uppercase;
}

.privacy-policy-page__title-copy h1 {
  margin-bottom: var(--space-4);
  font-size: clamp(2.375rem, 5vw, 3rem);
  line-height: 1.02;
}

.privacy-policy-page__lead {
  width: min(100%, 40rem);
  margin-bottom: var(--space-5);
  font-size: var(--text-lead);
  line-height: var(--leading-lead);
}

.privacy-policy-page__update {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  width: min(100%, 20rem);
  min-width: 0;
  padding-top: var(--space-3);
  border-top: var(--rule-brass);
}

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

.privacy-policy-page__update span {
  color: var(--color-brass-300);
  font-size: var(--text-utility);
  font-weight: 700;
  letter-spacing: var(--tracking-utility);
  line-height: var(--leading-utility);
  text-transform: uppercase;
}

.privacy-policy-page__update p {
  font-size: var(--text-meta);
  line-height: var(--leading-meta);
}

.privacy-policy-page__orientation,
.privacy-policy-page__policy-section--light,
.privacy-policy-page__policy-section--choices,
.privacy-policy-page__closing {
  background: var(--color-oatmeal-100);
  color: var(--color-ink-950);
}

.privacy-policy-page__orientation {
  padding: var(--space-8) 0 var(--space-7);
}

.privacy-policy-page__contents {
  position: sticky;
  top: var(--space-6);
  grid-column: 1;
  width: 100%;
  min-width: 0;
  padding-right: var(--space-4);
}

.privacy-policy-page__contents-label {
  margin: 0 0 var(--space-3);
  color: var(--color-bottle-green-900);
  font-size: var(--text-utility);
  font-weight: 700;
  letter-spacing: var(--tracking-utility);
  line-height: var(--leading-utility);
  text-transform: uppercase;
}

.privacy-policy-page__contents ol {
  display: flex;
  flex-direction: column;
  gap: 0;
  width: 100%;
  min-width: 0;
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--color-border-light);
  list-style: none;
}

.privacy-policy-page__contents li {
  width: 100%;
  min-width: 0;
  border-bottom: 1px solid var(--color-border-light);
}

.privacy-policy-page__contents a {
  display: grid;
  grid-template-columns: 2.25rem minmax(0, 1fr);
  gap: var(--space-2);
  align-items: center;
  width: 100%;
  min-width: 0;
  min-height: 3rem;
  padding: var(--space-2) 0;
  color: var(--color-ink-950);
  font-size: var(--text-utility);
  letter-spacing: 0.03em;
  line-height: 1.35;
  text-decoration: none;
}

.privacy-policy-page__contents a > * {
  min-width: 0;
}

.privacy-policy-page__contents a span {
  color: var(--color-bottle-green-900);
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: var(--tracking-utility);
}

.privacy-policy-page__contents a b {
  font-weight: 700;
}

.privacy-policy-page__contents a:hover,
.privacy-policy-page__contents a[aria-current="true"] {
  color: var(--color-rust-700);
}

.privacy-policy-page__contents a[aria-current="true"] {
  box-shadow: inset 2px 0 0 var(--color-brass-500);
  padding-left: var(--space-2);
}

.privacy-policy-page__orientation-copy {
  grid-column: 2;
  width: min(100%, 35rem);
  min-width: 0;
}

.privacy-policy-page__orientation-copy .privacy-policy-page__eyebrow,
.privacy-policy-page__prose .privacy-policy-page__eyebrow,
.privacy-policy-page__closing-copy .privacy-policy-page__eyebrow {
  color: var(--color-bottle-green-900);
}

.privacy-policy-page__orientation-copy h2 {
  margin-bottom: var(--space-4);
}

.privacy-policy-page__orientation-copy p {
  margin-bottom: 0;
}

.privacy-policy-page__policy-section {
  padding: var(--space-9) 0;
}

.privacy-policy-page__policy-section--dark {
  background: var(--color-blackberry-900);
  color: var(--color-oatmeal-100);
}

.privacy-policy-page__section-marker {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  align-items: flex-start;
  padding-top: var(--space-1);
  color: var(--color-bottle-green-900);
}

.privacy-policy-page__section-marker > * {
  min-width: 0;
}

.privacy-policy-page__section-marker span {
  font-family: var(--font-heading);
  font-size: var(--text-heading-lg);
  font-weight: 600;
  letter-spacing: var(--tracking-display);
  line-height: 1;
}

.privacy-policy-page__section-marker i {
  display: block;
  width: 3rem;
  height: 2px;
  background: var(--color-brass-500);
}

.privacy-policy-page__section-marker--dark {
  color: var(--color-brass-300);
}

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

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

.privacy-policy-page__prose h3 {
  margin-bottom: var(--space-3);
}

.privacy-policy-page__legal-block {
  width: min(100%, 43.75rem);
  min-width: 0;
}

.privacy-policy-page__legal-block + .privacy-policy-page__legal-block {
  margin-top: var(--space-6);
}

.privacy-policy-page__example {
  margin-bottom: 0;
  color: #554947;
  font-size: var(--text-meta);
  line-height: var(--leading-meta);
}

.privacy-policy-page__card-room-inset {
  display: grid;
  grid-template-columns: 2.5rem minmax(0, 1fr);
  gap: var(--space-4);
  width: calc(100% + 2.5rem);
  min-width: 0;
  margin: var(--space-7) 0;
  padding: var(--space-6);
  background: var(--color-bottle-green-900);
  color: var(--color-oatmeal-100);
}

.privacy-policy-page__card-room-inset > * {
  min-width: 0;
}

.privacy-policy-page__inset-number {
  color: var(--color-brass-300);
  font-size: var(--text-utility);
  font-weight: 700;
  letter-spacing: var(--tracking-utility);
  line-height: var(--leading-utility);
}

.privacy-policy-page__card-room-inset h3,
.privacy-policy-page__card-room-inset p {
  margin: 0;
}

.privacy-policy-page__card-room-inset div {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  width: min(100%, 40rem);
  min-width: 0;
}

.privacy-policy-page__policy-section--dark .privacy-policy-page__eyebrow {
  color: var(--color-brass-300);
}

.privacy-policy-page__prose--use {
  width: min(100%, 43.75rem);
}

.privacy-policy-page__legal-block--dark {
  width: min(100%, 43.75rem);
}

.privacy-policy-page__offline-panel {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  width: calc(100% + 2.5rem);
  min-width: 0;
  margin: var(--space-8) 0;
  padding: var(--space-6);
  background: var(--color-blackberry-800);
  border: var(--border-dark);
  box-shadow: var(--shadow-deep);
}

.privacy-policy-page__offline-panel > * {
  min-width: 0;
  margin: 0;
}

.privacy-policy-page__offline-panel h3 {
  margin-bottom: 0;
}

.privacy-policy-page__table-rule {
  display: block;
  width: 3rem;
  height: 2px;
  background: var(--color-brass-500);
}

.privacy-policy-page__limitation {
  margin-bottom: 0;
  color: var(--color-oatmeal-300);
  font-size: var(--text-meta);
  line-height: var(--leading-meta);
}

.privacy-policy-page__legal-block--ruled {
  margin-top: var(--space-7);
  padding-top: var(--space-5);
  border-top: 2px solid var(--color-bottle-green-900);
}

.privacy-policy-page__legal-block--retention {
  width: min(100%, 40rem);
  margin-top: var(--space-7);
  padding-left: var(--space-5);
  border-left: 1px solid var(--color-border-light);
}

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

.privacy-policy-page__recipient-grid > div {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  min-width: 0;
  padding-top: var(--space-3);
  border-top: 1px solid var(--color-border-light);
}

.privacy-policy-page__recipient-grid strong {
  font-size: var(--text-meta);
  line-height: var(--leading-meta);
}

.privacy-policy-page__recipient-grid span {
  color: #554947;
  font-size: var(--text-meta);
  line-height: var(--leading-meta);
}

.privacy-policy-page__policy-section--choices {
  padding-bottom: var(--space-10);
}

.privacy-policy-page__prose--choices {
  width: min(100%, 42.5rem);
}

.privacy-policy-page__contact-line,
.privacy-policy-page__enquiry-email {
  display: inline-flex;
  align-items: center;
  min-width: 0;
  min-height: 3rem;
  color: var(--color-ink-950);
  font-weight: 700;
  overflow-wrap: anywhere;
  text-decoration-color: var(--color-brass-500);
  text-decoration-thickness: 2px;
}

.privacy-policy-page__enquiry-panel {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  width: min(100%, 42.5rem);
  min-width: 0;
  margin-top: var(--space-7);
  padding: var(--space-6);
  background: var(--color-bottle-green-900);
  color: var(--color-oatmeal-100);
}

.privacy-policy-page__enquiry-panel > * {
  min-width: 0;
  margin: 0;
}

.privacy-policy-page__enquiry-panel h3 {
  margin-bottom: 0;
}

.privacy-policy-page__enquiry-email {
  color: var(--color-oatmeal-100);
}

.privacy-policy-page__melbourne-reference {
  color: var(--color-oatmeal-300);
  font-size: var(--text-meta);
  line-height: var(--leading-meta);
}

.privacy-policy-page__closing {
  padding: var(--space-8) 0 var(--space-9);
  border-top: 1px solid var(--color-border-light);
}

.privacy-policy-page__closing-copy {
  grid-column: 2;
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  width: min(100%, 38.75rem);
  min-width: 0;
  padding-top: var(--space-5);
  border-top: var(--rule-brass);
}

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

.privacy-policy-page__closing-copy h2 {
  margin-bottom: 0;
}

.privacy-policy-page__top-link {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  width: fit-content;
  min-width: 0;
  min-height: 3rem;
  color: var(--color-ink-950);
  font-size: var(--text-meta);
  font-weight: 700;
}

.privacy-policy-page a:focus-visible {
  outline-color: var(--color-ink-950);
}

.privacy-policy-page__policy-section--dark a:focus-visible,
.privacy-policy-page__card-room-inset a:focus-visible,
.privacy-policy-page__enquiry-panel a:focus-visible {
  outline-color: var(--color-brass-300);
}

@media (max-width: 899px) {
  .privacy-policy-page__title-layout,
  .privacy-policy-page__document-layout,
  .privacy-policy-page__closing-layout {
    grid-template-columns: minmax(0, 1fr);
    row-gap: var(--space-5);
  }

  .privacy-policy-page__rail-reserve,
  .privacy-policy-page__section-marker,
  .privacy-policy-page__closing-offset,
  .privacy-policy-page__title-space {
    display: none;
  }

  .privacy-policy-page__title-copy,
  .privacy-policy-page__contents,
  .privacy-policy-page__orientation-copy,
  .privacy-policy-page__prose,
  .privacy-policy-page__closing-copy {
    grid-column: 1;
  }

  .privacy-policy-page__title-copy {
    width: min(100%, 42.5rem);
  }

  .privacy-policy-page__contents {
    position: static;
    width: 100%;
    padding: 0;
  }

  .privacy-policy-page__orientation {
    padding: var(--space-7) 0;
  }

  .privacy-policy-page__orientation-copy {
    width: min(100%, 42.5rem);
  }

  .privacy-policy-page__contents a {
    min-height: 3.5rem;
    padding: var(--space-3) var(--space-2);
    font-size: var(--text-meta);
  }

  .privacy-policy-page__prose,
  .privacy-policy-page__prose--use,
  .privacy-policy-page__prose--choices,
  .privacy-policy-page__legal-block,
  .privacy-policy-page__legal-block--dark,
  .privacy-policy-page__enquiry-panel,
  .privacy-policy-page__closing-copy {
    width: min(100%, 43.75rem);
  }

  .privacy-policy-page__card-room-inset,
  .privacy-policy-page__offline-panel {
    width: 100%;
  }
}

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

@media (max-width: 699px) {
  .privacy-policy-page__title-band {
    padding: var(--space-8) 0 var(--space-7);
  }

  .privacy-policy-page__title-copy h1 {
    font-size: clamp(2.375rem, 11vw, 3rem);
  }

  .privacy-policy-page__lead {
    width: 100%;
  }

  .privacy-policy-page__policy-section {
    padding: var(--space-8) 0;
  }

  .privacy-policy-page__prose h2 {
    font-size: clamp(1.8125rem, 9vw, 2rem);
  }

  .privacy-policy-page__prose h3 {
    font-size: 1.5rem;
    line-height: 1.25;
  }

  .privacy-policy-page__card-room-inset {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-3);
    margin: var(--space-6) 0;
    padding: var(--space-5);
  }

  .privacy-policy-page__offline-panel,
  .privacy-policy-page__enquiry-panel {
    margin-top: var(--space-6);
    padding: var(--space-5);
  }

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

  .privacy-policy-page__legal-block--retention {
    width: 100%;
    padding-left: var(--space-4);
  }

  .privacy-policy-page__closing {
    padding: var(--space-8) 0 var(--space-9);
  }
}

@media (prefers-reduced-motion: reduce) {
  .privacy-policy-page * {
    scroll-behavior: auto;
  }
}
