:root {
  color-scheme: light;
  --ink: #153c39;
  --cream: #f7f0e4;
  --focus: #f4bb4c;
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  background: var(--cream);
  color: var(--ink);
  font-family: "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
}

.skip-link {
  position: absolute;
  z-index: 10;
  left: 12px;
  top: -60px;
  padding: 12px 18px;
  background: #fff;
  color: var(--ink);
}

.skip-link:focus { top: 12px; }

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

.lp {
  width: min(100%, 948px);
  margin: 0 auto;
  box-shadow: 0 16px 60px rgb(32 31 27 / 12%);
}

.panel {
  position: relative;
  width: 100%;
  line-height: 0;
  background: var(--cream);
}

.panel img {
  display: block;
  width: 100%;
  height: auto;
}

.cta-hit {
  position: absolute;
  display: block;
  border-radius: 999px;
  z-index: 2;
}

.cta-hit:hover { background: rgb(255 255 255 / 12%); }

.cta-hit:focus-visible {
  outline: 5px solid var(--focus);
  outline-offset: 4px;
}

.cta-hit-hero {
  left: 9.2%;
  top: 86.2%;
  width: 81.6%;
  height: 8.1%;
}

.cta-hit-final {
  left: 4.4%;
  top: 80.8%;
  width: 91.2%;
  height: 10.1%;
}

.footer {
  width: min(100%, 948px);
  margin: 0 auto;
  padding: 30px 20px 38px;
  text-align: center;
  background: var(--cream);
  font-size: 16px;
  line-height: 1.8;
}

.footer p { margin: 0 0 8px; }

.footer a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 8px 18px;
  color: var(--ink);
  text-underline-offset: 4px;
}

.footer a:focus-visible {
  outline: 3px solid var(--focus);
  outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}
