:root{--purple:#871db2;--ink:#25202a;--light:#f1e1fa}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:50px}body{margin:0;background:#eae8ed;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Noto Sans KR",sans-serif}.preview{font-size:12px;line-height:1.5;text-align:center;padding:9px 12px;background:#241530;color:#fff}.preview span{opacity:.75;margin-left:8px}main{max-width:720px;margin:auto;background:white;overflow:hidden}.panel{position:relative}.panel img{display:block;width:100%;height:auto}.hero{isolation:isolate;overflow:hidden}.hero:after{content:none}.portfolio{background:white;text-align:center;padding:8px 25px 35px}.primary,.portfolio button,.dock button{border:0;background:var(--purple);color:#fff;border-radius:10px;font:inherit;font-weight:650;min-height:54px;padding:15px 24px;cursor:pointer;transition:background .16s,transform .16s}.portfolio button{box-shadow:0 6px 18px #871db224;min-width:240px}button:active{transform:scale(.98);filter:brightness(.9)}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #a75be0;outline-offset:4px}.form-section{padding:0 7% 10%;background:linear-gradient(#1b092a,#f0dffb 32%)}form{padding:clamp(22px,5vw,42px);background:white;border-radius:18px;box-shadow:0 12px 40px #3d125713}form h2{font-size:24px;margin:0 0 8px}form .intro{margin:0 0 28px;color:#726a79;font-size:15px;line-height:1.6}.field{margin:0 0 26px}.field>label,.field legend{display:block;font-weight:650;font-size:17px;line-height:1.55;margin-bottom:10px}.req{color:var(--purple);font-size:13px;margin-left:6px}.optional{font-size:13px;color:#85808b;margin-left:6px}input[type=text],input[type=tel],textarea{width:100%;border:1px solid #ded8e4;border-radius:9px;padding:15px 14px;font:inherit;font-size:16px;color:var(--ink);background:#fff;line-height:1.6}input:focus,textarea:focus{outline:2px solid #af6cd6;outline-offset:1px}textarea{resize:vertical;min-height:128px}.hint{font-size:13px;color:#766e7e;line-height:1.6;margin:8px 0}fieldset{padding:0;border:0}.choices{display:grid;gap:8px}.choice{display:flex;align-items:center;gap:10px;border:1px solid #ded8e4;border-radius:9px;padding:14px;font-size:16px;cursor:pointer}.choice:has(input:checked){background:#f7edfc;border-color:var(--purple);color:var(--purple)}input[type=radio],input[type=checkbox]{width:19px;height:19px;accent-color:var(--purple);flex-shrink:0}.consent{display:flex;gap:10px;align-items:flex-start;font-size:14px;line-height:1.7}.privacy-toggle{border:0;background:none;text-decoration:underline;padding:0;color:var(--purple);font:inherit;cursor:pointer}form>.primary{width:100%;margin-top:22px}#form-status{font-size:14px;line-height:1.6;color:#734484;margin:14px 0 0}#faq{padding:55px 7% 60px}#faq h2{font-size:27px;margin:0 0 30px}details{border:1px solid #dedbdf;border-radius:16px;margin-bottom:14px;background:#fff;overflow:hidden}summary{list-style:none;cursor:pointer;padding:23px 24px;position:relative;padding-right:50px;line-height:1.6;font-weight:650;font-size:17px}summary::-webkit-details-marker{display:none}.qnum{color:var(--purple);display:block;margin-bottom:5px;font-weight:700}summary:after{content:'+';position:absolute;right:24px;top:40px;color:var(--purple);font-size:24px;font-weight:400}details[open] summary:after{content:'−'}.answer{padding:0 24px 25px;color:#706a74;line-height:1.85;font-size:16px;white-space:pre-line;animation:open .2s ease-out}@keyframes open{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}footer{padding:30px 7% 110px;background:#f6f4f7;color:#8a818f;font-size:12px;line-height:1.9}footer strong{color:#514658;font-size:14px}.dock{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,720px);padding:12px 18px calc(12px + env(safe-area-inset-bottom));background:linear-gradient(transparent,#fff 30%);z-index:5}.dock:not([hidden]){animation:appear .22s ease-out}.dock button{width:100%;display:flex;justify-content:center;gap:20px;box-shadow:0 4px 20px #480b682b;font-size:17px}@keyframes appear{from{opacity:0}to{opacity:1}}dialog{border:0;border-radius:18px;padding:32px;max-width:420px;width:calc(100% - 40px);box-shadow:0 20px 80px #0003;color:var(--ink)}dialog::backdrop{background:#170b2580}dialog h2{font-size:21px;margin-top:12px}dialog p{line-height:1.8;white-space:pre-line;font-size:15px}dialog>.primary{width:100%;margin-top:15px}.close{position:absolute;right:14px;top:8px;border:0;background:none;font-size:28px;color:#796d80;cursor:pointer}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}@media(min-width:720px){main{box-shadow:0 0 50px #22102e0a}}
/* Motion overlays preserve source artwork and all copy. */
.showcase-reveal,.price-light,.process-light{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.artwork-trigger{position:absolute;top:10%;left:23%;width:54%;height:7.5%;pointer-events:none}
.price-trigger{position:absolute;top:48%;left:20%;width:60%;height:8%;pointer-events:none}
.showcase-motion>img{clip-path:inset(39.3013100437% 0 0)}
.showcase-reveal{background:transparent}
.showcase-art{opacity:0;transform:translateY(42px)}
.art-settled .showcase-background-patch,.art-settled .showcase-art{display:none}
.showcase-copy{opacity:0;transform:translateY(var(--copy-rise,22px))}
.title-trigger{position:absolute;top:31%;left:10%;width:80%;height:4%;pointer-events:none}
.art-revealed .showcase-art{animation:showcaseArt 1s cubic-bezier(.2,.7,.2,1) both}
.copy-revealed .showcase-copy{animation:showcaseCopy .75s cubic-bezier(.2,.7,.2,1) .55s both}
@keyframes showcaseArt{from{opacity:0;transform:translateY(42px)}to{opacity:1;transform:translateY(0)}}
@keyframes showcaseCopy{from{opacity:0;transform:translateY(var(--copy-rise,22px))}to{opacity:1;transform:none}}
.price-motion .glint{animation:priceGlint 8.85s linear infinite;animation-play-state:paused}
.price-motion.motion-visible .glint{animation-play-state:running}
@keyframes priceGlint{0%{transform:translateX(0);animation-timing-function:ease-in-out}20.9039548%,100%{transform:translateX(2250px)}}
.step-outline{opacity:0;transition:opacity .6s ease}.step-outline.active{opacity:1}
.motion-paused .showcase-art,.motion-paused .showcase-copy,.motion-paused .glint{animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){.showcase-reveal,.price-light,.process-light{display:none}.showcase-motion>img{clip-path:none}}
/* Hide the native edge indicator on touch devices without changing scrolling or artwork. */
@media (max-width:720px){html,body{scrollbar-width:none}html::-webkit-scrollbar,body::-webkit-scrollbar{display:none;width:0;height:0}}

@media(max-width:720px){.showcase-motion{--copy-rise:44px}}
