@import url('https://fonts.googleapis.com/css2?family=Jua&family=Nunito:wght@600;700;800&display=swap');
:root{--ink:#3d2b25;--sub:#765f56;--paper:#fffdf9;--cream:#fff4ea;--soft:#fff8f3;--pink:#f47f93;--pink2:#ffb4be;--mint:#9ed9c4;--lemon:#f7df86;--brown:#9c704f;--line:#ecdfd6;--shadow:0 20px 55px rgba(83,54,39,.12);--r:30px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Pretendard,"Noto Sans KR",system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.65;word-break:keep-all}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:auto}.wrap{width:min(1320px,calc(100% - 40px));margin:auto}
.nav{position:sticky;top:0;z-index:50;background:rgba(255,253,249,.9);backdrop-filter:blur(18px);border-bottom:1px solid rgba(236,223,214,.8)}.nav-inner{height:76px;display:flex;align-items:center;justify-content:space-between;gap:22px}.logo{display:flex;align-items:center;gap:10px;font-weight:900;letter-spacing:-.6px}.logo-mark{width:42px;height:42px;border-radius:50%;background:var(--lemon);position:relative;box-shadow:inset 0 0 0 3px #fff,0 8px 18px rgba(154,106,78,.13)}.logo-mark:before{content:"";position:absolute;width:5px;height:5px;border-radius:50%;background:var(--brown);left:13px;top:11px;box-shadow:12px 5px 0 var(--brown),6px 17px 0 var(--brown)}.logo small{display:block;font-size:9px;letter-spacing:2.1px;color:#967d72}.menu{display:flex;gap:27px;font-size:14px;font-weight:800}.menu a{position:relative}.menu a:after{content:"";position:absolute;left:0;right:100%;bottom:-9px;height:3px;background:var(--pink);border-radius:6px;transition:.25s}.menu a:hover:after,.menu a.active:after{right:0}.nav-cta{padding:12px 18px;border-radius:999px;background:var(--pink);color:#fff;font-size:13px;font-weight:900;box-shadow:0 8px 22px rgba(244,127,147,.25)}.hamb{display:none;border:0;background:none;font-size:25px;color:var(--ink)}
.hero{padding:54px 0 72px;overflow:hidden;background:radial-gradient(circle at 11% 12%,rgba(247,223,134,.35),transparent 23%),radial-gradient(circle at 92% 8%,rgba(244,127,147,.18),transparent 22%),linear-gradient(180deg,#fffaf6,#fffdf9)}.hero-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:50px;align-items:center}.eyebrow,.pill{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border-radius:999px;background:#fff;border:1px solid var(--line);font-size:11px;font-weight:900;letter-spacing:.8px}.eyebrow i{width:8px;height:8px;background:var(--pink);border-radius:50%}.hero h1,.section h2,.page-hero h1{font-family:Jua,Pretendard,sans-serif;font-weight:400;letter-spacing:-1.8px}.hero h1{font-size:clamp(48px,5.5vw,76px);line-height:1.03;margin:22px 0 20px}.hero h1 em{font-style:normal;color:var(--pink)}.hero p{font-size:18px;color:var(--sub);max-width:610px}.actions{display:flex;gap:11px;flex-wrap:wrap;margin-top:28px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 19px;border-radius:999px;border:1px solid var(--line);background:#fff;font-size:14px;font-weight:900;transition:.22s}.btn:hover{transform:translateY(-3px);box-shadow:0 12px 25px rgba(70,45,33,.1)}.btn.primary{background:var(--ink);border-color:var(--ink);color:#fff}.btn.pink{background:var(--pink);border-color:var(--pink);color:#fff}
.hero-photos{position:relative;min-height:540px}.hero-main-photo{position:absolute;inset:18px 26px 38px 0;border-radius:48px;overflow:hidden;box-shadow:var(--shadow);transform:rotate(-1deg);background:#f4ebe5}.hero-main-photo img{height:100%;object-fit:cover}.photo-sticker{position:absolute;width:185px;border:7px solid #fff;border-radius:22px;overflow:hidden;box-shadow:0 15px 35px rgba(67,43,31,.18);background:#fff}.photo-sticker img{aspect-ratio:1.35/1;object-fit:cover}.photo-sticker.one{right:0;top:32px;transform:rotate(5deg)}.photo-sticker.two{right:-4px;bottom:10px;transform:rotate(-4deg)}.doodle{position:absolute;z-index:3;font-family:Jua;color:var(--pink);font-size:34px}.doodle.d1{left:-16px;bottom:45px;transform:rotate(-15deg)}.doodle.d2{right:92px;top:10px;color:var(--mint);transform:rotate(12deg)}
.quick-strip{margin-top:-20px;position:relative;z-index:5}.quick-grid{display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border:1px solid var(--line);border-radius:26px;box-shadow:0 15px 40px rgba(75,47,33,.08);overflow:hidden}.quick-item{padding:22px 24px;display:flex;gap:13px;align-items:center;border-right:1px solid var(--line)}.quick-item:last-child{border:0}.quick-icon{width:46px;height:46px;border-radius:16px;display:grid;place-items:center;background:#fff0f3;font-size:21px}.quick-item:nth-child(2) .quick-icon{background:#fff7d9}.quick-item:nth-child(3) .quick-icon{background:#edf9f4}.quick-item:nth-child(4) .quick-icon{background:#f4efff}.quick-item strong{display:block;font-size:14px}.quick-item span{display:block;font-size:12px;color:var(--sub);margin-top:2px}
.section{padding:88px 0}.section.alt{background:var(--soft)}.section-head{display:flex;align-items:end;justify-content:space-between;gap:35px;margin-bottom:36px}.kicker{font-size:11px;letter-spacing:1.5px;text-transform:uppercase;font-weight:900;color:#a07a69}.section h2{font-size:clamp(34px,4vw,52px);line-height:1.12;margin:8px 0}.section-head p{max-width:530px;color:var(--sub);margin:0}.cards4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.service-card{border:1px solid var(--line);background:#fff;border-radius:28px;overflow:hidden;box-shadow:0 10px 28px rgba(82,52,36,.06);transition:.25s}.service-card:hover{transform:translateY(-7px);box-shadow:var(--shadow)}.service-card img{height:180px;object-fit:cover}.service-body{padding:22px}.service-body .num{font:800 11px/1 Nunito,sans-serif;color:var(--pink)}.service-body h3{font-size:21px;margin:9px 0 8px}.service-body p{font-size:13px;color:var(--sub);margin:0}
.story{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}.story-visual{position:relative;border-radius:40px;overflow:hidden;min-height:520px;box-shadow:var(--shadow);background:#eee}.story-visual img{position:absolute;inset:0;height:100%;object-fit:cover}.story-visual .caption{position:absolute;left:22px;bottom:22px;background:rgba(255,255,255,.9);backdrop-filter:blur(10px);border-radius:18px;padding:12px 15px;font-size:12px;font-weight:800}.story-copy h2{font-family:Jua;font-size:50px;line-height:1.15;font-weight:400;margin:10px 0 18px}.story-copy>p{color:var(--sub)}.check-list{display:grid;gap:14px;margin-top:27px}.check{display:flex;gap:13px;align-items:flex-start}.check b{width:27px;height:27px;flex:none;border-radius:50%;display:grid;place-items:center;background:var(--mint);font-size:12px}.check span{font-size:14px}.check strong{font-size:15px}
.gallery{display:grid;grid-template-columns:1.15fr .85fr .85fr;grid-auto-rows:220px;gap:16px}.gitem{position:relative;overflow:hidden;border-radius:28px;background:#eee;min-height:220px}.gitem img{width:100%;height:100%;object-fit:cover;transition:.45s}.gitem:hover img{transform:scale(1.055)}.gitem.big{grid-row:span 2}.gitem.wide{grid-column:span 2}.glabel{position:absolute;left:16px;bottom:16px;background:rgba(255,255,255,.9);backdrop-filter:blur(10px);padding:9px 12px;border-radius:999px;font-size:11px;font-weight:900}.photo-band{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.photo-band img{height:180px;object-fit:cover;border-radius:22px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.step{padding:26px;border-radius:24px;background:#fff;border:1px solid var(--line)}.step b{font:800 30px/1 Nunito,sans-serif;color:var(--pink)}.step h3{margin:14px 0 6px}.step p{font-size:13px;color:var(--sub);margin:0}
.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.feature{border:1px solid var(--line);border-radius:28px;background:#fff;overflow:hidden}.feature img{height:220px;object-fit:cover}.feature-copy{padding:24px}.feature-copy h3{font-size:21px;margin:12px 0 7px}.feature-copy p{font-size:13px;color:var(--sub);margin:0}.page-hero{padding:54px 0 62px;background:linear-gradient(180deg,#fff5ed,#fffdf9)}.page-hero-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:48px;align-items:center}.page-hero h1{font-size:clamp(46px,5vw,68px);line-height:1.08;margin:10px 0 15px}.page-hero p{color:var(--sub);font-size:17px;max-width:620px}.page-hero-photo{height:390px;border-radius:38px;overflow:hidden;box-shadow:var(--shadow);transform:rotate(.7deg)}.page-hero-photo img{height:100%;object-fit:cover}.masonry{columns:3 300px;column-gap:16px}.masonry a{display:block;break-inside:avoid;margin-bottom:16px;border-radius:24px;overflow:hidden;position:relative}.masonry img{width:100%;transition:.4s}.masonry a:hover img{transform:scale(1.03)}.masonry span{position:absolute;left:12px;bottom:12px;background:rgba(255,255,255,.9);padding:8px 11px;border-radius:999px;font-size:11px;font-weight:900}.note{padding:18px 20px;border:1px solid #f0d995;background:#fff8dc;border-radius:18px;font-size:13px}.faq{display:grid;gap:12px}.faq details{padding:18px 21px;border:1px solid var(--line);border-radius:18px;background:#fff}.faq summary{cursor:pointer;font-weight:900}.faq p{font-size:13px;color:var(--sub);margin:10px 0 0}.visit-card{border-radius:34px;overflow:hidden;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow)}.visit-card img{height:320px;object-fit:cover}.visit-info{padding:25px}.visit-info h3{margin:0 0 10px}.visit-info p{font-size:14px;color:var(--sub);margin:0}
.cta{padding:70px 0}.cta-box{padding:48px;border-radius:38px;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:28px;overflow:hidden;position:relative}.cta-box:before{content:"";position:absolute;width:260px;height:260px;border-radius:50%;background:var(--pink);right:-90px;top:-130px;opacity:.48}.cta h2{font-family:Jua;font-weight:400;font-size:39px;line-height:1.2;margin:0 0 8px}.cta p{margin:0;color:#ddcfca}.cta .btn{position:relative;z-index:2}.footer{padding:42px 0 100px;border-top:1px solid var(--line);background:#fff}.footer-grid{display:grid;grid-template-columns:1.1fr .9fr .8fr;gap:42px}.footer h4{margin:0 0 10px}.footer p,.footer a{font-size:13px;color:var(--sub)}.mobile-bar{display:none}.reveal{opacity:0;transform:translateY(22px);transition:.7s ease}.reveal.on{opacity:1;transform:none}
@media(max-width:960px){.menu,.nav-cta{display:none}.hamb{display:block}.menu.open{display:flex;position:absolute;top:76px;left:0;right:0;background:#fff;flex-direction:column;padding:24px 28px;border-bottom:1px solid var(--line)}.hero-grid,.page-hero-grid,.story{grid-template-columns:1fr}.hero-photos{min-height:500px}.quick-grid{grid-template-columns:1fr 1fr}.quick-item:nth-child(2){border-right:0}.quick-item:nth-child(-n+2){border-bottom:1px solid var(--line)}.cards4{grid-template-columns:1fr 1fr}.feature-grid{grid-template-columns:1fr 1fr}.gallery{grid-template-columns:1fr 1fr}.gitem.wide{grid-column:span 1}.steps{grid-template-columns:1fr 1fr}.photo-band{grid-template-columns:repeat(3,1fr)}.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.wrap{width:min(100% - 26px,1200px)}.nav-inner{height:66px}.logo-mark{width:36px;height:36px}.hero{padding:35px 0 60px}.hero h1{font-size:49px}.hero p{font-size:15px}.hero-photos{min-height:365px}.hero-main-photo{inset:12px 14px 22px 0;border-radius:32px}.photo-sticker{width:125px;border-width:4px;border-radius:15px}.photo-sticker.one{right:0;top:20px}.photo-sticker.two{right:-2px;bottom:3px}.doodle{font-size:24px}.quick-grid{grid-template-columns:1fr}.quick-item{border-right:0;border-bottom:1px solid var(--line)!important}.quick-item:last-child{border-bottom:0!important}.section{padding:66px 0}.section-head{display:block}.section h2{font-size:38px}.section-head p{margin-top:14px}.cards4,.feature-grid,.steps{grid-template-columns:1fr}.service-card img,.feature img{height:220px}.story-visual{min-height:390px}.story-copy h2{font-size:39px}.gallery{grid-template-columns:1fr;grid-auto-rows:230px}.gitem.big{grid-row:span 1}.photo-band{grid-template-columns:1fr 1fr}.photo-band img{height:150px}.page-hero{padding:38px 0 48px}.page-hero-photo{height:300px;border-radius:28px}.masonry{columns:2 145px;column-gap:10px}.masonry a{margin-bottom:10px;border-radius:16px}.cta-box{display:block;padding:34px 26px}.cta h2{font-size:32px}.cta .btn{margin-top:20px}.footer-grid{grid-template-columns:1fr}.mobile-bar{display:grid;grid-template-columns:1fr 1fr;position:fixed;left:12px;right:12px;bottom:12px;z-index:70;overflow:hidden;border-radius:17px;box-shadow:0 12px 36px rgba(0,0,0,.2)}.mobile-bar a{padding:14px 10px;background:#fff;text-align:center;font-size:13px;font-weight:900}.mobile-bar a:last-child{background:var(--pink);color:#fff}}

/* ===== V3 Design & Motion Enhancement ===== */
@media(min-width:961px){
  .wrap{width:min(1320px,calc(100% - 54px))}
  .hero-grid{grid-template-columns:.9fr 1.1fr;gap:64px}
  .hero{padding:68px 0 86px}
  .hero-photos{min-height:590px}
  .service-card img{height:195px}
  .photo-band img{height:195px}
  .gallery{grid-auto-rows:235px}
  .page-hero-grid{grid-template-columns:.88fr 1.12fr;gap:64px}
  .page-hero-photo{height:430px}
}

:root{
  --ease-spring:cubic-bezier(.2,.8,.2,1);
  --ease-pop:cubic-bezier(.16,1,.3,1);
}
body{overflow-x:hidden}
body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:9998;opacity:.14;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.95' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.13'/%3E%3C/svg%3E");mix-blend-mode:multiply}

.scroll-progress{position:fixed;left:0;top:0;height:3px;width:100%;z-index:9999;pointer-events:none;background:linear-gradient(90deg,var(--pink),#ffc268,var(--mint),#b8a5ff);transform:scaleX(0);transform-origin:left center;box-shadow:0 1px 12px rgba(244,127,147,.32)}
.nav{transition:box-shadow .35s ease,background .35s ease,transform .35s ease}.nav.scrolled{background:rgba(255,253,249,.95);box-shadow:0 12px 40px rgba(70,45,33,.08)}
.logo-mark{animation:cookieBob 4.8s ease-in-out infinite}.logo-mark:after{content:"";position:absolute;inset:-6px;border:1px dashed rgba(244,127,147,.45);border-radius:50%;animation:spinCookie 13s linear infinite}
@keyframes cookieBob{0%,100%{transform:rotate(-2deg) translateY(0)}50%{transform:rotate(3deg) translateY(-3px)}}
@keyframes spinCookie{to{transform:rotate(360deg)}}

.hero{position:relative;isolation:isolate}.hero:before,.hero:after{content:"";position:absolute;border-radius:999px;filter:blur(2px);pointer-events:none;z-index:-1}.hero:before{width:260px;height:260px;left:-95px;top:80px;background:radial-gradient(circle at 35% 30%,#fff9c6,rgba(247,223,134,.18) 55%,transparent 72%);animation:blobFloat 10s ease-in-out infinite}.hero:after{width:340px;height:340px;right:-145px;bottom:-50px;background:radial-gradient(circle at 35% 35%,rgba(255,180,190,.45),rgba(158,217,196,.12) 58%,transparent 72%);animation:blobFloat 12s ease-in-out infinite reverse}@keyframes blobFloat{0%,100%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(20px,-22px,0) scale(1.06)}}
.hero-grid>div:first-child{animation:heroCopyIn .95s var(--ease-pop) both}.hero h1{animation:heroTitleIn 1.05s .08s var(--ease-pop) both}.hero p{animation:heroCopyIn .9s .18s var(--ease-pop) both}.hero .actions{animation:heroCopyIn .9s .28s var(--ease-pop) both}@keyframes heroCopyIn{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}@keyframes heroTitleIn{from{opacity:0;transform:translateY(32px) scale(.97);filter:blur(7px)}to{opacity:1;transform:none;filter:blur(0)}}
.hero h1 em{position:relative;display:inline-block}.hero h1 em:after{content:"";position:absolute;left:2%;right:0;bottom:-5px;height:13px;background:url("data:image/svg+xml,%3Csvg viewBox='0 0 240 18' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3 12 C40 3 72 16 111 9 S181 7 237 8' fill='none' stroke='%23f47f93' stroke-width='6' stroke-linecap='round' opacity='.28'/%3E%3C/svg%3E") center/100% 100% no-repeat;transform:scaleX(0);transform-origin:left;animation:icingDraw 1.15s .75s var(--ease-pop) forwards}@keyframes icingDraw{to{transform:scaleX(1)}}

.hero-photos{perspective:1200px}.hero-main-photo{transition:transform .22s ease-out;animation:mainPhotoFloat 7s ease-in-out infinite;will-change:transform}.photo-sticker.one{animation:stickerOne 6.8s ease-in-out infinite}.photo-sticker.two{animation:stickerTwo 7.6s ease-in-out infinite}.doodle{animation:doodlePulse 3.4s ease-in-out infinite}.doodle.d2{animation-delay:.8s}@keyframes mainPhotoFloat{0%,100%{transform:rotate(-1deg) translateY(0)}50%{transform:rotate(.15deg) translateY(-8px)}}@keyframes stickerOne{0%,100%{transform:rotate(5deg) translateY(0)}50%{transform:rotate(2deg) translateY(-10px)}}@keyframes stickerTwo{0%,100%{transform:rotate(-4deg) translateY(0)}50%{transform:rotate(-1deg) translateY(9px)}}@keyframes doodlePulse{0%,100%{opacity:.75;filter:blur(0)}50%{opacity:1;transform:translateY(-5px) rotate(8deg) scale(1.1)}}
.hero-photos:before{content:"";position:absolute;inset:9% 1% 5% -4%;border:2px dashed rgba(244,127,147,.22);border-radius:52% 48% 56% 44%/44% 55% 45% 56%;animation:softRotate 24s linear infinite;z-index:-1}.hero-photos:after{content:"";position:absolute;width:110px;height:110px;left:-35px;top:35px;background:radial-gradient(circle,var(--lemon) 0 5px,transparent 6px) 0 0/22px 22px;opacity:.5;animation:dotDrift 8s ease-in-out infinite;z-index:-1}@keyframes softRotate{to{transform:rotate(360deg)}}@keyframes dotDrift{50%{transform:translate(8px,12px) rotate(10deg)}}

.btn,.nav-cta{position:relative;overflow:hidden;isolation:isolate;transition:transform .3s var(--ease-pop),box-shadow .3s ease,background .3s ease}.btn:before,.nav-cta:before{content:"";position:absolute;inset:-70% -35%;background:linear-gradient(110deg,transparent 38%,rgba(255,255,255,.6) 50%,transparent 62%);transform:translateX(-75%) rotate(9deg);transition:transform .7s var(--ease-pop);z-index:-1}.btn:hover:before,.nav-cta:hover:before{transform:translateX(75%) rotate(9deg)}.btn:hover,.nav-cta:hover{transform:translateY(-4px) scale(1.02)}

.quick-grid{transform:translateY(0);transition:transform .5s var(--ease-pop),box-shadow .5s ease}.quick-grid:hover{transform:translateY(-4px);box-shadow:0 24px 54px rgba(75,47,33,.12)}.quick-item{position:relative;overflow:hidden;transition:background .3s ease,transform .3s var(--ease-pop)}.quick-item:before{content:"";position:absolute;width:90px;height:90px;border-radius:50%;right:-50px;bottom:-60px;background:var(--pink2);opacity:.12;transition:.45s var(--ease-pop)}.quick-item:hover:before{transform:scale(2.2)}.quick-item:hover{background:#fffaf8}.quick-icon{transition:transform .45s var(--ease-pop)}.quick-item:hover .quick-icon{transform:translateY(-5px) rotate(-7deg) scale(1.08)}

.taste-ticker{overflow:hidden;border-block:1px solid rgba(236,223,214,.9);background:rgba(255,255,255,.72);backdrop-filter:blur(8px)}.taste-track{display:flex;width:max-content;gap:34px;padding:13px 0;animation:tickerMove 32s linear infinite}.taste-track span{display:flex;align-items:center;gap:34px;font:800 11px/1 Nunito,sans-serif;letter-spacing:1.7px;color:#9b7e72;white-space:nowrap}.taste-track span:after{content:"✦";color:var(--pink)}@keyframes tickerMove{to{transform:translateX(-50%)}}

.section{position:relative}.section.alt:before{content:"";position:absolute;left:0;right:0;top:-14px;height:28px;background:radial-gradient(circle at 14px -2px,transparent 15px,var(--soft) 16px) 0 0/28px 28px repeat-x;opacity:.75;pointer-events:none}.section-head h2{background:linear-gradient(120deg,var(--ink) 0 66%,#9f7767 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.reveal{opacity:0;transform:translateY(34px) scale(.985);filter:blur(5px);transition:opacity .85s var(--ease-pop),transform .85s var(--ease-pop),filter .85s ease}.reveal.on{opacity:1;transform:none;filter:blur(0)}
.cards4 .reveal:nth-child(2),.feature-grid .reveal:nth-child(2){transition-delay:.08s}.cards4 .reveal:nth-child(3),.feature-grid .reveal:nth-child(3){transition-delay:.16s}.cards4 .reveal:nth-child(4){transition-delay:.24s}

.service-card,.feature,.gitem,.masonry a{will-change:transform}.service-card,.feature{transform-style:preserve-3d;transition:transform .32s var(--ease-pop),box-shadow .32s ease,border-color .32s ease}.service-card:hover,.feature:hover{border-color:rgba(244,127,147,.4);box-shadow:0 26px 65px rgba(82,52,36,.14)}.service-card img,.feature img{transition:transform .65s var(--ease-pop),filter .5s ease}.service-card:hover img,.feature:hover img{transform:scale(1.045);filter:saturate(1.06)}.service-body,.feature-copy{position:relative;background:#fff}.service-body:after,.feature-copy:after{content:"↗";position:absolute;right:20px;top:20px;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#fff5f7;color:var(--pink);opacity:0;transform:translate(-6px,6px);transition:.35s var(--ease-pop)}.service-card:hover .service-body:after,.feature:hover .feature-copy:after{opacity:1;transform:none}

.story-visual{clip-path:inset(0 0 0 0 round 40px);transition:clip-path .7s ease}.story-visual img{transition:transform 1.1s var(--ease-pop);will-change:transform}.story-visual:hover img{transform:scale(1.045)}.story-visual .caption{transition:.35s var(--ease-pop)}.story-visual:hover .caption{transform:translateY(-5px)}
.check{transition:transform .3s var(--ease-pop)}.check:hover{transform:translateX(8px)}.check b{transition:transform .45s var(--ease-pop)}.check:hover b{transform:rotate(12deg) scale(1.12)}

.gitem{box-shadow:0 10px 28px rgba(70,45,33,.06);transition:transform .4s var(--ease-pop),box-shadow .4s ease}.gitem:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(45,27,19,.17));opacity:0;transition:.4s}.gitem:hover{transform:translateY(-7px);box-shadow:0 24px 55px rgba(70,45,33,.14)}.gitem:hover:after{opacity:1}.glabel{z-index:2;transition:.35s var(--ease-pop)}.gitem:hover .glabel{transform:translateY(-4px);background:#fff}.photo-band{perspective:1000px}.photo-band img{transition:transform .5s var(--ease-pop),box-shadow .5s ease,filter .5s ease}.photo-band img:nth-child(odd){transform:rotate(-.65deg)}.photo-band img:nth-child(even){transform:rotate(.65deg)}.photo-band img:hover{transform:translateY(-10px) rotate(0) scale(1.04);box-shadow:0 24px 45px rgba(70,45,33,.15);filter:saturate(1.08)}

.page-hero{position:relative;overflow:hidden}.page-hero:after{content:"";position:absolute;right:-80px;top:-90px;width:280px;height:280px;border-radius:45% 55% 48% 52%;background:linear-gradient(145deg,rgba(244,127,147,.17),rgba(158,217,196,.14));animation:blobFloat 10s ease-in-out infinite;pointer-events:none}.page-hero h1{animation:heroTitleIn .95s var(--ease-pop) both}.page-hero p{animation:heroCopyIn .9s .12s var(--ease-pop) both}.page-hero-photo{animation:pagePhotoFloat 7.5s ease-in-out infinite;transition:transform .35s ease}@keyframes pagePhotoFloat{0%,100%{transform:rotate(.7deg) translateY(0)}50%{transform:rotate(-.25deg) translateY(-8px)}}

.masonry a{box-shadow:0 8px 24px rgba(70,45,33,.06);transition:transform .4s var(--ease-pop),box-shadow .4s ease}.masonry a:hover{transform:translateY(-7px) rotate(.3deg);box-shadow:0 22px 45px rgba(70,45,33,.14)}
.step{position:relative;overflow:hidden;transition:transform .35s var(--ease-pop),box-shadow .35s ease}.step:after{content:"";position:absolute;width:120px;height:120px;border-radius:50%;right:-74px;bottom:-74px;background:var(--pink2);opacity:.13;transition:.5s var(--ease-pop)}.step:hover{transform:translateY(-6px);box-shadow:0 20px 45px rgba(70,45,33,.09)}.step:hover:after{transform:scale(1.65)}

.cta-box{box-shadow:0 28px 70px rgba(52,31,24,.2)}.cta-box:before{animation:ctaBlob 8s ease-in-out infinite}.cta-box:after{content:"";position:absolute;width:210px;height:210px;border-radius:50%;border:1px dashed rgba(255,255,255,.28);right:50px;bottom:-135px;animation:spinCookie 20s linear infinite}@keyframes ctaBlob{50%{transform:translate(-22px,18px) scale(1.08)}}

.icing-dot{position:fixed;width:7px;height:7px;border-radius:50%;pointer-events:none;z-index:9997;opacity:.8;transform:translate(-50%,-50%);animation:dotFade .7s ease-out forwards;box-shadow:0 2px 5px rgba(84,48,40,.12)}@keyframes dotFade{to{opacity:0;transform:translate(-50%,-50%) scale(.25)}}

@media(max-width:960px){
  .hero-main-photo,.photo-sticker.one,.photo-sticker.two,.page-hero-photo{animation:none}
  .taste-track{animation-duration:38s}
}
@media(max-width:620px){
  body:before{opacity:.08}
  .scroll-progress{height:2px}
  .taste-track{gap:24px;padding:11px 0}.taste-track span{gap:24px;font-size:10px}
  .section.alt:before{display:none}
  .hero:before,.hero:after{opacity:.55}
  .reveal{transform:translateY(22px);filter:none}
}
@media(prefers-reduced-motion:reduce){
  *,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}
  .icing-dot{display:none!important}
}


/* ===== V4 refinement ===== */
.hero-main-photo img,.page-hero-photo img,.service-card img,.feature img,.gitem img,.masonry img,.photo-band img,.story-visual img{image-rendering:auto;backface-visibility:hidden}
.hero-main-photo,.page-hero-photo,.story-visual,.visit-card,.service-card,.feature,.gitem,.masonry a{position:relative;overflow:hidden}
.hero-main-photo:before,.page-hero-photo:before,.story-visual:before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,rgba(255,255,255,.32) 0%,rgba(255,255,255,.06) 35%,rgba(255,255,255,0) 52%);transform:translateX(-120%) skewX(-18deg);animation:shineSweep 7.2s ease-in-out infinite;pointer-events:none;z-index:2}
@keyframes shineSweep{0%,58%,100%{transform:translateX(-120%) skewX(-18deg)}72%{transform:translateX(140%) skewX(-18deg)}}
.hero h1 em,.page-hero h1 em{position:relative;text-shadow:0 10px 30px rgba(244,127,147,.16)}
.hero .actions .btn.pink,.page-hero .actions .btn.pink,.nav-cta{background:linear-gradient(135deg,#ff8aa2,#f47f93 58%,#eb6f87);box-shadow:0 14px 28px rgba(244,127,147,.25), inset 0 1px 0 rgba(255,255,255,.35)}
.hero .actions .btn.pink:hover,.page-hero .actions .btn.pink:hover,.nav-cta:hover{box-shadow:0 18px 34px rgba(244,127,147,.34), inset 0 1px 0 rgba(255,255,255,.42)}
.quick-item,.service-card,.feature,.step,.visit-card,.faq details,.gitem,.masonry a{background:rgba(255,255,255,.84);backdrop-filter:blur(12px)}
.side-float{position:fixed;right:22px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:12px;z-index:60}
.float-btn{display:flex;align-items:center;gap:12px;min-width:194px;padding:13px 14px 13px 12px;border-radius:18px;background:rgba(255,255,255,.88);border:1px solid rgba(236,223,214,.95);box-shadow:0 20px 35px rgba(65,41,29,.12);backdrop-filter:blur(16px);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.float-btn:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 24px 42px rgba(65,41,29,.16);border-color:rgba(244,127,147,.35)}
.float-btn.phone .float-ico{background:linear-gradient(135deg,#9ed9c4,#79c8ad);color:#194838}
.float-btn.place .float-ico{background:linear-gradient(135deg,#ffb2bd,#f47f93);color:#fff}
.float-ico{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;font-size:18px;flex:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.45)}
.float-txt{display:flex;flex-direction:column;line-height:1.2}.float-txt strong{font-size:14px}.float-txt small{font-size:11px;color:var(--sub);margin-top:4px}
.cookie-pop{position:fixed;left:0;top:0;z-index:9998;pointer-events:none;font-size:17px;line-height:1;will-change:transform,opacity;animation:cookieBurst .95s cubic-bezier(.16,.84,.24,1) forwards;filter:drop-shadow(0 5px 10px rgba(84,48,40,.18))}
.cookie-pop.spark{font-size:11px}
@keyframes cookieBurst{0%{opacity:0;transform:translate(var(--x),var(--y)) scale(.15) rotate(0deg)}8%{opacity:1}100%{opacity:0;transform:translate(calc(var(--x) + var(--dx)),calc(var(--y) + var(--dy))) scale(1.1) rotate(var(--rot))}}
@media(max-width:1180px){.side-float{right:14px}.float-btn{min-width:170px;padding:12px}.float-txt strong{font-size:13px}}
@media(max-width:960px){.side-float{display:none}}

/* ===== V5 Designer Art Direction ===== */
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@500;600;700&family=Gowun+Dodum&family=Noto+Sans+KR:wght@400;500;600;700;800;900&display=swap');
:root{
  --ink:#33251f;--sub:#77665e;--paper:#fffdfb;--cream:#fff7f1;--soft:#fbf8f5;
  --pink:#ee7e91;--pink2:#f8b4bf;--mint:#99cfbd;--lemon:#f2d98a;--brown:#92715e;
  --line:#eadfd9;--shadow:0 28px 70px rgba(65,43,31,.10);--r:24px;
}
body{font-family:"Noto Sans KR",Pretendard,"Apple SD Gothic Neo",sans-serif;font-size:15px;line-height:1.72;letter-spacing:-.018em;background:var(--paper)}
.wrap{width:min(1320px,calc(100% - 64px))}
.nav-inner{height:80px}.nav{background:rgba(255,253,251,.92);border-bottom:1px solid rgba(234,223,217,.72)}
.logo{gap:11px;font-size:18px;font-weight:800;letter-spacing:-.045em}.logo small{font-family:"DM Sans",sans-serif;font-size:8px;letter-spacing:2.35px;font-weight:700;margin-top:2px}.logo-mark{width:39px;height:39px}
.menu{gap:32px;font-size:13px;font-weight:700;letter-spacing:-.015em}.menu a:after{bottom:-12px;height:2px}.nav-cta{padding:11px 17px;font-size:12px;font-weight:800}

.hero{padding:68px 0 92px;background:radial-gradient(circle at 8% 10%,rgba(242,217,138,.22),transparent 22%),radial-gradient(circle at 96% 8%,rgba(238,126,145,.12),transparent 20%),linear-gradient(180deg,#fffaf6 0%,#fffdfb 100%)}
.hero-grid{grid-template-columns:.82fr 1.18fr;gap:72px;align-items:center}.hero-grid>div:first-child{padding-left:8px}
.eyebrow,.pill{padding:6px 11px;font-family:"DM Sans",sans-serif;font-size:10px;font-weight:700;letter-spacing:1.15px;background:rgba(255,255,255,.76)}
.hero h1,.section h2,.page-hero h1,.story-copy h2,.cta h2{font-family:"Noto Sans KR",sans-serif;letter-spacing:-.058em}
.hero h1{font-size:clamp(45px,4.7vw,66px);font-weight:800;line-height:1.12;margin:24px 0 22px}.hero h1 em{font-family:"Gowun Dodum","Noto Sans KR",sans-serif;font-weight:400;letter-spacing:-.04em}
.hero p{font-size:16px;line-height:1.82;max-width:545px;color:#6f6059;margin:0}.actions{margin-top:30px;gap:10px}.btn{min-height:46px;padding:12px 18px;font-size:12.5px;font-weight:800;border-radius:14px;letter-spacing:-.015em}
.hero-photos{min-height:580px}.hero-main-photo{inset:12px 34px 26px 0;border-radius:34px;box-shadow:0 32px 80px rgba(69,43,29,.14);transform:rotate(-.45deg)}.photo-sticker{width:172px;border-width:5px;border-radius:18px;box-shadow:0 18px 42px rgba(55,34,24,.16)}.photo-sticker.one{top:30px}.photo-sticker.two{bottom:18px}.doodle{font-size:28px;opacity:.75}

.quick-strip{margin-top:-33px}.quick-grid{border-radius:20px;box-shadow:0 18px 48px rgba(75,47,33,.07);border-color:rgba(234,223,217,.9)}.quick-item{padding:19px 22px;gap:14px}.quick-icon{width:42px;height:42px;border-radius:13px;font-family:"DM Sans",sans-serif;font-size:11px;font-style:normal;font-weight:700;letter-spacing:.08em;color:#7e5c51;background:#fff4f6;border:1px solid rgba(238,126,145,.16)}.quick-item:nth-child(2) .quick-icon{background:#fff9e8}.quick-item:nth-child(3) .quick-icon{background:#f2faf7}.quick-item:nth-child(4) .quick-icon{background:#f7f2fb}.quick-item strong{font-size:13px;font-weight:800}.quick-item span{font-size:11px;margin-top:3px;color:#8a7770}
.taste-track{padding:11px 0}.taste-track span{font-size:9.5px;letter-spacing:1.9px;color:#a58d83}

.section{padding:108px 0}.section.alt{background:#faf7f4}.section.alt:before{display:none}.section-head{align-items:flex-end;gap:72px;margin-bottom:44px}.kicker{font-family:"DM Sans",sans-serif;font-size:9.5px;letter-spacing:1.95px;font-weight:700;color:#aa8879}.section h2{font-size:clamp(30px,3vw,43px);font-weight:800;line-height:1.25;margin:9px 0 0;background:none;color:var(--ink)}.section-head p{max-width:500px;font-size:14px;line-height:1.8;color:#806e66}
.cards4{gap:16px}.service-card{border-radius:20px;border-color:rgba(234,223,217,.92);box-shadow:0 10px 30px rgba(82,52,36,.045)}.service-card img{height:232px}.service-body{padding:20px 20px 22px}.service-body .num{font-size:9px;letter-spacing:1.3px}.service-body h3{font-size:18px;font-weight:800;letter-spacing:-.035em;margin:10px 0 8px}.service-body p{font-size:12px;line-height:1.7}.service-body:after,.feature-copy:after{right:16px;top:16px;width:28px;height:28px}

.story{grid-template-columns:1.08fr .92fr;gap:86px}.story-visual{min-height:560px;border-radius:28px;box-shadow:0 28px 65px rgba(73,44,31,.11)}.story-visual .caption{left:18px;bottom:18px;border-radius:12px;padding:10px 12px;font-family:"DM Sans",sans-serif;font-size:9px;letter-spacing:.5px}.story-copy h2{font-size:clamp(34px,3.3vw,46px);font-weight:800;line-height:1.28;margin:12px 0 20px}.story-copy>p{font-size:14px;line-height:1.85;max-width:520px}.check-list{gap:17px;margin-top:30px}.check{gap:14px}.check b{width:25px;height:25px;font-size:10px}.check span{font-size:13px;line-height:1.65}.check strong{font-size:13.5px}

.gallery{grid-template-columns:1.22fr .89fr .89fr;grid-auto-rows:248px;gap:14px}.gitem{border-radius:20px}.glabel{left:13px;bottom:13px;padding:8px 11px;font-size:10px;border-radius:11px}.photo-band{gap:12px}.photo-band img{height:210px;border-radius:17px}

.feature-grid{gap:16px}.feature{border-radius:20px}.feature img{height:252px}.feature-copy{padding:20px 21px 23px}.feature-copy h3{font-size:18px;font-weight:800;margin:12px 0 8px}.feature-copy p{font-size:12px;line-height:1.72}.pill{font-size:9px;padding:5px 9px}
.steps{gap:13px}.step{padding:24px 22px;border-radius:18px}.step b{font-size:25px}.step h3{font-size:16px;margin:15px 0 7px}.step p{font-size:12px;line-height:1.7}

.page-hero{padding:70px 0 76px;background:linear-gradient(180deg,#fff8f3,#fffdfb)}.page-hero-grid{grid-template-columns:.84fr 1.16fr;gap:70px}.page-hero h1{font-size:clamp(40px,4.5vw,58px);font-weight:800;line-height:1.2;margin:13px 0 18px}.page-hero p{font-size:15px;line-height:1.82;max-width:560px}.page-hero-photo{height:450px;border-radius:28px;box-shadow:0 28px 70px rgba(69,43,29,.12);transform:rotate(.25deg)}
.masonry{column-gap:14px}.masonry a{margin-bottom:14px;border-radius:18px}.masonry span{font-size:10px;padding:7px 10px;border-radius:10px}
.note{font-size:12px;line-height:1.75;border-radius:14px}.faq details{padding:17px 19px;border-radius:14px}.faq summary{font-size:13px}.faq p{font-size:12px;line-height:1.75}.visit-card{border-radius:22px}.visit-card img{height:350px}.visit-info{padding:22px}.visit-info h3{font-size:18px}.visit-info p{font-size:12px;line-height:1.8}

.cta{padding:82px 0 90px}.cta-box{padding:46px 50px;border-radius:26px}.cta h2{font-size:34px;font-weight:700;letter-spacing:-.045em}.cta p{font-size:13px}.footer{padding:48px 0 110px}.footer-grid{gap:56px}.footer h4{font-size:12px}.footer p,.footer a{font-size:11.5px;line-height:1.8}
.side-float{right:18px}.float-btn{min-width:184px;border-radius:15px;padding:11px 13px 11px 10px}.float-ico{width:38px;height:38px;border-radius:11px}.float-txt strong{font-size:12px}.float-txt small{font-size:10px}

@media(max-width:1100px){.wrap{width:min(1320px,calc(100% - 42px))}.hero-grid,.page-hero-grid{gap:42px}.hero-photos{min-height:520px}.story{gap:54px}.service-card img{height:205px}.side-float{display:none}}
@media(max-width:960px){.wrap{width:min(100% - 34px,1320px)}.hero{padding-top:50px}.hero-grid,.page-hero-grid,.story{grid-template-columns:1fr}.hero-grid>div:first-child{padding-left:0}.hero h1{font-size:52px}.hero-photos{min-height:500px}.section{padding:84px 0}.section-head{gap:30px}.cards4{grid-template-columns:1fr 1fr}.service-card img{height:245px}.story-visual{min-height:480px}.page-hero-photo{height:390px}.feature-grid{grid-template-columns:1fr 1fr}.feature img{height:250px}.photo-band img{height:180px}}
@media(max-width:620px){.wrap{width:min(100% - 28px,1320px)}.nav-inner{height:68px}.logo{font-size:16px}.logo-mark{width:35px;height:35px}.hero{padding:38px 0 64px}.hero h1{font-size:42px;line-height:1.16;margin-top:19px}.hero p{font-size:14px;line-height:1.75}.hero-photos{min-height:350px}.hero-main-photo{inset:8px 12px 18px 0;border-radius:24px}.photo-sticker{width:116px;border-width:4px}.quick-strip{margin-top:-18px}.quick-item{padding:16px 18px}.section{padding:72px 0}.section-head{display:block;margin-bottom:30px}.section h2{font-size:31px;line-height:1.3}.section-head p{font-size:13px;margin-top:13px}.cards4,.feature-grid,.steps{grid-template-columns:1fr}.service-card img,.feature img{height:238px}.service-body,.feature-copy{padding:18px}.story-visual{min-height:360px;border-radius:21px}.story-copy h2{font-size:31px}.gallery{grid-template-columns:1fr;grid-auto-rows:240px}.gitem.big{grid-row:span 1}.photo-band{grid-template-columns:1fr 1fr}.photo-band img{height:145px;border-radius:13px}.page-hero{padding:44px 0 54px}.page-hero h1{font-size:37px}.page-hero p{font-size:13.5px}.page-hero-photo{height:300px;border-radius:22px}.cta{padding:60px 0}.cta-box{padding:30px 24px}.cta h2{font-size:28px}.footer{padding-top:38px}.mobile-bar a{font-size:12px;padding:13px 8px}}
