:root{
  --indigo:#4f46e5; --indigo-d:#3730a3; --indigo-l:#818cf8;
  --ink:#0f172a; --muted:#475569; --line:#e5e7eb; --bg:#f7f7fb;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:"Apple SD Gothic Neo","Noto Sans KR",-apple-system,sans-serif;background:var(--bg);color:var(--ink);line-height:1.55;-webkit-font-smoothing:antialiased}
main{max-width:560px;margin:0 auto;background:#fff}
b{color:inherit;font-weight:800}

/* HERO */
.hero{background:radial-gradient(circle at 50% 0%,var(--indigo-l),var(--indigo) 55%,var(--indigo-d));
  color:#fff;text-align:center;padding:56px 26px 60px}
.hero .bot{font-size:76px;filter:drop-shadow(0 12px 24px rgba(0,0,0,.28))}
.hero .kicker{font-weight:800;opacity:.9;margin-top:10px;font-size:16px}
.hero h1{font-size:34px;font-weight:900;line-height:1.28;letter-spacing:-1px;margin-top:6px;word-break:keep-all}
.hero h1 b{color:#fde047}
.hero .sub{margin-top:18px;font-size:16px;opacity:.95;word-break:keep-all}
.cta-btn{display:inline-block;margin-top:26px;background:#fff;color:var(--indigo-d);font-weight:900;
  font-size:18px;padding:15px 34px;border-radius:999px;text-decoration:none;box-shadow:0 10px 24px rgba(0,0,0,.18)}

/* BLOCKS */
.block{padding:44px 26px}
.block.alt{background:#faf9ff}
.block h2{font-size:24px;font-weight:900;letter-spacing:-.5px;text-align:center;margin-bottom:24px;word-break:keep-all}
.cards{display:grid;gap:14px}
.card{border:1px solid var(--line);border-radius:16px;padding:20px;background:#fff}
.card span{font-size:34px}
.card h3{font-size:18px;font-weight:800;margin:8px 0 4px}
.card p{color:var(--muted);font-size:15px;word-break:keep-all}
.facts{list-style:none;display:grid;gap:14px}
.facts li{background:#fff;border:1px solid var(--line);border-left:5px solid var(--indigo);
  border-radius:12px;padding:15px 16px;font-size:15px;color:var(--muted);word-break:keep-all}
.facts li b{color:var(--ink)}
.pricebar{margin-top:22px;background:var(--indigo);color:#fff;border-radius:16px;text-align:center;
  padding:20px;font-size:22px;font-weight:900;letter-spacing:-.5px}

/* FORM */
.formlead{text-align:center;color:var(--muted);font-size:15px;margin-bottom:22px;word-break:keep-all}
form{display:grid;gap:16px}
label{display:grid;gap:7px;font-weight:800;font-size:15px}
label span{color:var(--indigo)}
input,textarea{font:inherit;border:1.5px solid var(--line);border-radius:12px;padding:14px;background:#fff;width:100%}
input:focus,textarea:focus{outline:none;border-color:var(--indigo)}
textarea{resize:vertical}
#submitBtn{background:var(--indigo);color:#fff;font-weight:900;font-size:18px;border:none;border-radius:14px;
  padding:17px;cursor:pointer;margin-top:4px}
#submitBtn:disabled{opacity:.6;cursor:default}
.formnote{text-align:center;font-size:14px;min-height:20px;color:#dc2626}
.formnote.ok{color:#059669}

footer{text-align:center;padding:34px 26px 48px;color:var(--muted);font-size:15px;border-top:1px solid var(--line)}
footer .small{margin-top:6px;font-size:13px;opacity:.7}

/* DONE overlay */
.done{position:fixed;inset:0;background:rgba(15,23,42,.55);display:flex;align-items:center;justify-content:center;padding:26px;z-index:50}
.done[hidden]{display:none}
.done-inner{background:#fff;border-radius:22px;max-width:400px;width:100%;text-align:center;padding:38px 26px}
.done .check{font-size:60px}
.done-inner h3{font-size:22px;font-weight:900;margin:10px 0 8px}
.done-inner p{color:var(--muted);word-break:keep-all}
#doneClose{margin-top:22px;background:var(--indigo);color:#fff;border:none;border-radius:12px;padding:13px 30px;font-weight:800;font-size:16px;cursor:pointer}
