:root {
  --page-bg: #070313;
  --page-bg-2: #13092f;
  --glow: rgba(176, 106, 255, 0.22);
  --gold-1: #fff0aa;
  --gold-2: #f7b72c;
  --ink: #140b2d;
  --safe-bottom: env(safe-area-inset-bottom, 0px);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--page-bg); }
body {
  margin: 0;
  min-width: 320px;
  background:
    radial-gradient(circle at 50% 0%, var(--glow), transparent 34rem),
    linear-gradient(180deg, var(--page-bg-2) 0%, var(--page-bg) 60%);
  color: #fff;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
}

img { display: block; width: 100%; height: auto; }
a { -webkit-tap-highlight-color: transparent; }

.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: 100%; }
.desktop-visual { display: block; padding: 24px 18px 40px; }
.desktop-frame {
  position: relative;
  width: min(100%, 1024px);
  margin: 0 auto;
  overflow: hidden;
  border-radius: 18px;
  box-shadow: 0 30px 90px rgba(0,0,0,.48), 0 0 42px rgba(164, 83, 255, .16);
  background: #fff;
}
.master-image { width: 100%; }

.visual-cta {
  position: absolute;
  display: block;
  border-radius: 999px;
  cursor: pointer;
  outline: none;
}
.visual-cta:focus-visible {
  box-shadow: 0 0 0 4px rgba(255,255,255,.9), 0 0 0 8px rgba(126,75,255,.85);
}
.desktop-cta {
  left: 29.5%;
  width: 45%;
  top: 91.3%;
  height: 5.1%;
}
.desktop-cta:hover { background: rgba(255,255,255,.08); }

.mobile-visual { display: none; }
.mobile-sticky { display: none; }

@media (max-width: 760px) {
  body { background: #070313; }
  .desktop-visual { display: none; }
  .mobile-visual {
    display: block;
    width: 100%;
    padding-bottom: calc(82px + var(--safe-bottom));
  }
  .visual-panel {
    position: relative;
    width: 100%;
    margin: 0;
    overflow: hidden;
    background: #fff;
  }
  .visual-panel + .visual-panel { margin-top: -1px; }
  .visual-panel img { width: 100%; }

  .cta-panel { position: relative; }
  .mobile-image-cta {
    left: 29%;
    width: 46%;
    top: 42%;
    height: 34%;
  }

  .mobile-sticky {
    position: fixed;
    z-index: 50;
    left: 0;
    right: 0;
    bottom: 0;
    display: block;
    padding: 10px 14px calc(10px + var(--safe-bottom));
    background: linear-gradient(180deg, rgba(7,3,19,0), rgba(7,3,19,.94) 32%);
    pointer-events: none;
  }
  .sticky-button {
    pointer-events: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 54px;
    width: min(100%, 520px);
    margin: 0 auto;
    border-radius: 999px;
    color: var(--ink);
    text-decoration: none;
    font-weight: 800;
    font-size: 17px;
    letter-spacing: .02em;
    background: linear-gradient(180deg, var(--gold-1), var(--gold-2));
    border: 1px solid rgba(255,255,255,.55);
    box-shadow: 0 10px 30px rgba(0,0,0,.4), inset 0 1px 0 rgba(255,255,255,.9);
  }
  .sticky-button:active { transform: translateY(1px); }
}

@media (min-width: 761px) and (max-width: 1100px) {
  .desktop-visual { padding-inline: 12px; }
  .desktop-frame { border-radius: 14px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition: none !important; animation: none !important; }
}
