.lp { overflow-x: hidden; }
.lp-track { position: relative; height: 225vh; }
.lp-stage { position: sticky; top: 0; height: 100vh; height: 100svh; min-height: 560px; overflow: hidden; background: #fff; }
.lp-head { position: absolute; z-index: 6; left: 16px; right: 16px; top: 16px; height: 56px; padding: 0 6px 0 16px; border-radius: 999px; background: #fff; border: 1px solid var(--line); display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.lp-head img { display: block; height: 34px; width: auto; }
.lp-links { display: none; }
.lp-login { height: 44px; padding: 0 18px; display: flex; align-items: center; border-radius: 999px; background: #000; color: #fff; text-decoration: none; font-size: 14px; font-weight: 500; }
.lp-login:hover { color: #fff; background: #222; }
.lp-flash { position: absolute; z-index: 7; left: 16px; right: 16px; top: 84px; padding: 12px 16px; border-radius: 16px; background: var(--green); font-weight: 500; }
.lp-inner { position: absolute; left: 50%; top: 0; width: 390px; height: calc(100% / var(--k, 1)); margin-left: -195px; transform-origin: top center; transform: scale(var(--k, 1)); }
.lp-br { display: block; height: 0; overflow: hidden; }
.lp-a, .lp-b { position: absolute; left: 20px; right: 20px; will-change: transform, opacity; }
.lp-a { top: 110px; }
.lp-b { top: 104px; opacity: 0; }
.lp-eyebrow { font-size: 12px; font-weight: 700; letter-spacing: 0.24em; text-transform: uppercase; }
.lp-a h1 { margin: 14px 0 0; font-size: 78px; line-height: 0.96; font-weight: 500; letter-spacing: -0.055em; }
.lp-b-s { font-size: 26px; line-height: 1.1; font-weight: 500; letter-spacing: -0.04em; }
.lp-b-l { margin-top: 6px; font-size: 68px; line-height: 0.98; font-weight: 700; letter-spacing: -0.055em; }
.lp-grad { background: var(--grad); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: var(--pink); -webkit-box-decoration-break: clone; box-decoration-break: clone; }
.lp-cta-d { display: none; }
.lp-phone { position: absolute; left: calc(50% - 145px); top: 370px; width: 290px; height: 580px; background: url(img/iphone.webp) no-repeat 0 0 / 1740px 3480px; will-change: transform; }
.lp-p { position: absolute; height: auto; will-change: transform, opacity; }
.lp-p1 { left: calc(50% + 23px); top: 112px; width: 62px; transform: rotate(-14deg); }
.lp-p2 { left: calc(50% + 95px); top: 150px; width: 84px; transform: rotate(12deg); }
.lp-p3 { left: calc(50% + 62px); top: 330px; width: 118px; transform: rotate(-10deg); }
.lp-p4 { left: calc(50% - 183px); top: 456px; width: 100px; transform: rotate(14deg); }
.lp-p5 { left: calc(50% + 119px); top: 462px; width: 60px; transform: rotate(18deg); }
.lp-hint { position: absolute; z-index: 5; left: 0; right: 0; bottom: 26px; display: flex; flex-direction: column; align-items: center; gap: 6px; font-size: 11px; font-weight: 700; letter-spacing: 0.24em; text-transform: uppercase; pointer-events: none; }
.lp-hint span { padding: 6px 12px 6px 14px; border-radius: 999px; background: rgba(255, 255, 255, 0.92); }
.lp-hint svg { border-radius: 999px; background: rgba(255, 255, 255, 0.92); }
.lp-cta-m { position: absolute; z-index: 5; left: 20px; right: 20px; bottom: calc(28px + env(safe-area-inset-bottom, 0px)); height: 58px; font-size: 17px; font-weight: 700; opacity: 0; pointer-events: none; }

.lp-body { max-width: 1248px; margin: 0 auto; padding: 32px 20px 28px; display: flex; flex-direction: column; gap: 24px; }
.lp-sec { display: flex; flex-direction: column; gap: 16px; }
.lp-how { display: flex; flex-direction: column; gap: 16px; }
.lp-step { display: flex; gap: 14px; align-items: flex-start; }
.lp-n { flex-shrink: 0; width: 34px; height: 34px; border-radius: 999px; background: #000; color: #fff; display: flex; align-items: center; justify-content: center; font-size: 14px; font-weight: 700; }
.lp-step-t { font-size: 16px; font-weight: 500; }
.lp-step-d { font-size: 14px; line-height: 1.45; }
.lp-prize { background: #000; color: #fff; border-radius: 20px; padding: 18px 20px; display: flex; align-items: center; justify-content: space-between; gap: 12px; text-decoration: none; }
.lp-prize:hover { color: #fff; }
.lp-prize-t { display: flex; flex-direction: column; gap: 6px; }
.lp-prize-n { font-size: 22px; line-height: 1.25; font-weight: 500; letter-spacing: -0.04em; }
.lp-prize-l { font-size: 14px; text-decoration: underline; }
.lp-prize-ic { flex-shrink: 0; width: 44px; height: 44px; border-radius: 999px; background: linear-gradient(135deg, #d4737f 0%, #e9aac9 35%, #aed9e4 68%, #b7cea6 100%); color: #000; display: flex; align-items: center; justify-content: center; }
.lp-faq { display: grid; grid-template-columns: 1fr; gap: 10px; }
.lp-faq .card { gap: 4px; padding: 16px 18px; }
.lp-q { font-size: 16px; font-weight: 500; }
.lp-foot { border-top: 1px solid var(--line); padding-top: 18px; display: flex; flex-direction: column; gap: 12px; }
.lp-foot-links { display: flex; flex-direction: column; gap: 4px; }
.lp-foot-links a { min-height: 44px; display: flex; align-items: center; font-size: 15px; font-weight: 500; }

@media (min-width: 900px) {
  .lp-head { left: 48px; right: 48px; top: 24px; height: 64px; padding: 0 8px 0 24px; }
  .lp-head img { height: 38px; }
  .lp-links { display: flex; gap: 36px; margin-left: auto; }
  .lp-links a { text-decoration: none; font-size: 15px; font-weight: 500; }
  .lp-login { height: 48px; padding: 0 22px; font-size: 15px; }
  .lp-flash { left: 48px; right: 48px; top: 100px; }
  .lp-inner { width: 1440px; height: 900px; margin-left: -720px; }
  .lp-br { display: inline; }
  .lp-a { left: 96px; right: auto; width: 680px; top: 190px; }
  .lp-b { left: 96px; right: auto; width: 720px; top: 180px; }
  .lp-eyebrow { font-size: 13px; }
  .lp-a h1 { margin-top: 18px; font-size: 132px; line-height: 0.94; }
  .lp-b-s { font-size: 40px; }
  .lp-b-l { margin-top: 8px; font-size: 112px; line-height: 0.96; }
  .lp-cta-d { position: absolute; left: 96px; top: 690px; display: flex; align-items: center; gap: 20px; }
  .lp-cta-d .btn { width: 240px; height: 64px; font-size: 18px; font-weight: 700; }
  .lp-cta-d .linkbtn { font-size: 16px; }
  .lp-phone { left: 870px; top: 110px; width: 380px; height: 760px; background-size: 2280px 4560px; }
  .lp-p1 { left: 748px; top: 150px; width: 150px; }
  .lp-p2 { left: 1170px; top: 120px; width: 196px; }
  .lp-p3 { left: 1140px; top: 560px; width: 270px; }
  .lp-p4 { left: 700px; top: 580px; width: 236px; }
  .lp-p5 { left: 1000px; top: 610px; width: 116px; }
  .lp-cta-m { display: none; }
  .lp-body { padding: 72px 96px 48px; gap: 64px; }
  .lp-sec { gap: 28px; }
  .lp-how { flex-direction: row; gap: 32px; }
  .lp-step { flex: 1; flex-direction: column; gap: 10px; }
  .lp-n { width: 40px; height: 40px; font-size: 15px; }
  .lp-step-t { font-size: 20px; letter-spacing: -0.02em; }
  .lp-step-d { font-size: 15px; line-height: 1.5; margin-top: 8px; }
  .lp-prize { border-radius: 28px; padding: 44px 48px; }
  .lp-prize-t { gap: 10px; }
  .lp-prize-n { font-size: 64px; line-height: 1.05; }
  .lp-prize-l { font-size: 17px; }
  .lp-prize-ic { width: 72px; height: 72px; }
  .lp-apply { display: none; }
  .lp-faq { grid-template-columns: 1fr 1fr; gap: 16px; }
  .lp-faq .card { padding: 22px 24px; gap: 6px; }
  .lp-faq-w { grid-column: 1 / 3; }
  .lp-q { font-size: 18px; }
  .lp-foot { padding-top: 24px; }
  .lp-foot-links { flex-direction: row; flex-wrap: wrap; gap: 4px 32px; }
}
@media (prefers-reduced-motion: reduce) {
  .lp-track { height: auto; }
  .lp-hint { display: none; }
  .lp-cta-m { opacity: 1; pointer-events: auto; }
}
