:root{--bg:#fff7f4;--paper:#fff;--ink:#21161a;--muted:#7d6b70;--line:#f1e1db;--rose:#d63e6c;--rose2:#b52c57;--blush:#fbe9e4;--gold:#c9a24a;--r:18px;--shadow:0 10px 30px -12px rgba(80,20,40,.25)}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.6 "DM Sans",system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%;height:auto}a{color:inherit}
h1,h2,h3{font-family:"Playfair Display",Georgia,serif;font-weight:700;letter-spacing:-.01em;line-height:1.12;margin:0}
.wrap{max-width:1280px;margin:0 auto;padding:0 20px}.narrow{max-width:760px}
.btn{display:inline-flex;align-items:center;gap:8px;border:0;cursor:pointer;background:var(--ink);color:#fff;text-decoration:none;font:700 15px "DM Sans",sans-serif;padding:13px 24px;border-radius:999px;transition:transform .15s,background .15s}
.btn:hover{transform:translateY(-1px)}.btn.red{background:#e60023}.btn.red:hover{background:#c8001e}

/* header */
.top{position:sticky;top:0;z-index:50;background:rgba(255,247,244,.9);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid var(--line)}
.bar{display:flex;align-items:center;gap:18px;height:66px}
.logo{font:700 26px "Playfair Display",serif;text-decoration:none;letter-spacing:-.02em;white-space:nowrap}.logo em{color:var(--rose);font-style:italic}
.search{flex:1;max-width:460px}.search input{width:100%;border:1px solid var(--line);background:#fff;border-radius:999px;padding:11px 18px 11px 42px;font:15px "DM Sans",sans-serif;color:var(--ink);outline:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' fill='none' stroke='%237d6b70' stroke-width='2'%3E%3Ccircle cx='8' cy='8' r='6'/%3E%3Cpath d='m13 13 4 4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:16px 50%}
.search input:focus{border-color:var(--rose);box-shadow:0 0 0 4px rgba(214,62,108,.12)}
.menu{display:flex;align-items:center;gap:4px;margin-left:auto}
.dd{position:relative}.ddb{background:none;border:0;font:500 15px "DM Sans",sans-serif;color:var(--ink);padding:10px 12px;border-radius:999px;cursor:pointer}.ddb:hover,.dd:focus-within .ddb{background:var(--blush)}
.ddm{position:absolute;top:100%;left:0;min-width:220px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:10px;display:grid;grid-template-columns:1fr 1fr;gap:2px;opacity:0;visibility:hidden;transform:translateY(6px);transition:.15s}
.dd:hover .ddm,.dd:focus-within .ddm{opacity:1;visibility:visible;transform:none}
.ddm a{text-decoration:none;padding:8px 10px;border-radius:10px;font-size:14px;white-space:nowrap}.ddm a:hover{background:var(--blush);color:var(--rose2)}
.pinbtn{margin-left:6px;background:#e60023;color:#fff;text-decoration:none;font-weight:700;font-size:14px;padding:9px 16px;border-radius:999px}
.chipbar{border-top:1px solid var(--line)}
.chips{display:flex;gap:8px;overflow-x:auto;padding:10px 20px;scrollbar-width:none}.chips::-webkit-scrollbar{display:none}
.chip{flex:none;text-decoration:none;font-size:14px;font-weight:500;background:#fff;border:1px solid var(--line);padding:6px 14px;border-radius:999px;transition:.15s}
.chip:hover{border-color:var(--rose);color:var(--rose2)}.chip.on{background:var(--ink);color:#fff;border-color:var(--ink)}

/* hero */
.hero{padding:48px 0 30px;background:radial-gradient(1200px 500px at 80% 0%,#ffe1e8 0,transparent 60%),radial-gradient(800px 400px at 0% 100%,#fff0de 0,transparent 60%)}
.hgrid{display:grid;grid-template-columns:1.05fr 1fr;gap:48px;align-items:center}
.eyebrow{display:inline-block;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--rose2);background:#fff;border:1px solid var(--line);padding:6px 12px;border-radius:999px;margin:0 0 18px}
.hero h1{font-size:clamp(42px,6.2vw,76px)}.hero h1 i{color:var(--rose)}
.lead{font-size:18px;color:var(--muted);max-width:560px;margin:16px 0 0}
.search.big{display:flex;gap:8px;margin-top:26px;max-width:560px}.search.big input{padding:16px 20px 16px 46px;font-size:16px;box-shadow:var(--shadow);border-color:transparent}
.search.big button{border:0;background:var(--rose);color:#fff;font:700 15px "DM Sans",sans-serif;padding:0 24px;border-radius:999px;cursor:pointer}.search.big button:hover{background:var(--rose2)}
.hchips{padding:18px 0 0;flex-wrap:wrap}
.collage{position:relative;height:540px}
.collage a{position:absolute;border-radius:24px;overflow:hidden;box-shadow:var(--shadow);transition:transform .3s}
.collage a:hover{transform:translateY(-6px) rotate(0)!important}
.collage img{width:100%;height:100%;object-fit:cover}
.collage span{position:absolute;left:12px;bottom:12px;background:rgba(255,255,255,.92);font-size:13px;font-weight:700;padding:6px 12px;border-radius:999px}
.collage .c0{width:56%;height:78%;left:0;top:8%;transform:rotate(-3deg);z-index:2}
.collage .c1{width:46%;height:56%;right:0;top:0;transform:rotate(4deg)}
.collage .c1 span{top:12px;bottom:auto}
.collage .c2{width:44%;height:50%;right:6%;bottom:0;transform:rotate(-2deg);z-index:3}

/* sections */
.sec{padding:56px 0}.sec.tight{padding-top:24px}.sec.soft{background:linear-gradient(#fff,#fff7f4)}
.sh{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:22px;flex-wrap:wrap}
.sh h2{font-size:clamp(28px,3.4vw,40px)}.sh p{margin:0;color:var(--muted);width:100%}.sh a{color:var(--rose2);font-weight:700;text-decoration:none}
.shapes{display:grid;grid-template-columns:repeat(6,1fr);gap:18px}
.shape{text-decoration:none;text-align:center}.shape img{border-radius:50%;aspect-ratio:1;object-fit:cover;width:100%;border:5px solid #fff;box-shadow:var(--shadow);transition:transform .25s}
.shape:hover img{transform:scale(1.05)}.shape b{display:block;margin-top:12px;font:700 19px "Playfair Display",serif}.shape small{color:var(--muted)}
.rail{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(210px,1fr);gap:16px;overflow-x:auto;padding-bottom:10px;scroll-snap-type:x mandatory;scrollbar-width:thin}
.tile{position:relative;display:block;border-radius:var(--r);overflow:hidden;text-decoration:none;color:#fff;scroll-snap-align:start;box-shadow:var(--shadow);background:#eee}
.tile img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.tile:hover img{transform:scale(1.06)}
.tile:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 45%,rgba(20,8,12,.7))}
.tl{position:absolute;left:16px;right:16px;bottom:14px;z-index:1}.tl b{display:block;font:700 24px "Playfair Display",serif}.tl small{opacity:.85}
.swatches{display:flex;flex-wrap:wrap;gap:18px 22px}
.sw{text-decoration:none;text-align:center;width:76px}.sw i{display:block;width:62px;height:62px;margin:0 auto 8px;border-radius:50%;border:4px solid #fff;box-shadow:0 0 0 1px var(--line),var(--shadow);transition:transform .2s}
.sw:hover i{transform:scale(1.1)}.sw b{font-size:13px;font-weight:500}
.stiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px}
.guides{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.guide{text-decoration:none;background:#fff;border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow);transition:transform .2s}.guide:hover{transform:translateY(-4px)}
.guide img{aspect-ratio:16/10;object-fit:cover;width:100%}.guide b{display:block;font:700 22px "Playfair Display",serif;margin:16px 18px 4px}.guide p{margin:0 18px 18px;color:var(--muted)}
.cta{background:var(--ink);color:#fff;text-align:center;padding:64px 0}.cta h2{font-size:clamp(28px,4vw,44px)}.cta p{opacity:.8;margin:10px 0 24px}

/* masonry */
.tabs,.fset{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}
.tabs button,.fset button{border:1px solid var(--line);background:#fff;color:var(--ink);font:500 14px "DM Sans",sans-serif;padding:8px 16px;border-radius:999px;cursor:pointer;transition:.15s}
.tabs button:hover,.fset button:hover{border-color:var(--rose)}.tabs button.on,.fset button.on{background:var(--rose);border-color:var(--rose);color:#fff}
.masonry{columns:4 260px;column-gap:18px}
.card{position:relative;break-inside:avoid;margin:0 0 18px;background:#fff;border-radius:var(--r);overflow:hidden;box-shadow:0 2px 10px -4px rgba(80,20,40,.18);transition:box-shadow .25s,transform .25s;animation:in .5s both}
.card:hover{box-shadow:var(--shadow);transform:translateY(-3px)}
.card .ph{display:block;overflow:hidden;background:linear-gradient(110deg,#f6e8e3 30%,#fdf3ef 50%,#f6e8e3 70%);background-size:200% 100%;animation:shimmer 1.4s infinite}
.card img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.card:hover img{transform:scale(1.05)}
.card .save{position:absolute;top:12px;right:12px;background:#e60023;color:#fff;text-decoration:none;font-weight:700;font-size:14px;padding:9px 16px;border-radius:999px;opacity:0;transform:translateY(-4px);transition:.2s}
.card:hover .save,.card:focus-within .save{opacity:1;transform:none}
.card figcaption{padding:12px 14px 14px}.card figcaption>a{text-decoration:none;font-weight:700;font-size:15px}
.mini{display:flex;gap:6px;margin-top:6px}.mini span{font-size:12px;color:var(--muted);background:var(--bg);padding:2px 9px;border-radius:999px}
.card.hide{display:none}.more{text-align:center;margin-top:18px}.empty{text-align:center;color:var(--muted);padding:30px 0}
@keyframes in{from{opacity:0;transform:translateY(10px)}}@keyframes shimmer{to{background-position:-200% 0}}

/* page head */
.phead{padding:40px 0 10px}.phead h1{font-size:clamp(36px,5vw,60px)}.crumbs{font-size:14px;color:var(--muted);margin-bottom:12px}.crumbs a{text-decoration:none}.crumbs a:hover{color:var(--rose2)}
.count{font-weight:700;color:var(--rose2);margin:10px 0 0}
.facets{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:18px 18px 4px;margin-bottom:24px}
.fset{align-items:center;margin-bottom:12px}.fset span{font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);width:150px}
.fbar{display:flex;gap:16px;align-items:center;padding:6px 0 14px}.clear{border:0;background:none;color:var(--rose2);font:700 14px "DM Sans";cursor:pointer;padding:0}

/* look */
.look{padding:34px 0 50px}.lgrid{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:start}
.lphoto{position:sticky;top:130px;border-radius:26px;overflow:hidden;box-shadow:var(--shadow);background:#f6e8e3}.lphoto img{width:100%;aspect-ratio:4/5;object-fit:cover}
.save.big{position:absolute;top:16px;right:16px;background:#e60023;color:#fff;text-decoration:none;font-weight:700;padding:12px 20px;border-radius:999px;box-shadow:var(--shadow)}
.linfo h1{font-size:clamp(34px,4.4vw,54px)}
.palette{display:flex;align-items:center;gap:8px;margin:22px 0}.palette i{width:34px;height:34px;border-radius:50%;border:3px solid #fff;box-shadow:0 0 0 1px var(--line)}.palette small{color:var(--muted);margin-left:6px}
.tg{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 0;border-top:1px solid var(--line)}.tg span{width:90px;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.how{background:#fff;border-radius:var(--r);padding:22px 24px;margin-top:22px;box-shadow:0 2px 10px -4px rgba(80,20,40,.15)}.how h2{font-size:24px;margin-bottom:8px}.how ul{margin:0;padding-left:20px}.how li{margin:8px 0}.note{color:var(--muted);font-size:14px;margin:12px 0 0}
.pn{display:flex;justify-content:space-between;gap:12px;margin-top:22px}.pn a{text-decoration:none;font-weight:700;color:var(--rose2);font-size:14px}

/* footer */
.foot{background:#fff;border-top:1px solid var(--line);padding:50px 0 24px;margin-top:0}
.fgrid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:30px}.fabout p{color:var(--muted);max-width:300px}
.foot h4{margin:6px 0 12px;font-size:14px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.foot .fgrid>div>a:not(.logo):not(.btn){display:block;text-decoration:none;padding:3px 0;font-size:15px}.foot a:hover{color:var(--rose2)}
.legal{margin-top:34px;padding-top:18px;border-top:1px solid var(--line);font-size:13px;color:var(--muted)}.legal a{text-decoration:none}

@media (max-width:1000px){.menu{display:none}.hgrid,.lgrid{grid-template-columns:1fr;gap:28px}.collage{height:420px}.lphoto{position:relative;top:0}.shapes{grid-template-columns:repeat(3,1fr)}.guides{grid-template-columns:1fr 1fr}.fgrid{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.wrap{padding:0 16px}.chips{padding:10px 16px}.bar{gap:10px;height:60px}.logo{font-size:22px}.hero{padding-top:28px}.collage{height:340px}.masonry{columns:2;column-gap:10px}.card{margin-bottom:10px;border-radius:14px}.card .save{opacity:1;transform:none;padding:6px 11px;font-size:12px;top:8px;right:8px}.card figcaption{padding:9px 10px 11px}.card figcaption>a{font-size:14px}.mini{display:none}.guides{grid-template-columns:1fr}.sec{padding:40px 0}.fset span{width:100%}.search.big button{padding:0 16px}.tg span{width:100%}.rail{grid-auto-columns:170px}.tl b{font-size:20px}}
