:root {
  --lvyn-uhd-desk-width: 2400px;
  --lvyn-uhd-public-width: 2160px;
  --lvyn-uhd-reading-width: 1960px;
}

img,
video,
canvas,
svg {
  image-rendering: auto;
}

@media (min-width: 1920px) {
  html {
    font-size: clamp(16px, .52vw, 20px);
    text-rendering: geometricPrecision;
  }

  body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }

  body[data-market] {
    --market-scene: var(--market-scene-uhd) !important;
  }

  .app {
    max-width: min(var(--lvyn-uhd-desk-width), calc(100vw - 80px));
    padding-inline: clamp(24px, 2vw, 64px);
  }

  html[data-page="portal"] .p-top,
  html[data-page="portal"] .hero,
  html[data-page="portal"] .trust-strip {
    max-width: min(var(--lvyn-uhd-public-width), calc(100vw - 80px));
    margin-inline: auto;
  }

  html[data-page="portal"] .block,
  html[data-page="portal"] .block.alt > * {
    max-width: min(var(--lvyn-uhd-reading-width), calc(100vw - 96px));
  }

  body[data-market] .site-head,
  body[data-market] .hero {
    width: min(var(--lvyn-uhd-public-width), calc(100vw - 80px));
  }

  body[data-market] .section {
    width: min(var(--lvyn-uhd-reading-width), calc(100vw - 96px));
  }

  .admin {
    max-width: min(1920px, calc(100vw - 80px));
    padding-inline: clamp(24px, 2vw, 56px);
  }

  .hero-film video,
  .film-card video {
    filter: saturate(1.03) contrast(1.02);
  }

  .analysis-fx {
    width: 100vw;
    height: 100vh;
  }
}

@media (min-width: 3200px) {
  :root {
    --lvyn-uhd-desk-width: 2880px;
    --lvyn-uhd-public-width: 2560px;
    --lvyn-uhd-reading-width: 2240px;
  }

  html {
    font-size: 20px;
  }

  .app {
    padding-inline: 72px;
  }
}

@media (min-resolution: 2dppx) {
  body {
    text-rendering: optimizeLegibility;
  }

  canvas {
    image-rendering: auto;
  }
}

@media (prefers-reduced-motion: reduce) {
  .hero-film video,
  .film-card video {
    filter: none;
  }
}
