@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/assets/archivo-vietnamese-standard-normal-rJmnGBSt.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/assets/archivo-latin-ext-standard-normal-7khWdh9v.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/assets/archivo-latin-standard-normal-DY7AcnAa.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nanum Pen Script;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/nanum-pen-script-latin-400-normal-_AdqYBm1.woff2)format("woff2"),url(/assets/nanum-pen-script-latin-400-normal-CEV0Fmsy.woff)format("woff")}:root{--paper:#f4f5f2;--ink:#15171a;--mute:#5e646b;--rule:#d9dcd6;--pen:#2743d0;--card:#fbfbfa;--sans:"Archivo Variable", "Helvetica Neue", Arial, sans-serif;--hand:"Nanum Pen Script", "Bradley Hand", "Segoe Print", cursive;--gutter:clamp(16px, 4vw, 56px);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body{background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0;font-size:17px;line-height:1.5}a{color:inherit}:focus-visible{outline:2px solid var(--pen);outline-offset:3px;border-radius:4px}.top{z-index:10;padding:calc(14px + env(safe-area-inset-top,0px)) var(--gutter) 14px;pointer-events:none;justify-content:space-between;align-items:center;display:flex;position:fixed;inset:0 0 auto}.top>*{pointer-events:auto}.mark{letter-spacing:-.01em;align-items:center;gap:10px;font-size:1.05rem;font-weight:700;font-stretch:112%;text-decoration:none;display:flex}.mark svg{fill:none;width:26px;height:26px;stroke:var(--pen);stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}nav{align-items:center;gap:clamp(12px,2.4vw,32px);font-size:.95rem;display:flex}nav a:not(.btn){color:var(--mute);text-decoration:none}nav a:not(.btn):hover{color:var(--ink)}.btn{background:var(--ink);color:var(--paper);border-radius:999px;padding:.85em 1.35em;font-weight:600;text-decoration:none;transition:background .2s;display:inline-block}.btn:hover{background:var(--pen)}.btn.small{padding:.55em 1.05em;font-size:.9rem}.build{height:820vh;position:relative}.stage{height:100svh;position:sticky;top:0;overflow:hidden}#gl,.notes{width:100%;height:100%;position:absolute;inset:0}.notes{pointer-events:none;overflow:visible}.notes path{fill:none;stroke:var(--pen);stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round}.notes text{font-family:var(--hand);fill:var(--pen);paint-order:stroke;stroke:var(--paper);stroke-width:7px;stroke-linejoin:round;font-size:34px}.intro,.caption,.done{left:var(--gutter);max-width:min(34rem,42vw);position:absolute}.intro{top:50%;transform:translateY(-46%)}.intro h1{letter-spacing:-.025em;text-wrap:balance;margin:0 0 .45em;font-size:clamp(2.5rem,5vw,4.6rem);font-weight:760;font-stretch:108%;line-height:.98}.intro p{color:var(--mute);max-width:30rem;margin:0 0 1.6em;font-size:1.12rem}.hint{font-family:var(--hand);color:var(--pen);align-items:flex-start;gap:4px;margin-top:2.2rem;font-size:1.9rem;display:flex}.hint svg{fill:none;width:46px;height:46px;stroke:var(--pen);stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round;margin-top:6px}.caption{opacity:0;align-items:flex-start;gap:18px;display:flex;bottom:clamp(28px,9vh,96px)}.caption .num{width:72px;height:72px;font-family:var(--hand);color:var(--pen);flex:none;place-items:center;font-size:3rem;line-height:1;display:grid;position:relative}.caption .num svg{fill:none;width:100%;height:100%;stroke:var(--pen);stroke-width:2.4px;stroke-linecap:round;position:absolute;inset:0}.caption .num span{transform:translateY(2px)}.caption .of{color:var(--mute);font-variant-numeric:tabular-nums;font-size:.9rem}.caption h2{letter-spacing:-.02em;margin:.1em 0 .2em;font-size:clamp(1.6rem,2.6vw,2.3rem);font-weight:720;font-stretch:108%;line-height:1.05}.caption p{color:var(--mute);max-width:24rem;margin:0}.done{opacity:0;top:50%;transform:translateY(-50%)}.done h2{letter-spacing:-.025em;margin:0 0 .4em;font-size:clamp(2.2rem,4.4vw,4rem);font-weight:760;font-stretch:108%;line-height:1}.done p{color:var(--mute);max-width:26rem;margin:0;font-size:1.12rem}.next{padding:18vh var(--gutter);color:var(--mute)}.hero{max-width:1440px;min-height:min(100svh,940px);padding-inline:var(--gutter);grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:center;gap:2vw;margin-inline:auto;display:grid}.hero-words{padding-block:120px 60px}.hero h1{letter-spacing:-.025em;text-wrap:balance;margin:0 0 .45em;font-size:clamp(2.5rem,5vw,4.6rem);font-weight:760;font-stretch:108%;line-height:.98}.hero-words p{color:var(--mute);max-width:30rem;margin:0 0 1.6em;font-size:1.12rem}.ctas{flex-wrap:wrap;align-items:center;gap:14px 26px;display:flex}.link{-webkit-text-decoration-color:var(--rule);text-decoration-color:var(--rule);text-underline-offset:5px;font-weight:600;text-decoration-thickness:2px}.link:hover{-webkit-text-decoration-color:var(--pen);text-decoration-color:var(--pen)}.viewer{min-height:560px;margin-right:calc(var(--gutter) * -1);align-self:stretch;position:relative}.viewer #gl{cursor:grab;touch-action:pan-y}.viewer #gl.grabbing{cursor:grabbing}.pen{font-family:var(--hand);color:var(--pen)}.viewer .caption{align-items:center;gap:12px;transition:opacity .3s;bottom:13%;left:4%}.viewer .caption .num{width:54px;height:54px;font-size:2.3rem}.viewer .caption h2{font-family:var(--hand);letter-spacing:0;margin:0;font-size:2.1rem;font-weight:400;font-stretch:100%}.caption.bare .num{display:none}.spin-hint{right:calc(var(--gutter) + 4px);opacity:.7;font-size:1.6rem;position:absolute;bottom:13%}.wrap{max-width:1440px;padding-inline:var(--gutter);margin-inline:auto}main>section.wrap{padding-block:clamp(72px,10vw,140px) 0}.sec-head{max-width:44rem;margin-bottom:clamp(28px,4vw,48px)}.sec-head h2{letter-spacing:-.022em;text-wrap:balance;margin:0 0 .4em;font-size:clamp(2rem,4vw,3.3rem);font-weight:740;font-stretch:108%;line-height:1.02}.sec-head p{color:var(--mute);max-width:38rem;margin:0;font-size:1.1rem}h3{letter-spacing:-.01em;margin:0;font-size:1.3rem;font-weight:700;font-stretch:104%}.cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(16px,2.4vw,32px);display:grid}.card{background:var(--card);border:1px solid var(--rule);border-radius:22px;position:relative;overflow:hidden}.card-view{aspect-ratio:4/3;background:radial-gradient(60% 34% at 50% 80%, #e7e9e4 0%, var(--card) 100%)}.card-view canvas{cursor:grab;touch-action:pan-y;width:100%;height:100%;display:block}.card-view canvas:active{cursor:grabbing}.card-foot{justify-content:space-between;align-items:flex-end;gap:16px;padding:0 22px 20px;display:flex}.meta{color:var(--mute);font-variant-numeric:tabular-nums;margin:.15em 0 0;font-size:.92rem}.open{font:inherit;border:1.5px solid var(--ink);color:var(--ink);cursor:pointer;white-space:nowrap;background:0 0;border-radius:999px;padding:.5em 1.05em;font-size:.92rem;font-weight:600}.open:hover{background:var(--ink);color:var(--paper)}.live{text-wrap:balance;pointer-events:none;margin:0;font-size:1.55rem;line-height:1.05;position:absolute;top:14px;left:20px;right:20px}.deliver{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,3vw,44px);margin:0;padding:0;list-style:none;display:grid}.deliver li{border-top:2px solid var(--ink);padding-top:18px}.where{margin-bottom:14px;font-size:1.6rem;line-height:1;display:block}.deliver p,.steps p{color:var(--mute);margin:.5em 0 0}.steps{grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(20px,2.6vw,36px);margin:0 0 36px;padding:0;list-style:none;display:grid}.circ{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 80 80'%3E%3Cpath d='M40 8c19 0 32 12 32 31 0 20-14 33-33 33C20 72 8 58 8 40 8 22 21 9 42 8' fill='none' stroke='%232743d0' stroke-width='2.6' stroke-linecap='round'/%3E%3C/svg%3E") 50%/contain no-repeat;place-items:center;width:58px;height:58px;margin-bottom:14px;font-size:2.3rem;display:grid}.steps li{position:relative}.steps li:not(:last-child):after{content:"";opacity:.6;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 30' preserveAspectRatio='none'%3E%3Cpath d='M2 17c40-9 90-11 150-5 14 1 28 3 42 5M184 9l11 8-12 7' fill='none' stroke='%232743d0' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E") 0/100% 100% no-repeat;height:30px;position:absolute;top:14px;left:74px;right:18px}.vids{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(16px,2.4vw,32px);display:grid}.vid{gap:4px;text-decoration:none;display:grid}.vid img{border:1px solid var(--rule);border-radius:16px;width:100%;height:auto;margin-bottom:10px}a.vid:hover img{border-color:var(--pen)}.vid-name{font-size:1.1rem;font-weight:700}.vid-meta{color:var(--mute);font-size:.95rem}.contact{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:start;gap:clamp(32px,5vw,80px);display:grid}.price{border-top:2px solid var(--ink);max-width:30rem;margin-top:36px;padding-top:22px}.price h3{margin-bottom:.35em}.price p{color:var(--mute);margin:0}.form{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 22px;max-width:52rem;display:grid}.form label{gap:8px;font-size:.95rem;font-weight:600;display:grid}.form .wide{grid-column:1/-1}.form input,.form textarea{font:inherit;color:var(--ink);background:var(--card);border:1.5px solid var(--rule);resize:vertical;border-radius:12px;padding:.75em .9em;font-weight:400}.form input:focus,.form textarea:focus{border-color:var(--pen);outline:none}.form-end{flex-wrap:wrap;align-items:center;gap:12px 20px;display:flex}.form .btn{font:inherit;cursor:pointer;border:0;font-weight:600}.form-note{font-size:1.5rem}.foot{color:var(--mute);background:linear-gradient(var(--rule), var(--rule)) no-repeat top / calc(100% - 2 * var(--gutter)) 1px;flex-wrap:wrap;align-items:center;gap:12px 32px;margin-top:clamp(80px,12vw,160px);padding-block:32px 48px;display:flex}.foot p{margin:0}.foot .fine{flex-basis:100%;font-size:.82rem}.viewer-dialog{background:var(--paper);width:min(1240px,94vw);max-width:none;height:min(860px,92vh);max-height:none;color:var(--ink);border:0;border-radius:24px;padding:0;overflow:hidden}.viewer-dialog[open]{grid-template-rows:minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr);display:grid}.viewer-dialog::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#15171a8c}.v-stage{min-height:0;position:relative}.v-stage canvas{cursor:grab;touch-action:none;width:100%;height:100%;position:absolute;inset:0}.v-stage canvas:active{cursor:grabbing}.v-stage .notes{z-index:1}.narrow-only{display:none}.v-hint{z-index:1;opacity:.7;pointer-events:none;font-size:1.45rem;position:absolute;bottom:12px;right:22px}.v-zoom{z-index:2;gap:8px;display:grid;position:absolute;top:18px;left:18px}.v-zoom button{width:40px;height:40px;font:inherit;border:1.5px solid var(--ink);background:var(--paper);color:var(--ink);cursor:pointer;border-radius:50%;font-size:1.3rem;font-weight:600;line-height:1}.v-zoom button:hover{background:var(--ink);color:var(--paper)}.v-bar{border-top:1px solid var(--rule);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px 28px;padding:18px 26px 22px;display:flex}.v-step{flex:22rem;align-items:center;gap:16px;min-width:0;display:flex}.v-num{flex:none;place-items:center;width:58px;height:58px;font-size:2.4rem;display:grid;position:relative}.v-num svg{fill:none;width:100%;height:100%;stroke:var(--pen);stroke-width:2.4px;stroke-linecap:round;position:absolute;inset:0}.v-name{color:var(--mute);margin:0;font-size:.85rem}.v-title{font-size:1.25rem}.v-line{color:var(--mute);margin:.1em 0 0;font-size:.95rem}.v-tip{margin:.15em 0 0;font-size:1.35rem;line-height:1.1}.v-tip:empty{display:none}.v-controls{flex:20rem;justify-content:flex-end;align-items:center;gap:10px;display:flex}.v-controls button,.v-close{font:inherit;border:1.5px solid var(--ink);color:var(--ink);cursor:pointer;background:0 0;border-radius:999px;padding:.5em 1em;font-size:.9rem;font-weight:600}.v-controls button.primary{background:var(--ink);color:var(--paper);min-width:5.5em}.v-controls input{min-width:0;max-width:16rem;accent-color:var(--pen);flex:8rem}.v-close{z-index:2;background:var(--paper);position:absolute;top:16px;right:16px}@media (width>=821px){.hero{position:relative}.hero-words{z-index:1;pointer-events:none;position:relative}.hero-words a{pointer-events:auto}.hero .viewer{min-height:0;margin:0;position:absolute;inset:0 calc(min(0px,720px - 50vw))}.viewer .caption{left:50%}}@media (width<=820px){nav a:not(.btn){display:none}.hero{grid-template-columns:1fr;gap:0;min-height:0}.hero-words p{font-size:1rem}.viewer{height:58svh;min-height:340px;margin-inline:calc(var(--gutter) * -1)}.viewer .caption{left:var(--gutter);top:auto;bottom:6%;right:auto}.spin-hint{display:none}.cards,.deliver,.vids,.form,.contact{grid-template-columns:1fr}.steps{grid-template-columns:repeat(2,minmax(0,1fr))}.steps li:after{display:none}.v-controls{justify-content:flex-start}.viewer-dialog{border-radius:0;width:100%;height:100%;margin:0;inset:0}.wide-only{display:none}.narrow-only{display:inline}.v-hint{font-size:1.15rem;bottom:8px;right:14px}.v-bar{padding:12px 16px calc(14px + env(safe-area-inset-bottom,0px));gap:10px}.v-step{flex:100%;gap:12px}.v-num{width:46px;height:46px;font-size:1.9rem}.v-title{font-size:1.1rem}.v-line{font-size:.88rem}.v-tip{font-size:1.15rem}.v-controls{flex:100%;min-width:0}.v-controls input{max-width:none}.v-close{top:calc(12px + env(safe-area-inset-top,0px))}.v-zoom{top:calc(12px + env(safe-area-inset-top,0px));left:12px}.hero h1{font-size:clamp(2rem,9.4vw,2.6rem)}.hero-words{padding-block:84px 0}.hero-words p{margin-bottom:1em;font-size:.98rem}.ctas{gap:10px 20px}.ctas .btn{padding:.75em 1.2em}.intro,.caption,.done{max-width:none;right:var(--gutter)}.intro{top:calc(76px + env(safe-area-inset-top,0px));transform:none}.intro p{margin-bottom:1.1em;font-size:1rem}.hint{display:none}.caption{top:calc(76px + env(safe-area-inset-top,0px));bottom:auto}.done{top:calc(76px + env(safe-area-inset-top,0px));transform:none}.notes text{font-size:26px}}
