:root{
  --paper:#f6f1ea; --ink:#141210; --soft:#6f665d; --line:#d9cfc3; --red:#b3262d; --card:#fffdf9;
  --serif:"Bodoni Moda","Noto Serif KR",Georgia,serif;
  --sans:Inter,system-ui,-apple-system,"Segoe UI","Apple SD Gothic Neo","Malgun Gothic",sans-serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.65;font-size:16px}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
main{overflow:hidden}

/* top bar */
.top{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:20px;padding:12px 24px;background:rgba(246,241,234,.94);backdrop-filter:blur(6px);border-bottom:1px solid var(--line)}
.mast{font-family:var(--serif);font-weight:700;letter-spacing:.18em;font-size:20px}
.mast.small{font-size:18px}
.cats{display:flex;gap:18px;flex:1;overflow-x:auto;scrollbar-width:none;font-size:13px;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}
.cats::-webkit-scrollbar{display:none}
.cats a{color:var(--soft);padding:4px 0;border-bottom:1px solid transparent}
.cats a:hover,.cats a.on{color:var(--ink);border-color:var(--ink)}
.lang{display:flex;gap:10px;font-size:12px;letter-spacing:.08em}
.lang a{color:var(--soft)}
.lang a.on{color:var(--ink);font-weight:600}

/* cover */
.cover{position:relative;max-width:1180px;margin:24px auto 0;padding:0 24px}
.cover-ph{position:relative;aspect-ratio:4/5;max-height:86vh;width:100%;overflow:hidden;background:#ddd}
.cover-ph img{width:100%;height:100%;object-fit:cover;object-position:center 60%}
.cover-ph::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.28) 0%,rgba(0,0,0,0) 38%,rgba(0,0,0,0) 55%,rgba(0,0,0,.45) 100%)}
.cover-text{position:absolute;inset:0 24px;color:#fff;padding:28px 32px;display:flex;flex-direction:column;pointer-events:none}
.issue{margin:0;font-size:12px;letter-spacing:.24em;text-transform:uppercase;display:flex;justify-content:space-between}
.cover-mast{font-family:var(--serif);font-weight:800;font-size:clamp(64px,15vw,190px);line-height:.86;letter-spacing:-.01em;margin:10px 0 0;text-align:center}
.cover .kicker{color:#fff;text-align:center;margin-top:8px}
.lines{list-style:none;margin:auto 0 0;padding:0;max-width:420px}
.lines li{font-family:var(--serif);font-style:italic;font-size:clamp(20px,2.6vw,30px);line-height:1.2;padding:10px 0;border-top:1px solid rgba(255,255,255,.55)}
.l-ko .lines li{font-style:normal;font-weight:500}
.kicker{margin:0;font-size:12px;letter-spacing:.28em;text-transform:uppercase;color:var(--red);font-weight:600}

/* section titles */
.sec{font-family:var(--serif);font-weight:500;font-size:clamp(30px,4vw,46px);text-align:center;margin:0 0 32px;position:relative}
.sec::after{content:"";display:block;width:40px;height:1px;background:var(--ink);margin:14px auto 0}

/* table of contents */
.inside{max-width:1180px;margin:0 auto;padding:80px 24px 40px}
.toc{display:grid;grid-template-columns:repeat(5,1fr);gap:20px}
.toc-item .ph{aspect-ratio:3/4;overflow:hidden;background:#e8e0d6}
.toc-item img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.toc-item:hover img{transform:scale(1.04)}
.num{display:block;font-family:var(--serif);font-size:28px;color:var(--red);margin:14px 0 2px;font-style:italic}
.toc-item h3{font-family:var(--serif);font-weight:600;font-size:20px;line-height:1.25;margin:0 0 6px}
.toc-item p{margin:0;color:var(--soft);font-size:14px}

/* feature */
.feature{max-width:1180px;margin:40px auto;padding:0 24px;display:grid;grid-template-columns:1.2fr 1fr;gap:48px;align-items:center}
.feat-ph{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.feat-ph img{aspect-ratio:3/4;object-fit:cover;width:100%}
.feat-ph img:last-child{margin-top:48px}
.feature h2,.cat-text h1,.look h2{font-family:var(--serif);font-weight:500;font-size:clamp(32px,4.4vw,56px);line-height:1.08;margin:10px 0 18px}
.feature p{font-size:17px}
.more{display:inline-block;margin-top:12px;font-size:13px;letter-spacing:.14em;text-transform:uppercase;border-bottom:1px solid var(--ink);padding-bottom:2px}
.more.center{display:table;margin:28px auto 0}

/* product grid */
.picks{max-width:1180px;margin:0 auto;padding:60px 24px}
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px 20px}
.prod .ph{aspect-ratio:1;overflow:hidden;background:#e8e0d6}
.prod img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.prod:hover img{transform:scale(1.04)}
.prod h3{font-family:var(--serif);font-weight:500;font-size:18px;line-height:1.3;margin:12px 0 4px}
.buy{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--red)}

/* where to buy */
.where{max-width:760px;margin:0 auto;padding:40px 24px 90px;text-align:center}
.shops{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:18px}
.btn{display:inline-block;padding:14px 28px;background:var(--ink);color:var(--paper);font-size:13px;letter-spacing:.14em;text-transform:uppercase}
.btn:hover{background:var(--red)}

/* category page */
.cat-head{max-width:1180px;margin:32px auto 0;padding:0 24px;display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.cat-head.plain{grid-template-columns:1fr;max-width:820px;text-align:center}
.cat-ph{aspect-ratio:4/5;overflow:hidden}
.cat-ph img{width:100%;height:100%;object-fit:cover}
.lead{font-family:var(--serif);font-size:22px;line-height:1.45;margin:0 0 16px}
.l-ko .lead{font-size:20px}
.cat-text p:not(.lead):not(.kicker){color:var(--soft)}
.related{max-width:1180px;margin:0 auto;padding:10px 24px 80px;text-align:center}
.style-link{font-family:var(--serif);font-size:28px;font-style:italic;border-bottom:1px solid var(--ink)}
.other{display:flex;flex-wrap:wrap;gap:10px 22px;justify-content:center;margin-top:28px;font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--soft)}

/* styling */
.looks{max-width:1080px;margin:0 auto;padding:40px 24px 60px}
.look{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;margin-bottom:72px}
.look:nth-child(even) .ph{order:2}
.look .ph{aspect-ratio:4/5;overflow:hidden}
.look .ph img{width:100%;height:100%;object-fit:cover}
.look h2{font-size:clamp(28px,3.4vw,42px)}
.coming{text-align:center;color:var(--soft);font-style:italic}

/* footer */
.foot{border-top:1px solid var(--line);padding:48px 24px 60px;text-align:center;font-size:14px;color:var(--soft)}
.foot a{border-bottom:1px solid var(--line)}
.foot .mast{color:var(--ink);margin-bottom:12px}
.copy{font-size:12px;letter-spacing:.1em}

@media (max-width:900px){
  .toc{grid-template-columns:repeat(2,1fr)}
  .toc-item:last-child{grid-column:span 2}
  .toc-item:last-child .ph{aspect-ratio:16/9}
  .feature,.cat-head,.look{grid-template-columns:1fr;gap:28px}
  .look:nth-child(even) .ph{order:0}
  .grid{grid-template-columns:repeat(2,1fr);gap:24px 14px}
}
@media (max-width:640px){
  .top{padding:10px 16px;gap:12px;flex-wrap:wrap}
  .cats{order:3;flex-basis:100%}
  .lang{margin-left:auto}
  .cover{padding:0;margin-top:0}
  .cover-text{inset:0;padding:20px 18px}
  .cover-ph{max-height:none}
  .inside,.picks,.feature,.cat-head,.looks,.related{padding-left:16px;padding-right:16px}
  .inside{padding-top:56px}
  .prod h3{font-size:16px}
}
