/* Shared contact footer */
.footer__mobile { position: relative; }
.footer__brand { display: flex; flex-direction: column; align-items: center; width: max-content; margin: calc(64 * var(--design-unit)) auto 0; }
.footer__brand img { width: calc(152 * var(--design-unit)); height: auto; }
.footer__brand span { margin-top: calc(8 * var(--design-unit)); font: 300 calc(10 * var(--design-unit))/1.8 "Manrope", sans-serif; }
.footer {
  position: relative;
  min-height: calc(1335 * var(--design-unit));
  padding-top: calc(501 * var(--design-unit));
  padding-bottom: env(safe-area-inset-bottom);
}
.footer__horizon {
  position: absolute;
  top: calc(-118.48 * var(--design-unit));
  left: calc(-182.22 * var(--design-unit));
  width: calc(2355.88 * var(--design-unit));
  max-width: none;
  height: auto;
  pointer-events: none;
}
.footer__glow {
  position: absolute;
  top: calc(298 * var(--design-unit));
  left: calc(-141 * var(--design-unit));
  width: calc(2162 * var(--design-unit));
  max-width: none;
  height: auto;
  mix-blend-mode: overlay;
  pointer-events: none;
}
.footer__content {
  position: relative;
}
.footer__contacts {
  display: grid;
  grid-template-columns: calc(294 * var(--design-unit)) calc(
      338 * var(--design-unit)
    ) calc(338 * var(--design-unit)) calc(278 * var(--design-unit));
  column-gap: calc(119 * var(--design-unit));
  margin-left: calc(178 * var(--design-unit));
}
.footer__contact {
  display: flex;
  flex-direction: column;
  align-items: center;
  font-size: calc(20 * var(--design-unit));
  line-height: calc(30 * var(--design-unit));
  white-space: nowrap;
}
.footer__contact > img {
  /* The supplied icons share a 50 x 34 canvas; keep the desktop 45px slot. */
  width: calc(66.17647 * var(--design-unit));
  height: calc(45 * var(--design-unit));
  object-fit: contain;
  margin-bottom: calc(15 * var(--design-unit));
}
.footer__contact-label {
  font: 400 calc(20 * var(--design-unit)) / calc(39 * var(--design-unit))
    var(--font-display);
  letter-spacing: calc(1.6 * var(--design-unit));
}
.footer__contact,
.footer__legal a {
  transition: color 0.2s ease;
}
.footer__contact:hover,
.footer__contact:focus-visible,
.footer__legal a:hover,
.footer__legal a:focus-visible {
  color: var(--color-orange);
}
.footer__legal {
  display: grid;
  grid-template-columns: calc(1073 * var(--design-unit)) calc(
      458 * var(--design-unit)
    );
  column-gap: calc(43 * var(--design-unit));
  margin: calc(178 * var(--design-unit)) 0 0 calc(178 * var(--design-unit));
  font-size: calc(15 * var(--design-unit));
  line-height: calc(33 * var(--design-unit));
  letter-spacing: calc(0.3 * var(--design-unit));
  font-weight: 300;
}
.footer__legal > p:last-child {
  font-weight: 200;
  letter-spacing: calc(0.45 * var(--design-unit));
  line-height: calc(30 * var(--design-unit));
}
html[lang^="zh-"] .footer__legal > p:last-child {
  text-wrap: balance;
  white-space: nowrap;
}
.footer__privacy {
  color: var(--color-orange);
  font-weight: 700;
}
.footer__terms-entry { display: none; }
html[lang^="zh-"] .footer__terms-entry { display: inline; }
.footer__terms-entry button { transition: color 0.2s ease; }

.footer__contact--support {
  translate: calc(-21 * var(--design-unit)) 0;
}
.footer__contact--careers {
  translate: calc(-43 * var(--design-unit)) 0;
}
@media (min-width: 769px) {
  .footer__mobile > :not(.footer__brand) { display: none; }
  .footer { min-height: 0; padding-bottom: calc(109 * var(--design-unit) + env(safe-area-inset-bottom)); }
  .footer__privacy { color: #fff; font-weight: inherit; }
  html[lang^="zh-"] .footer__contact-label { font-weight: 400; }
  html[lang^="zh-"] .footer__contact > span:last-child { font-family: "Manrope", sans-serif; }
  html[lang^="zh-"] .footer__legal > p:last-child { font-weight: 300; }
}
@media (max-width: 768px) {
  .footer { min-height: 13.32rem; padding: 1.74rem 0 calc(1.6rem + env(safe-area-inset-bottom)); }
  .footer__horizon {
    top: -1.185rem; left: -.72rem; width: 5.52rem;
    -webkit-mask-image: linear-gradient(to right, transparent 13%, #000 32%, #000 68%, transparent 87%);
    mask-image: linear-gradient(to right, transparent 13%, #000 32%, #000 68%, transparent 87%);
  }
  .footer__glow { left: -.16rem; top: .52rem; width: 4.11rem; height: 14.45rem; }
  .footer__contacts { display: grid; grid-template-columns: 1fr; grid-template-rows: minmax(1.71rem, auto) minmax(1.78rem, auto) minmax(1.75rem, auto) auto; gap: 0; margin: 0; }
  .footer__contact { align-self: start; font-size: .16rem; line-height: .28rem; translate: none; }
  .footer__contact > img { width: .5rem; height: .34rem; margin: 0 0 .08rem; }
  .footer__contact .footer__contact-label { font-size: .16rem; line-height: .28rem; letter-spacing: 0; }
  .footer__contact--general > span:last-child { margin-top: -.02rem; }
  .footer__contact:not(.footer__contact--general) .footer__contact-label { line-height: .5rem; }
  .footer__contact--projects > img { margin-bottom: -.06rem; }
  .footer__contact--support > img { margin-bottom: -.01rem; }
  .footer__contact--careers > img { margin-bottom: 0; }
  .footer__contact:not(.footer__contact--general) > span:last-child { margin-top: -.15rem; line-height: .3rem; }
  .footer__contact--projects > span:last-child { margin-top: -.14rem; }
  .footer__legal { display: none; }
  .footer__mobile { display: block; position: relative; text-align: center; margin-top: .77rem; }
  .footer__policies { display: flex; justify-content: center; gap: .4rem; font-size: .18rem; line-height: .4rem; color: #5b5b5b; }
  .footer__policies a[data-privacy="policy"] { color: #fff; }
  .footer__policies a { min-height: .44rem; display: flex; align-items: flex-start; transition: color .2s; }
  .footer__brand { display: flex; flex-direction: column; align-items: center; width: max-content; margin: .7458rem auto 0; }
  .footer__brand img { width: 1.52rem; height: auto; }
  .footer__brand span { margin-top: .08rem; font: 300 .098rem/.18rem "Manrope", sans-serif; letter-spacing: .00294rem; }
  .footer__business { margin: .84rem auto 0; max-width: 3.3rem; font-size: .1rem; line-height: .18rem; font-weight: 300; letter-spacing: .002rem; }
  .footer__note { margin: 0 auto; max-width: 3.2rem; font-size: .1rem; line-height: .25rem; font-weight: 300; }
  html:lang(en) .footer__business { max-width: 3.2rem; font: 300 .08rem/.33rem "Manrope", sans-serif; letter-spacing: .0016rem; }
  /* Figma 179:1317 / 179:1316 start 16px apart despite their 33px / 30px line heights. */
  html:lang(en) .footer__note { margin-top: -.17rem; font: 200 .08rem/.3rem "Manrope", sans-serif; letter-spacing: .0024rem; }
  .footer--compact { min-height: 0; padding: 0 0 calc(.49rem + env(safe-area-inset-bottom)); }
  .footer--compact .footer__content, .footer--compact .footer__horizon, .footer--compact .footer__glow { display: none; }
  .footer--compact .footer__mobile { margin-top: 0; }
}

/* All policy/terms entries share one hover color, including menus and dialogs. */
[data-privacy] { text-decoration: none; }
:is(a, button)[data-privacy]:is(:hover, :focus-visible) {
  color: var(--color-orange);
  text-decoration: none;
}
