:root { color-scheme:light; --page-bg:#F7F8FA; --ink:#3f373a; --pink:#aa6f80; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; padding:0 0 calc(104px + env(safe-area-inset-bottom)); background:var(--page-bg); color:var(--ink); font-family:system-ui,-apple-system,"Yu Gothic","Meiryo",sans-serif; }
main { width:100%; max-width:600px; margin:0 auto; }
.lp-art { position:relative; width:100%; line-height:0; }
.lp-main { display:block; width:100%; height:auto; }
.cta-areas { position:absolute; inset:0; pointer-events:none; }
.image-cta { position:absolute; display:block; min-width:48px; min-height:48px; pointer-events:auto; border-radius:10px; outline-offset:3px; }
.image-cta:focus-visible { outline:3px solid #67414d; }
.final-cta-boundary { position:absolute; display:block; pointer-events:none; }
.sticky-cta { position:fixed; z-index:10; left:50%; bottom:calc(10px + env(safe-area-inset-bottom)); display:flex; align-items:center; justify-content:center; width:min(94vw,390px); min-height:64px; padding:0; transform:translateX(-50%); border-radius:14px; background:transparent; }
.sticky-cta img { display:block; width:100%; max-height:100px; height:auto; object-fit:contain; }
.sticky-cta[hidden] { display:none; }
.visually-hidden { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:normal!important; border:0!important; }
.semantic-copy h2,.semantic-copy h3,.semantic-copy p { margin:0 0 1em; }
dialog { width:min(92vw,440px); padding:0; border:1px solid #eadde1; border-radius:16px; color:var(--ink); box-shadow:0 18px 70px rgb(30 15 20 / 24%); }
dialog::backdrop { background:rgb(40 29 33 / 44%); }
.dialog-inner { padding:22px; }
.dialog-inner h2 { margin:0 0 10px; font-size:20px; }
.dialog-inner p { margin:0 0 18px; line-height:1.7; }
.dialog-inner button { min-width:88px; min-height:44px; padding:8px 18px; border:0; border-radius:999px; background:var(--pink); color:white; font:inherit; cursor:pointer; }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
