html:has(.privacy-dialog[open]) {
  overflow: hidden;
}
.privacy-dialog {
  --design-unit: calc(100vw / 1920);
  position: fixed;
  inset: 0;
  width: 100vw;
  height: 100dvh;
  max-width: none;
  max-height: none;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: #fff;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
}
.privacy-dialog::backdrop {
  background: rgba(13, 5, 1, 0.9);
  -webkit-backdrop-filter: blur(3px);
  backdrop-filter: blur(3px);
}
.privacy-dialog__close {
  position: fixed;
  z-index: 3;
  top: max(24px, calc(32 * var(--design-unit)));
  right: max(24px, calc(48 * var(--design-unit)));
  width: max(44px, calc(48 * var(--design-unit)));
  height: max(44px, calc(48 * var(--design-unit)));
  padding: 0;
  border: 0;
  border-radius: 4px;
  background: transparent;
  color: #fff;
  cursor: pointer;
}
.privacy-dialog__close::before,
.privacy-dialog__close::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 24px;
  height: 2px;
  background: currentColor;
  transform: translate(-50%, -50%) rotate(45deg);
}
.privacy-dialog__close::after { transform: translate(-50%, -50%) rotate(-45deg); }
.privacy-dialog__close:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
/* Figma 44:2482: the privacy layout deliberately has no role metadata or apply CTA. */
.privacy-dialog__sheet {
  min-height: calc(1827 * var(--design-unit));
  padding-top: calc(431 * var(--design-unit));
  padding-bottom: calc(500 * var(--design-unit) + env(safe-area-inset-bottom));
}
.privacy-dialog__label {
  margin-left: calc(180 * var(--design-unit));
  font: 500 calc(24 * var(--design-unit)) / 1.2 var(--font-display);
  letter-spacing: calc(3.12 * var(--design-unit));
}
.privacy-dialog__body {
  margin-left: calc(338 * var(--design-unit));
  width: calc(1371 * var(--design-unit));
  margin-top: calc(106.2 * var(--design-unit));
}
.privacy-dialog__title {
  font: 700 calc(126 * var(--design-unit)) / calc(119 * var(--design-unit)) var(--font-display);
}
.privacy-dialog__title:focus,
.privacy-dialog__section h3:focus {
  outline: none;
}
.privacy-dialog__sections {
  margin-top: calc(47 * var(--design-unit));
  margin-left: calc(1 * var(--design-unit));
}
.privacy-dialog__section + .privacy-dialog__section {
  margin-top: calc(115.2 * var(--design-unit));
}
.privacy-dialog__section h3 {
  font: 700 calc(41 * var(--design-unit)) / 1.6 var(--font-display);
}
.privacy-dialog__section p {
  font: 400 calc(18 * var(--design-unit)) / 1.6 var(--font-body);
}
.privacy-dialog__section a:hover,
.privacy-dialog__section a:focus-visible {
  text-decoration: underline;
  text-underline-offset: 3px;
}
/* The legal row reuses the shared footer, inside the modal's focus scope. */
.privacy-dialog__legal,
.privacy-dialog__header,
.privacy-dialog__footer { display: none; }
@media (min-width: 769px) {
  html[lang^="zh-"] .privacy-dialog__sheet {
    min-height: calc(1911 * var(--design-unit)); padding-top: calc(371 * var(--design-unit));
    padding-bottom: calc(109 * var(--design-unit));
  }
  html[lang^="zh-"] .privacy-dialog__label { font-weight: 400; }
  html[lang^="zh-"] .privacy-dialog__body {
    width: calc(1405 * var(--design-unit)); margin-top: calc(86.2 * var(--design-unit));
  }
  html[lang^="zh-"] .privacy-dialog__title {
    font-size: calc(110 * var(--design-unit)); line-height: calc(116 * var(--design-unit));
    font-weight: 800; white-space: nowrap;
  }
  html[lang^="zh-"] .privacy-dialog__sections { margin-top: calc(71 * var(--design-unit)); }
  html[lang^="zh-"] .privacy-dialog__section h3 { line-height: 1.6; }
  html[lang^="zh-"] .privacy-dialog__section p { font-size: calc(20 * var(--design-unit)); line-height: calc(32 * var(--design-unit)); }
  html[lang^="zh-"] .privacy-dialog__section a { text-decoration: underline; }
  html[lang^="zh-"] .privacy-dialog__legal {
    display: grid; margin: calc(202.6 * var(--design-unit)) 0 0 calc(189 * var(--design-unit));
    grid-template-columns: calc(1073 * var(--design-unit)) calc(636 * var(--design-unit));
    column-gap: calc(22 * var(--design-unit));
  }
}
/* The existing 390px legal page, presented within the current document. */
@media (max-width: 768px) {
  .privacy-dialog { background: #140700; font: inherit; -webkit-overflow-scrolling: touch; }
  .privacy-dialog::backdrop { background: #140700; backdrop-filter: none; -webkit-backdrop-filter: none; }
  .privacy-dialog__close {
    top: calc(.12rem + env(safe-area-inset-top)); right: .31rem;
    width: max(44px, .44rem); height: max(44px, .44rem);
  }
  .privacy-dialog__sheet {
    position: relative; min-height: max(14.19rem, 100dvh);
    padding: calc(1.13rem + env(safe-area-inset-top)) 0 0;
    background: url(../../images/mobile/privacy-background.png) center top / 3.9rem auto no-repeat;
  }
  .privacy-dialog__header {
    display: block; position: fixed; z-index: 2; top: 0; left: 0;
    width: 100%; height: calc(.72rem + env(safe-area-inset-top)); background: #140700;
  }
  .privacy-dialog__brand { display: block; width: .51rem; margin: calc(.24rem + env(safe-area-inset-top)) 0 0 .39rem; }
  .privacy-dialog__brand img { width: 100%; height: auto; }
  .privacy-dialog__label { display: none; }
  .privacy-dialog__body { width: auto; margin: .604rem 0 0; }
  .privacy-dialog__title { margin: 0 .17rem 0 .37rem; font: 800 .46rem/.55rem var(--font-display); }
  html:lang(zh-CN) .privacy-dialog__title { font-family: "Montserrat", "MAESO Heading SC", sans-serif; font-weight: 900; }
  html:lang(zh-TW) .privacy-dialog__title { font-family: "Montserrat", "MAESO Heading TC", sans-serif; font-weight: 900; }
  .privacy-dialog__sections { margin: .33rem .14rem 0 .39rem; padding-bottom: .75rem; }
  .privacy-dialog__section h3 { font: 700 .26rem/.65rem var(--font-body); }
  .privacy-dialog__section p { font: 400 .18rem/.288rem var(--font-body); }
  .privacy-dialog__section a { text-decoration: underline; overflow-wrap: anywhere; }
  .privacy-dialog__section + .privacy-dialog__section { margin-top: .864rem; }
  .privacy-dialog__footer { display: block; width: 100%; }
}
@media (prefers-reduced-motion: no-preference) {
  .privacy-dialog[open]::backdrop,
  .privacy-dialog[open] .privacy-dialog__sheet {
    animation: privacy-enter 0.35s ease-out;
  }
  @keyframes privacy-enter { from { opacity: 0; } to { opacity: 1; } }
}
