:root {
  --bg: #eef4ff;
  --text: #203056;
  --accent-1: #7a51ea;
  --accent-2: #21c7d9;
}
* { box-sizing: border-box; }
body {
  margin: 0;
  font-family: Arial, Helvetica, sans-serif;
  color: var(--text);
  background:
    radial-gradient(circle at top left, rgba(122,81,234,.20), transparent 26%),
    radial-gradient(circle at top right, rgba(33,199,217,.20), transparent 24%),
    var(--bg);
}
.page {
  min-height: calc(100vh - 42px);
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 18px 12px 8px;
}
.card-shell { width: min(100%, 470px); }
.image-map {
  position: relative;
  width: 100%;
  overflow: hidden;
  border-radius: 28px;
  box-shadow: 0 20px 48px rgba(34, 56, 92, 0.18);
  line-height: 0;
  background: white;
}
.image-map img {
  display: block;
  width: 100%;
  height: auto;
}
.hotspot {
  position: absolute;
  display: block;
  border-radius: 999px;
  text-decoration: none;
  background: rgba(255,255,255,0.001);
  transition: box-shadow .2s ease, background-color .2s ease, transform .2s ease;
}
.hotspot:hover,
.hotspot:focus-visible {
  background: rgba(122,81,234,.10);
  box-shadow: 0 0 0 2px rgba(122,81,234,.28) inset, 0 6px 16px rgba(33,199,217,.20);
  transform: scale(1.03);
  outline: none;
}
.download-btn {
  width: 100%;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  margin-top: 14px;
  padding: 14px 18px;
  border-radius: 999px;
  color: #fff;
  text-decoration: none;
  font-weight: 700;
  background: linear-gradient(90deg, var(--accent-1), var(--accent-2));
  box-shadow: 0 12px 32px rgba(48, 66, 104, .18);
  transition: transform .2s ease, box-shadow .2s ease;
}
.download-btn:hover,
.download-btn:focus-visible {
  transform: translateY(-1px);
  box-shadow: 0 16px 36px rgba(48, 66, 104, .24);
  outline: none;
}
.site-footer {
  padding: 0 12px 18px;
  text-align: center;
}
.site-footer p {
  margin: 0;
  font-size: 12px;
  color: rgba(32,48,86,.72);
}
.site-footer a {
  color: inherit;
  text-decoration: none;
}
.site-footer a:hover,
.site-footer a:focus-visible {
  text-decoration: underline;
  outline: none;
}
@media (max-width: 360px) {
  .download-btn { font-size: 15px; }
}
