@font-face{font-family:'Noto Sans KR';src:url('../fonts/NotoSansKR.ttf') format('truetype');font-weight:100 900;font-display:swap}
:root{--pink:#ff2e7e;--purple:#7c3aed;--yellow:#ffd93d;--ink:#1a1a1a;--muted:#6b6b6b;--paper:#fff7ea;--line:#1a1a1a}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:76px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:'Noto Sans KR',sans-serif;font-size:14px}
button,input,select{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
a{color:inherit;text-decoration:none}
button{border:0;background:none;cursor:pointer;color:inherit}
button:focus-visible,a:focus-visible{outline:2px solid var(--pink);outline-offset:3px}
img{display:block;width:100%;object-fit:cover}
.site{max-width:1280px;margin:auto}

header{height:72px;display:flex;align-items:center;gap:32px;padding:0 32px;border-bottom:3px solid var(--ink);background:#fff;position:sticky;top:0;z-index:15}
.logo{font-size:22px;letter-spacing:-.5px;white-space:nowrap;font-weight:900}
header .logo strong{color:var(--pink)}
footer .logo strong{color:var(--yellow)}
nav{display:flex;gap:8px;align-items:center;height:100%;font-size:12px;font-weight:800}
nav a{padding:8px 16px;border-radius:999px;border:2px solid transparent}
nav .active{background:var(--ink);color:#fff}
nav a:not(.active):hover{border-color:var(--ink)}
.utilities{display:flex;gap:12px;align-items:center;margin-left:auto;font-size:11px;font-weight:700;white-space:nowrap}
.utilities button{padding:6px 10px;border-radius:999px}
.utilities button:first-child{font-size:20px;padding:0 6px}
.utilities span{background:var(--pink);color:#fff;border-radius:999px;padding:1px 7px;margin-left:3px;font-weight:900}
.mobile-menu{display:none}

.hero{height:540px;position:relative;overflow:hidden;background:var(--yellow);border-bottom:3px solid var(--ink)}
.hero>img{height:88%;width:56%;object-position:center 15%;position:absolute;right:4%;bottom:0;border:4px solid var(--ink);box-shadow:14px 14px 0 var(--ink)}
.hero:after{display:none}
.hero-copy{position:absolute;left:6%;top:14%;z-index:1;max-width:420px}
.eyebrow{display:inline-block;font-size:12px;letter-spacing:1px;margin:0 0 14px;background:var(--purple);color:#fff;padding:5px 14px;border-radius:999px;font-weight:800}
.hero h1{font-family:'Noto Sans KR',sans-serif;font-weight:900;font-size:clamp(46px,6.5vw,88px);letter-spacing:-2px;line-height:.9;margin:0;color:var(--ink);text-shadow:5px 5px 0 #fff}
.hero-description{font-size:15px;line-height:1.7;margin:20px 0;font-weight:700}
.button{display:inline-flex;align-items:center;justify-content:center;gap:18px;padding:14px 26px;background:#fff;border:3px solid var(--ink);border-radius:999px;font-size:13px;font-weight:900;box-shadow:5px 5px 0 var(--ink);transition:transform .15s,box-shadow .15s}
.button:hover{transform:translate(-2px,-2px);box-shadow:7px 7px 0 var(--ink)}
.button.rose{background:var(--pink);color:#fff;min-width:200px}
.hero-mood{position:absolute;right:5%;top:8%;text-align:right;color:var(--ink);z-index:1;transform:rotate(4deg)}
.hero-mood p{font-size:11px;letter-spacing:2px;margin:0;font-weight:800}
.hero-mood em{display:block;font-style:normal;font-family:'Noto Sans KR',sans-serif;font-size:26px;font-weight:900;white-space:nowrap;margin-top:4px;background:#fff;border:3px solid var(--ink);padding:6px 14px;border-radius:14px}
.hero-mood span{display:none}

.categories{display:grid;grid-template-columns:repeat(6,1fr);gap:16px;padding:36px 32px 0}
.category{position:relative;overflow:visible;background:transparent;text-align:center}
.category img{height:96px;width:96px;border-radius:50%;object-position:60% 25%;margin:0 auto;border:3px solid var(--ink);box-shadow:4px 4px 0 var(--ink);transition:transform .25s}
.category:nth-child(2n) img{border-color:var(--pink);box-shadow:4px 4px 0 var(--pink)}
.category:nth-child(3n) img{border-color:var(--purple);box-shadow:4px 4px 0 var(--purple)}
.category div{margin-top:12px}
.category strong{font-size:11px;display:block;font-weight:900}
.category span{font-size:10px;display:block;margin-top:2px;color:var(--muted)}
.category:hover img{transform:translateY(-4px) rotate(-3deg)}

.section{padding:64px 32px 0}
.section-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:30px;gap:12px}
.section-title h2{font-size:22px;margin:0;font-weight:900;letter-spacing:-.5px}
.section-title small{font-size:11px;color:var(--muted);font-weight:700;margin-left:12px;background:#fff;border:2px solid var(--ink);border-radius:999px;padding:2px 10px}
.section-title>a{font-size:12px;font-weight:800;color:var(--pink)}

.products{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:24px}
.product{background:#fff;border:3px solid var(--ink);border-radius:18px;padding:10px;transition:transform .2s,box-shadow .2s}
.product:hover{transform:translateY(-4px);box-shadow:6px 6px 0 var(--ink)}
.product-media{position:relative;overflow:hidden;background:var(--paper);border-radius:12px}
.product-media>button{display:block;padding:0;width:100%}
.product-media img{aspect-ratio:1;object-position:center 25%;transition:transform .5s}
.badge{position:absolute;top:-6px;left:-6px;background:var(--pink);color:#fff;font-size:10px;padding:5px 12px;pointer-events:none;border-radius:999px;font-weight:900;transform:rotate(-8deg);border:2px solid var(--ink)}
.product-name{display:flex;align-items:flex-start;justify-content:space-between;gap:6px;margin-top:12px;padding:0 4px}
.product-name h3{margin:0;font-size:12px;font-weight:700;line-height:1.5}
.wish{font-size:18px;line-height:1;padding:3px;color:var(--muted)}
.wish.saved{color:var(--pink)}
.price{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:7px 4px 8px;font-size:12px}
.price strong{font-weight:900}
.price b{color:#fff;background:var(--purple);border-radius:999px;padding:1px 7px;font-weight:900}
.price del{color:#aaa;font-size:11px}
.swatches{display:flex;gap:5px;padding:0 4px 6px}
.swatches span{width:13px;height:13px;border-radius:50%;border:2px solid var(--ink)}

.editorial{display:grid;grid-template-columns:1.3fr 1fr;gap:20px;margin:64px 32px 0;height:380px}
.editorial a{position:relative;display:block;overflow:hidden;border:3px solid var(--ink);border-radius:20px;min-height:0}
.editorial img{position:absolute;inset:0;width:100%;height:100%;transition:transform .5s}
.editorial a:hover img{transform:scale(1.05)}
.editorial-main,.editorial-side,.editorial-side>a{min-height:0}
.editorial h2{font-family:'Noto Sans KR',sans-serif;font-weight:900;font-size:38px;line-height:.95;letter-spacing:-1px;margin:0}
.editorial p{font-size:13px;line-height:1.6;margin:12px 0;font-weight:700}
.editorial-main>div{position:absolute;top:8%;left:8%;color:#fff;z-index:1}
.editorial-main:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.5),transparent 50%)}
.editorial-main .button{color:var(--ink)}
.editorial-side{display:grid;grid-template-rows:minmax(0,1fr) minmax(0,1fr);gap:20px}
.editorial-side a>div{position:absolute;top:10%;left:8%;color:#fff;z-index:1}
.editorial-side a:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.5),transparent 60%)}
.editorial-side h2{font-size:26px}
.editorial-side p{font-size:11px;margin:6px 0}
.editorial-side .button{font-size:10px;padding:8px 14px;min-width:0;box-shadow:3px 3px 0 var(--ink)}

.benefits{display:grid;grid-template-columns:repeat(4,1fr);background:var(--purple);margin:64px 32px 0;padding:26px 30px;gap:20px;border-radius:20px;border:3px solid var(--ink)}
.benefits>div{display:flex;align-items:center;gap:14px}
.benefits svg{width:34px;height:34px;fill:none;stroke:#fff;stroke-width:2;flex-shrink:0;stroke-linecap:round;stroke-linejoin:round;background:rgba(255,255,255,.15);border-radius:50%;padding:6px}
.benefits p{margin:0;color:#fff}
.benefits strong{font-size:11px;display:block;font-weight:900}
.benefits span{display:block;font-size:10px;margin-top:4px;opacity:.85}

.lookbook{padding-top:64px}
.looks{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px 10px}
.look{padding:8px 8px 12px;text-align:left;background:#fff;border:3px solid var(--ink);border-radius:14px;transition:transform .2s}
.look:nth-child(2n){transform:rotate(-2deg)}
.look:nth-child(3n){transform:rotate(2deg)}
.look:hover{transform:translateY(-4px) rotate(0)}
.look img{aspect-ratio:1;object-position:center 20%;border-radius:8px;margin-bottom:8px}
.look strong{display:block;font-size:11px;font-weight:900}
.look span{font-size:10px;color:var(--muted)}

.news-social{display:grid;grid-template-columns:1fr 1fr;gap:32px;padding:64px 32px 60px}
.news-social .section-title h2{font-size:18px}
.news-list button{width:100%;display:grid;grid-template-columns:60px 1fr auto 12px;text-align:left;align-items:center;gap:12px;padding:10px;border:2px solid var(--ink);border-radius:12px;font-size:12px;margin-bottom:10px;font-weight:700}
.news-list .tag{font-size:9px;background:var(--yellow);border-radius:999px;color:var(--ink);text-align:center;padding:3px 8px;font-weight:900}
.news-list .tag.blue{background:var(--pink);color:#fff}
.news-list time{color:var(--muted);font-size:10px}
.insta-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.insta-grid button{padding:0;border-radius:14px;overflow:hidden;border:3px solid var(--ink)}
.insta-grid img{aspect-ratio:1;transition:transform .3s}
.insta-grid button:hover img{transform:scale(1.08)}
.insta-grid button:nth-child(2n){border-color:var(--pink)}
.insta-grid button:nth-child(3n){border-color:var(--purple)}

footer{display:flex;align-items:center;position:relative;gap:24px;padding:32px;background:var(--ink);color:#fff;border-top:3px solid var(--ink)}
.footer-links{display:flex;gap:16px;flex-wrap:wrap}
.footer-links button{font-size:11px;padding:0;color:#ddd;font-weight:700}
footer .logo{font-size:16px}
.copyright{font-size:10px;color:#999;margin-left:auto}
.back-top{position:absolute;right:32px;top:-20px;border-radius:50%;width:40px;height:40px;display:grid;place-items:center;background:var(--pink);color:#fff;border:3px solid var(--ink);font-weight:900}

dialog{border:3px solid var(--ink);border-radius:20px;box-shadow:8px 8px 0 var(--ink);padding:32px;max-width:640px;width:calc(100% - 32px);max-height:90vh;overflow:auto}
dialog::backdrop{background:#0006}
.dialog-close{position:absolute;top:10px;right:16px;font-size:26px}
.dialog-image{width:100%;max-height:58vh;object-fit:contain;background:var(--paper);border-radius:12px}
dialog h2{font-size:20px;margin:14px 0;font-weight:900}
dialog p{font-size:13px;line-height:1.8;color:var(--muted)}
dialog label{display:block;margin:15px 0;font-size:11px;font-weight:800}
dialog input,dialog select{display:block;width:100%;padding:12px;border:2px solid var(--ink);background:#fff;margin-top:6px;border-radius:10px}
.dialog-actions{display:flex;gap:10px;margin-top:16px}
.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%) translateY(20px);background:var(--ink);color:#fff;padding:13px 22px;border-radius:999px;opacity:0;pointer-events:none;transition:.3s;z-index:20;font-weight:800;font-size:12px}
.toast.show{opacity:1;transform:translateX(-50%)}
.cart-row{display:flex;gap:15px;align-items:center;border-bottom:2px solid #eee;padding:12px 0}
.cart-row img{width:75px;height:90px;border-radius:10px}
.cart-row p{flex:1;margin:0;font-size:12px}
.cart-row button{font-size:11px;text-decoration:underline}
.search-results{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:20px}
.search-result{padding:0;text-align:left}
.search-result img{aspect-ratio:1;border-radius:10px}
.search-result span{display:block;font-size:12px;margin-top:8px}

header.scrolled{box-shadow:0 4px 0 var(--ink)}
.hero>img.hero-slide{opacity:0;transition:opacity .8s ease}
.hero>img.hero-slide.is-active{opacity:1}
.hero-carousel-controls{position:absolute;left:6%;bottom:6%;display:flex;align-items:center;gap:10px;z-index:3}
.hero-carousel-controls>button{width:30px;height:30px;border-radius:50%;border:2px solid var(--ink);background:#fff;display:grid;place-items:center;font-size:15px}
.hero-carousel-controls .hero-pause{font-size:11px}
.hero-dots{display:flex;gap:8px}
.hero-dots button{width:10px;height:10px;border-radius:50%;padding:0;border:2px solid var(--ink);background:#fff}
.hero-dots button[aria-pressed=true]{background:var(--pink)}
.hero-counter{font-size:10px;font-weight:800}
.slide-copy-enter{animation:pop-in .4s ease both}
.motion-enter{animation:pop-in .5s ease both;animation-delay:var(--motion-delay,0ms)}
@keyframes pop-in{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(prefers-reduced-motion:reduce){.slide-copy-enter,.motion-enter,.hero>img.hero-slide{animation:none!important;transition:none!important}}
