:root {
  --bw-blue: #10253f;
  --bw-gold: #b88a3b;
  --bw-stone: #f4f1ea;
  --bw-white: #ffffff;
}

* {
  box-sizing: border-box;
}

html,
body {
  margin: 0;
  min-height: 100%;
  background: var(--bw-white);
  color: var(--bw-blue);
}

body {
  display: flex;
  justify-content: center;
  font-family: Georgia, "Times New Roman", serif;
}

.page-shell {
  width: 100%;
  min-height: 100vh;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  background: #ffffff;
}

.poster-frame {
  position: relative;
  width: min(100vw, 1080px);
  margin: 0 auto;
  background: #ffffff;
  overflow: hidden;
}

.poster {
  display: block;
  width: 100%;
  height: auto;
  margin: 0 auto;
  user-select: none;
  -webkit-user-drag: none;
}

.hotspot {
  position: absolute;
  display: block;
  z-index: 10;
  text-decoration: none;
  cursor: pointer;
}

/* Based on the 1024 × 1280 approved visual reference. */
.email-hotspot {
  left: 34.5%;
  top: 82.1%;
  width: 35%;
  height: 3.4%;
}

.button-hotspot {
  left: 35.4%;
  top: 86.4%;
  width: 29.6%;
  height: 4.9%;
}

.hotspot:focus-visible {
  outline: 2px solid var(--bw-gold);
  outline-offset: 4px;
  border-radius: 6px;
}

.seo-copy {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

@media (min-width: 1081px) {
  .poster-frame {
    box-shadow: 0 0 0 1px rgba(16, 37, 63, 0.04);
  }
}

@media (max-width: 640px) {
  .poster-frame {
    width: 100vw;
  }
}
