
:root{--paper:#faf6f1;--card:#fffdfa;--ink:#2b2421;--mut:#8a7c74;--plum:#6e2f45;--plum2:#8d4a60;--gold:#a9844d;--tint:#f1e6e0;--line:#e5d9d0}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:78px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:'Zen Kaku Gothic New','Yu Gothic UI','Hiragino Sans',Meiryo,sans-serif;line-height:1.8;-webkit-font-smoothing:antialiased}
a{color:inherit}
.serif{font-family:'Shippori Mincho','Yu Mincho',serif}
header.top{position:sticky;top:0;z-index:50;background:rgba(250,246,241,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.top-in{max-width:1180px;margin:0 auto;padding:12px 22px;display:flex;align-items:center;justify-content:space-between;gap:14px}
.logo{font-family:'Shippori Mincho','Yu Mincho',serif;font-weight:800;font-size:20px;letter-spacing:.12em;color:var(--plum);text-decoration:none}
.logo small{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:500;color:var(--gold);font-size:13px;margin-left:10px;letter-spacing:.08em}
.toplink{font-size:12.5px;color:var(--mut);text-decoration:none;letter-spacing:.06em}
nav.cats{border-top:1px solid var(--line);overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch}
nav.cats .in{max-width:1180px;margin:0 auto;padding:0 22px;display:flex;gap:26px}
nav.cats a{display:inline-block;padding:10px 0 9px;font-size:13px;letter-spacing:.06em;text-decoration:none;color:var(--ink);border-bottom:2px solid transparent}
nav.cats a:hover{color:var(--plum);border-color:var(--plum)}
.hero{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1.05fr 1fr;align-items:stretch}
.hero .tx{padding:64px 36px 56px 22px;display:flex;flex-direction:column;justify-content:center}
.hero .eyebrow{font-family:'Cormorant Garamond',serif;font-style:italic;color:var(--gold);letter-spacing:.14em;font-size:15px}
.hero h1{font-family:'Shippori Mincho','Yu Mincho',serif;font-weight:600;font-size:40px;line-height:1.5;letter-spacing:.06em;margin:10px 0 18px;color:var(--plum)}
.hero p{margin:0;max-width:430px;color:#5d514b;font-size:14.5px}
.hero .pr{align-self:flex-start;display:inline-block;margin-top:14px;font-size:11px;color:var(--mut);border:1px solid var(--line);padding:0 9px;border-radius:2px;letter-spacing:.08em}
.hero .ph{background:url('img/hero_cosme.jpg') center/cover;min-height:380px}
.intro{max-width:760px;margin:0 auto;padding:46px 22px 6px;text-align:center}
.intro h2{font-family:'Shippori Mincho','Yu Mincho',serif;font-weight:600;font-size:21px;color:var(--ink);letter-spacing:.1em;margin:0 0 10px}
.intro p{margin:0;color:#5d514b;font-size:14px}
main{max-width:1180px;margin:0 auto;padding:10px 22px 40px}
section.cat{padding-top:44px}
.cat-h{display:flex;align-items:baseline;gap:16px;border-bottom:1px solid var(--ink);padding-bottom:10px;margin-bottom:24px}
.cat-h .no{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:40px;color:var(--gold);line-height:1}
.cat-h h2{font-family:'Shippori Mincho','Yu Mincho',serif;font-weight:600;font-size:24px;letter-spacing:.1em;margin:0}
.cat-h .n{margin-left:auto;font-size:12px;color:var(--mut);letter-spacing:.1em}
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:34px 22px}
.cell{display:flex;flex-direction:column}.item{display:flex;flex-direction:column;text-decoration:none;color:inherit}
.item .pic{position:relative;aspect-ratio:1/1;background:#fff;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;overflow:hidden}
.item .pic img{width:88%;height:88%;object-fit:contain;transition:transform .35s}
.item:hover .pic img{transform:scale(1.04)}
.tag{position:absolute;left:0;top:12px;background:var(--plum);color:#fff;font-size:10.5px;letter-spacing:.1em;padding:2px 10px 2px 9px}
.tag.depa{background:var(--gold)}
.item .brand{margin-top:12px;font-family:'Cormorant Garamond',serif;letter-spacing:.16em;font-size:13px;color:var(--gold);text-transform:uppercase}
.item .nm{font-family:'Shippori Mincho','Yu Mincho',serif;font-weight:600;font-size:15px;line-height:1.55;margin:2px 0 6px}
.item .pr2{font-size:13px;color:var(--ink)}.item .pr2 b{font-size:16px}
.item .st{font-size:12px;color:var(--mut);letter-spacing:.04em}
.memo{margin-top:10px;font-size:12.5px;line-height:1.75;color:#4d423c;border-left:2px solid var(--plum);padding:1px 0 1px 10px}
.memo .l{display:block;font-size:10.5px;letter-spacing:.14em;color:var(--plum);font-weight:700;margin-bottom:1px}
.memo.v{border-color:var(--line);color:#6a5e57}.memo.v .l{color:var(--mut)}
.go{margin-top:12px;font-size:12px;letter-spacing:.1em;color:var(--plum);border-bottom:1px solid var(--plum2);align-self:flex-start;padding-bottom:1px}
.notes{max-width:900px;margin:34px auto 0;padding:18px 22px;border-top:1px solid var(--line);font-size:12px;color:var(--mut);line-height:1.9}
footer{background:#3c1f2b;color:#e9dcd6;margin-top:36px}
footer .in{max-width:1180px;margin:0 auto;padding:34px 22px 30px;display:flex;flex-wrap:wrap;gap:12px 40px;align-items:center;justify-content:space-between;font-size:12.5px}
footer .lg{font-family:'Shippori Mincho','Yu Mincho',serif;font-size:18px;letter-spacing:.12em;color:#fff}
footer a{color:#e9dcd6}
footer .aff{width:100%;font-size:11.5px;color:#bba9a1}
.art{max-width:760px;margin:0 auto;padding:44px 22px}
.art h1{font-family:'Shippori Mincho','Yu Mincho',serif;font-weight:600;color:var(--plum);letter-spacing:.08em}
.art p{font-size:14px;color:#4d423c}
@media(max-width:1000px){.grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.hero{grid-template-columns:1fr}.hero .ph{min-height:230px;order:-1}.hero .tx{padding:30px 22px 8px}.hero h1{font-size:28px}.grid{grid-template-columns:repeat(2,1fr);gap:26px 14px}.cat-h .no{font-size:30px}.cat-h h2{font-size:19px}.top-in{padding:10px 16px}.logo{font-size:17px}.logo small{display:none}nav.cats .in{gap:20px;padding:0 16px}main{padding:6px 16px 30px}}
