:root{--cream: #fdf3e7;--cream-2: #f9e8d5;--coral: #ff8b7b;--coral-deep: #f2665c;--rose: #e8788c;--rose-deep: #c95a70;--peach: #ffc9a3;--amber: #efa94a;--ink: #4a3436;--ink-soft: rgba(74, 52, 54, .74);--ink-faint: rgba(74, 52, 54, .5);--card: rgba(255, 248, 238, .55);--card-border: rgba(201, 90, 112, .24);--glow: rgba(255, 178, 136, .55);--nav-bg: rgba(253, 243, 231, .72);--shadow: rgba(90, 40, 50, .12);color-scheme:light}[data-theme=dark]{--cream: #241522;--cream-2: #2e1a29;--ink: #f5e6de;--ink-soft: rgba(245, 230, 222, .74);--ink-faint: rgba(245, 230, 222, .5);--card: rgba(46, 26, 41, .52);--card-border: rgba(247, 168, 184, .22);--glow: rgba(232, 120, 140, .38);--nav-bg: rgba(36, 21, 34, .66);--shadow: rgba(0, 0, 0, .4);color-scheme:dark}*{box-sizing:border-box;margin:0;padding:0}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}body{font-family:Nanum Myeongjo,"Noto Serif KR",serif;background:var(--cream);color:var(--ink);overflow-x:hidden;transition:background-color .7s ease,color .7s ease;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3{font-family:Gowun Batang,Nanum Myeongjo,serif;font-weight:700}.hand{font-family:Gaegu,cursive;font-weight:400}a{color:inherit}button{font-family:inherit}::selection{background:#ffb3a0;color:#4a2430}:focus-visible{outline:2px dashed var(--rose);outline-offset:3px;border-radius:4px}.canvas-wrap{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;background:linear-gradient(165deg,#f6b98c,#ee8f73 45%,#d96a63)}[data-theme=dark] .canvas-wrap{background:linear-gradient(165deg,#1b1020,#4a2334 55%,#8e3e36)}.canvas-wrap canvas{display:block}main{position:relative;z-index:10}.section{position:relative;padding-inline:clamp(1.25rem,5vw,4rem)}.grain{position:fixed;top:-60%;right:-60%;bottom:-60%;left:-60%;z-index:60;pointer-events:none;opacity:.32;mix-blend-mode:soft-light;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='240' height='240' filter='url(%23n)' opacity='0.55'/%3E%3C/svg%3E");animation:grain-jitter .9s steps(4) infinite}[data-theme=dark] .grain{opacity:.26}@keyframes grain-jitter{0%{transform:translate(0)}25%{transform:translate(-2%,1.5%)}50%{transform:translate(1.5%,-2%)}75%{transform:translate(-1%,-1%)}to{transform:translate(0)}}.cursor-glow{position:fixed;top:0;left:0;width:200px;height:200px;border-radius:50%;pointer-events:none;z-index:55;background:radial-gradient(circle,rgba(255,179,122,.32) 0%,rgba(255,142,142,.13) 42%,transparent 70%);mix-blend-mode:screen;transition:width .3s ease,height .3s ease}[data-theme=dark] .cursor-glow{background:radial-gradient(circle,rgba(255,158,130,.4) 0%,rgba(232,120,140,.16) 42%,transparent 70%)}.cursor-dot{position:fixed;top:0;left:0;width:6px;height:6px;border-radius:50%;pointer-events:none;z-index:55;background:var(--rose);box-shadow:0 0 12px var(--rose);opacity:.85}@media (pointer: coarse){.cursor-glow,.cursor-dot{display:none}}.nav{position:fixed;top:0;left:0;right:0;z-index:40;display:flex;justify-content:space-between;align-items:center;padding:.9rem clamp(1.25rem,4vw,2.5rem);transition:background .4s ease,box-shadow .4s ease}.nav.scrolled{background:var(--nav-bg);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 1px 0 var(--card-border)}.nav-logo{display:flex;align-items:center;gap:.45rem;font-family:Gowun Batang,serif;font-weight:700;font-size:1.35rem;letter-spacing:.02em;text-decoration:none}.beat-heart{width:15px;height:15px;color:var(--rose);animation:heartbeat 1.7s ease-in-out infinite;transform-origin:center}.nav-actions{display:flex;align-items:center;gap:.7rem}.icon-btn{width:38px;height:38px;border-radius:50%;border:1px solid var(--card-border);background:var(--card);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--ink);display:grid;place-items:center;cursor:pointer;transition:transform .25s ease,box-shadow .25s ease}.icon-btn:hover{transform:translateY(-2px);box-shadow:0 6px 18px var(--glow)}.nav-cta{font-family:Gowun Batang,serif;font-weight:700;font-size:.88rem;text-decoration:none;padding:.55rem 1.15rem;border-radius:999px;color:#fff8f2;background:linear-gradient(120deg,var(--coral),var(--rose));box-shadow:0 6px 18px #e8788c66;transition:transform .25s ease,box-shadow .25s ease}.nav-cta:hover{transform:translateY(-2px);box-shadow:0 10px 26px #e8788c8c}.eyebrow{font-family:Gaegu,cursive;font-size:clamp(1.05rem,2vw,1.25rem);letter-spacing:.16em;color:var(--rose-deep);margin-bottom:1.1rem}[data-theme=dark] .eyebrow{color:var(--peach)}.paper{background:var(--card);border:1px solid var(--card-border);border-radius:26px;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 18px 50px var(--shadow)}.section-head{text-align:center}.section-head h2{font-size:clamp(1.9rem,4.6vw,3rem);line-height:1.35;white-space:pre-line}.btn-primary{position:relative;display:inline-flex;align-items:center;gap:.55rem;padding:1.02rem 2.15rem;border-radius:999px;border:none;text-decoration:none;font-family:Gowun Batang,serif;font-weight:700;font-size:1.05rem;color:#fff8f2;background:linear-gradient(120deg,var(--coral) 0%,var(--rose) 55%,var(--rose-deep) 100%);box-shadow:0 10px 30px #e8788c73,inset 0 1px #ffffff59;overflow:hidden;cursor:pointer;transition:transform .3s ease,box-shadow .3s ease}.btn-primary:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.38) 50%,transparent 70%);transform:translate(-130%);transition:transform .75s ease}.btn-primary:hover{animation:heartbeat 1.3s ease-in-out infinite;box-shadow:0 14px 42px #e8788c99,inset 0 1px #ffffff59}.btn-primary:hover:after{transform:translate(130%)}.btn-primary svg{width:14px;height:14px}.btn-ghost{display:inline-flex;align-items:center;padding:1.02rem 1.9rem;border-radius:999px;border:1px solid var(--card-border);background:var(--card);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--ink);font-family:Gowun Batang,serif;font-weight:700;font-size:1rem;cursor:pointer;transition:transform .3s ease,box-shadow .3s ease}.btn-ghost:hover{transform:translateY(-2px);box-shadow:0 10px 26px var(--glow)}.cta-row{margin-top:2.4rem;display:flex;gap:.9rem;justify-content:center;flex-wrap:wrap}.cta-note{margin-top:1.15rem;font-size:.88rem;color:var(--ink-faint)}@keyframes heartbeat{0%,to{transform:scale(1)}12%{transform:scale(1.14)}24%{transform:scale(1)}36%{transform:scale(1.08)}48%{transform:scale(1)}}.hero{min-height:100svh;display:flex;align-items:center;justify-content:center;text-align:center}.hero-inner{position:relative;max-width:760px;padding:4.5rem 1rem 0}.wordmark{display:block;font-family:Gowun Batang,serif;font-weight:700;font-size:clamp(1.5rem,3vw,2.1rem);letter-spacing:.52em;text-indent:.52em;color:var(--rose-deep);margin-bottom:.8rem}[data-theme=dark] .wordmark{color:var(--peach)}.hero-title{font-size:clamp(2.7rem,8.5vw,5.4rem);line-height:1.18;letter-spacing:-.01em;font-weight:700;color:#3a2226}[data-theme=dark] .hero-title{color:#fdeee6}.hero-title .line{display:block}.hero-title .accent{background:linear-gradient(115deg,#e0533f 4%,#d83b66,#e08a1e 96%);-webkit-background-clip:text;background-clip:text;color:transparent}[data-theme=dark] .hero-title .accent{background:linear-gradient(115deg,#ffa878 4%,#ff7f9d,#ffc861 96%);-webkit-background-clip:text;background-clip:text}.hero-sub{margin:1.7rem auto 0;max-width:560px;font-size:clamp(1.02rem,2vw,1.2rem);line-height:1.9;color:#5a3b3e;white-space:pre-line}[data-theme=dark] .hero-sub{color:#fdeee6e6}.scroll-hint{position:absolute;bottom:2.4rem;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:.55rem;font-family:Gaegu,cursive;font-size:1rem;color:var(--ink-faint)}.scroll-hint .line{width:1px;height:44px;background:linear-gradient(var(--rose-deep),transparent);animation:hint-drop 1.9s ease-in-out infinite}@keyframes hint-drop{0%{transform:scaleY(0);transform-origin:top}45%{transform:scaleY(1);transform-origin:top}55%{transform:scaleY(1);transform-origin:bottom}to{transform:scaleY(0);transform-origin:bottom}}.problem{min-height:175vh;padding-top:24vh}.beats{display:flex;flex-direction:column;gap:11vh;max-width:620px;margin:15vh auto 0}.beat{padding:1.8rem 2.1rem;max-width:520px}.beat:nth-child(2){align-self:flex-end}.beat .hand{display:block;font-size:1.4rem;color:var(--rose-deep);margin-bottom:.45rem}[data-theme=dark] .beat .hand{color:var(--peach)}.beat p{line-height:1.95;color:var(--ink-soft)}.punch{max-width:620px;margin:17vh auto 0;padding:2.6rem 2.2rem;text-align:center}.punch p{font-family:Gaegu,cursive;font-size:clamp(1.4rem,3.2vw,1.9rem);line-height:1.75;white-space:pre-line}.letter{position:relative;border:1.5px dashed var(--card-border);border-radius:10px;background:var(--card);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 18px 50px var(--shadow)}.letter:before{content:"";position:absolute;top:14px;right:16px;width:32px;height:40px;border:1px solid var(--card-border);border-radius:3px;background:linear-gradient(135deg,var(--peach),var(--rose));opacity:.65;transform:rotate(4deg)}.features{padding-top:10vh;padding-bottom:8vh}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:1.6rem;max-width:1100px;margin:4rem auto 0}.feature-card{padding:1.35rem 1.55rem 1.9rem;border-radius:28px;transition:transform .4s cubic-bezier(.22,1,.36,1),box-shadow .4s ease}.feature-card:hover{transform:translateY(-7px);box-shadow:0 26px 60px var(--shadow),0 0 0 1px var(--card-border),0 0 44px var(--glow)}.card-canvas-inner{height:190px;border-radius:20px;overflow:hidden;margin-bottom:1.25rem;background:radial-gradient(120% 100% at 50% 0%,rgba(255,201,163,.4),rgba(232,120,140,.14) 60%,transparent)}[data-theme=dark] .card-canvas-inner{background:radial-gradient(120% 100% at 50% 0%,rgba(86,42,60,.5),rgba(46,26,41,.2) 65%,transparent)}.feature-card .hand{font-size:1.3rem;color:var(--rose-deep)}[data-theme=dark] .feature-card .hand{color:var(--peach)}.feature-card h3{font-size:1.5rem;margin:.4rem 0 .75rem}.feature-card p{line-height:1.9;font-size:.99rem;color:var(--ink-soft)}.privacy{min-height:150vh;display:flex;align-items:center;justify-content:center}.privacy-inner{max-width:640px;padding:2.8rem 2.3rem;text-align:center}.privacy-inner h2{font-size:clamp(1.9rem,4.6vw,2.9rem);margin-bottom:1.3rem}.privacy-inner>p{line-height:2;color:var(--ink-soft);white-space:pre-line}.chips{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:center;margin-top:1.9rem}.chip{font-size:.88rem;padding:.52rem 1.05rem;border-radius:999px;border:1px solid var(--card-border);background:#fff8ee47;color:var(--ink-soft)}[data-theme=dark] .chip{background:#2e1a2966}.finale{min-height:120vh;display:flex;flex-direction:column;padding-inline:0}.finale-cta{text-align:center;max-width:720px;margin:0 auto;padding:32vh 1.5rem 0}.finale-cta h2{font-size:clamp(2.2rem,6vw,3.8rem);line-height:1.32;white-space:pre-line;text-shadow:0 2px 26px rgba(253,236,220,.6)}[data-theme=dark] .finale-cta h2{text-shadow:0 2px 26px rgba(36,21,34,.8)}.finale-sub{margin-top:1.3rem;font-size:clamp(1rem,2vw,1.15rem);color:var(--ink-soft)}footer{margin-top:24vh;padding:2.4rem 1.5rem 2.8rem;text-align:center;border-top:1px solid var(--card-border);background:var(--nav-bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:var(--ink-faint);font-size:.92rem}.footer-brand{display:flex;align-items:center;justify-content:center;gap:.5rem;font-family:Gowun Batang,serif;font-weight:700;color:var(--ink-soft)}.footer-brand a{text-decoration:none;border-bottom:1px dashed var(--card-border)}footer .links{margin-top:.9rem;display:flex;gap:1.4rem;justify-content:center}footer .links a{color:var(--ink-soft);text-decoration:none;border-bottom:1px dashed var(--card-border);transition:color .25s ease}footer .links a:hover{color:var(--rose-deep)}footer .copy{margin-top:1rem;font-size:.84rem}@media (max-width: 640px){.nav-cta{display:none}.beat{max-width:100%}.card-canvas-inner{height:165px}.letter:before{width:26px;height:33px;top:10px;right:12px}}@media (prefers-reduced-motion: reduce){.grain,.beat-heart,.scroll-hint .line{animation:none}.btn-primary:hover{animation:none;transform:translateY(-2px)}}
