:root {
  color-scheme: light;
  --page-padding: clamp(12px, 3vw, 32px);
  --poster-radius: clamp(12px, 2vw, 24px);
  --poster-shadow: 0 24px 60px rgba(23, 77, 64, 0.18);
}

* {
  box-sizing: border-box;
}

html {
  height: 100%;
}

body {
  margin: 0;
  min-height: 100vh;
  min-height: 100svh;
  display: grid;
  place-items: center;
  padding: var(--page-padding);
  background: #f5f9f4;
  font-family: Arial, sans-serif;
}

main {
  width: 100%;
  display: grid;
  place-items: center;
}

img {
  display: block;
  width: auto;
  height: auto;
  max-width: min(100%, 1280px);
  max-height: calc(100dvh - (var(--page-padding) * 2));
  border-radius: var(--poster-radius);
  box-shadow: var(--poster-shadow);
}

@supports not (height: 100dvh) {
  img {
    max-height: calc(100vh - (var(--page-padding) * 2));
  }
}

@media (max-width: 640px) {
  :root {
    --poster-shadow: 0 16px 36px rgba(23, 77, 64, 0.14);
  }
}
