/* Color Mania — shared styles. Per-look palette arrives as --sw1..--sw4 on <body>. */
:root{
  --bg:#fffafb; --surface:#fdeef1; --ink:#3a2a2f; --muted:#7d6870; --line:#f0d6dc; --bar:#f3e6df;
  --accent:#c4577a; --accent-ink:#ffffff; --gold:#b8914a;
  --sw1:#F4C9D0; --sw2:#FBE8EB; --sw3:#FFFFFF; --sw4:#D9B26F;
  --display:"Young Serif", Georgia, serif;
  --body:"Figtree", system-ui, -apple-system, sans-serif;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --bg:#1d1518; --surface:#2a1e23; --ink:#f6e9ed; --muted:#c3aab3; --line:#3f2d34; --bar:#3a2b27;
  --accent:#f08fb0; --accent-ink:#2a1218; --gold:#d8b46e; color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#1d1518; --surface:#2a1e23; --ink:#f6e9ed; --muted:#c3aab3; --line:#3f2d34; --bar:#3a2b27;
  --accent:#f08fb0; --accent-ink:#2a1218; --gold:#d8b46e; color-scheme:dark}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.6;overflow-x:hidden}
img{max-width:100%}
.wrap{max-width:1040px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
a{color:inherit}
.muted{color:var(--muted)}
.note{background:var(--gold);color:#fff;font-size:13px;text-align:center;padding:6px 16px}
header{position:sticky;top:0;z-index:30;background:var(--bg);transition:background .2s}
header.stuck{background:var(--bar)}
header .wrap{display:flex;flex-wrap:nowrap;align-items:center;justify-content:space-between;gap:12px;padding-block:18px}
.logo{white-space:nowrap;font-family:var(--display);font-size:26px;letter-spacing:-.01em;text-decoration:none}
.logo span{color:var(--accent)}
nav{display:flex;gap:6px 18px;flex-wrap:wrap;font-size:14px;font-weight:500}
nav a{text-decoration:none;color:var(--muted)} nav a:hover,nav a:focus-visible{color:var(--accent)}
.disclosure{font-size:12.5px;color:var(--muted);border-block:1px solid var(--line);padding-block:8px;margin:0}
.draftnote{background:var(--surface);border:1px dashed var(--accent);color:var(--accent);font-size:13px;padding:6px 10px;border-radius:6px}
.draft{font-size:11px;font-weight:600;color:var(--accent);border:1px solid var(--accent);border-radius:99px;padding:1px 7px;margin-left:8px;vertical-align:middle}
.crumbs{font-size:13px;color:var(--muted);margin-top:28px;margin-bottom:0;letter-spacing:.04em;text-transform:uppercase}
h1{font-family:var(--display);font-weight:400;font-size:clamp(34px,6vw,58px);line-height:1.05;margin:8px 0 14px;text-wrap:balance;overflow-wrap:anywhere}
.lede{max-width:62ch;font-size:18px;color:var(--muted);margin:0}
.tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
.tag{font-size:12.5px;padding:4px 10px;border:1px solid var(--line);border-radius:99px;color:var(--muted);text-decoration:none}
a.tag:hover{border-color:var(--accent);color:var(--accent)}
/* look hero */
.hero{margin-top:28px;display:grid;grid-template-columns:minmax(0,1fr) minmax(200px,240px);gap:20px;align-items:stretch}
.hero figure{margin:0;min-width:0}
.insp{display:block;width:100%;border-radius:6px;overflow:hidden;aspect-ratio:4/3;object-fit:cover;background:var(--sw2)}
.palart{width:100%;height:100%;min-height:100%}
.caption{font-size:12.5px;color:var(--muted);margin-top:8px}
.palette{background:var(--surface);border-radius:6px;padding:20px;display:flex;flex-direction:column;gap:14px;min-width:0}
.palette h2{font-family:var(--display);font-weight:400;font-size:22px;margin:0}
.chips{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.chip{display:flex;flex-direction:column;gap:4px;font-size:11.5px;color:var(--muted);font-variant-numeric:tabular-nums}
.chip i{display:block;aspect-ratio:1;border-radius:50%;border:1px solid var(--line)}
.cta{display:inline-block;text-align:center;background:var(--accent);color:var(--accent-ink);text-decoration:none;font-weight:600;padding:12px 18px;border-radius:99px;margin-top:auto}
.pinit{text-align:center;font-size:13.5px;color:var(--muted)}
.cta:focus-visible,.shop:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
/* products */
section.look{margin-top:56px}
.sec-h{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:10px;margin-bottom:16px}
.sec-h h2{font-family:var(--display);font-weight:400;font-size:clamp(26px,4vw,36px);margin:0}
.sec-h p,.sec-h a{margin:0;color:var(--muted);font-size:14px}
.role{margin-top:30px}
.role h3{font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin:0 0 4px;font-weight:600}
.role .why{margin:0 0 14px;color:var(--muted);font-size:14px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:18px}
.card{display:flex;flex-direction:column;gap:8px;min-width:0}
.card.pending{opacity:.7}
.card.pending .thumb{border-style:dashed}
.thumb{aspect-ratio:1;border-radius:6px;display:flex;align-items:flex-end;padding:10px;border:1px solid var(--line);max-width:100%}
.thumb.photo{background:#fff;padding:0;overflow:hidden}
.thumb.photo img{width:100%;height:100%;object-fit:contain}
.thumb span{font-size:11px;background:rgba(255,255,255,.85);color:#5a3a44;padding:2px 7px;border-radius:4px}
.card h4{margin:0;font-size:15.5px;font-weight:600;line-height:1.35}
.meta{display:flex;gap:8px;font-size:12.5px;color:var(--muted)}
.price{color:var(--gold);font-weight:600;letter-spacing:.05em}
.card p{margin:0;font-size:14px}
.card p.sim{font-size:12.5px;color:var(--muted);font-style:italic}
.shop{margin-top:auto;display:block;text-align:center;border:1px solid var(--accent);color:var(--accent);text-decoration:none;font-weight:600;font-size:14px;padding:9px;border-radius:99px}
.shop:hover{background:var(--accent);color:var(--accent-ink)}
/* tips + more */
.tips{margin-top:56px;background:var(--surface);border-radius:6px;padding:28px}
.tips h2{font-family:var(--display);font-weight:400;font-size:28px;margin:0 0 12px}
.tips ul{margin:0;padding-left:20px;display:grid;gap:8px;max-width:70ch}
.tips p{margin:0;max-width:70ch}
.more{margin-top:56px}
.more>h2{font-family:var(--display);font-weight:400;font-size:28px;margin:0 0 16px}
.lcard{text-decoration:none;display:block;min-width:0}
.mthumb{display:block;width:100%;aspect-ratio:3/2;border-radius:6px;overflow:hidden;object-fit:cover}
.lcard h4{margin:8px 0 2px;font-weight:600;font-size:16px}
.lcard p{margin:0;font-size:13.5px;color:var(--muted)}
.lcard:hover h4{color:var(--accent)}
.dots{display:flex;gap:4px;margin-top:8px}
.dots i{width:14px;height:14px;border-radius:50%;border:1px solid var(--line)}
.grid.looks{margin-top:24px}
/* home */
.intro{padding-top:32px}
.intro h1{font-size:clamp(40px,8vw,76px)}
.cchips{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px;position:sticky;top:calc(var(--hh,74px) - 1px);z-index:20;background:var(--bg);padding-block:10px;box-shadow:0 0 0 100vmax var(--bg);clip-path:inset(0 -100vmax);transition:background .2s,box-shadow .2s}
.cchips.stuck{background:var(--bar);box-shadow:0 0 0 100vmax var(--bar)}
@media (max-width:600px){.cchips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-inline:-16px;padding-inline:16px}.cchips::-webkit-scrollbar{display:none}.cchip,.csoon{flex:none}}
.cchip{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:99px;padding:6px 14px 6px 6px;text-decoration:none;font-weight:500;font-size:14px}
.cchip i{width:22px;height:22px;border-radius:50%;border:1px solid var(--line)}
.cchip:hover{border-color:var(--accent)}
.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:14px;margin-top:24px}
.tile{display:flex;flex-direction:column;gap:4px;text-decoration:none;border:1px solid var(--line);border-radius:6px;padding:14px}
.tile i{display:block;aspect-ratio:2/1;border-radius:4px;border:1px solid var(--line);margin-bottom:6px}
.tile span{font-size:13px;color:var(--muted)}
.tile:hover{border-color:var(--accent)}
/* prose (articles, legal pages) */
.prose{max-width:70ch;margin-top:24px}
.prose h2{font-family:var(--display);font-weight:400;font-size:28px;margin:36px 0 8px}
.prose h3{font-size:18px;margin:28px 0 6px}
.prose a{color:var(--accent)}
.prose img{border-radius:6px}
.prose .embed{margin:20px 0}
footer{margin-top:72px;border-top:1px solid var(--line);padding-block:28px;font-size:13px;color:var(--muted)}
footer .links{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:10px}
footer p{max-width:80ch}
@media (max-width:720px){.hero{grid-template-columns:minmax(0,1fr)}}
@media (max-width:540px){
  .grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 12px}
  .card h4{font-size:14.5px}.card p{font-size:13px}.shop{font-size:13px;padding:8px 4px}
  .thumb span{font-size:10px}
}
/* blog-style additions */
.byline{font-size:13.5px;color:var(--muted);margin:12px 0 0}
.story{margin-top:44px}
.story>:first-child{margin-top:0}
.feed{display:grid;gap:28px}
.fitem{display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:24px;align-items:center;text-decoration:none}
.fthumb{display:block;width:100%;aspect-ratio:3/2;border-radius:6px;overflow:hidden;object-fit:cover;max-width:100%}
.flabel{margin:0 0 4px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);font-weight:600}
.fitem h3{font-family:var(--display);font-weight:400;font-size:clamp(22px,3vw,28px);line-height:1.15;margin:0 0 8px;text-wrap:balance}
.fitem p{margin:0;color:var(--muted);max-width:60ch}
.fmore{display:inline-block;margin-top:10px;font-weight:600;font-size:14px;color:var(--accent)}
.fitem:hover h3{color:var(--accent)}
@media (max-width:600px){.fitem{grid-template-columns:minmax(0,1fr);gap:12px}}
.byline+.disclosure{margin-top:14px}
.pstrip{display:flex;gap:0;margin-top:18px;border-radius:6px;overflow:hidden;max-width:420px;border:1px solid var(--line)}
.pstrip i{flex:1;height:22px}
.slot{border:1px dashed var(--accent);border-radius:6px;padding:10px 14px;margin:16px 0;font-size:14px;color:var(--muted);background:var(--surface)}
.slot b{color:var(--accent);font-size:11px;letter-spacing:.08em;margin-right:6px}
.prose li{margin-bottom:4px}
.csoon{display:inline-flex;align-items:center;padding:6px 14px;border:1px dashed var(--line);border-radius:99px;font-size:13.5px;color:var(--muted);font-style:italic}
/* product cards without a photo (show_swatch_cards: false) */
.card.noimg{border:1px solid var(--line);border-radius:6px;padding:16px;background:var(--bg)}
.card.noimg .eyebrow{margin:0;font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.card.pending.noimg{border-style:dashed}
.cchip.on{border-color:var(--accent);background:var(--surface);color:var(--accent);font-weight:600}
.cchip.all i{background:conic-gradient(#F4A7B9,#D4AF37,#B5C4A8,#BCD9F0,#CDBDE8,#5D4037,#F4A7B9)}
.ahero{margin:24px 0 0;max-width:820px}
.cchips.stuck .cchip:not(.on),.cchips.stuck .csoon{border-color:color-mix(in srgb,var(--ink) 25%,transparent)}

.hero .chips{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 10px}
@media (max-width:720px){.hero .chips{grid-template-columns:repeat(4,minmax(0,1fr))}}
.hero .chip{align-items:center;text-align:center;gap:6px}
.hero .chip i{width:56px;max-width:100%}
#get-the-look{scroll-margin-top:calc(var(--hh,74px) + 16px)}
.bc{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;font-size:13px;color:var(--muted);margin-top:20px}
.bc a{color:var(--muted);text-decoration:none}.bc a:hover,.bc a:focus-visible{color:var(--accent);text-decoration:underline}
.bc span[aria-current]{color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:min(60ch,100%)}
.bc + .draftnote,.bc + .crumbs{margin-top:14px}
.fcta{position:fixed;z-index:25;top:calc(var(--hh,74px) + 12px);right:max(16px,calc((100vw - 1040px) / 2 + 16px));background:var(--accent);color:var(--accent-ink);font-weight:600;font-size:14px;text-decoration:none;border-radius:99px;padding:10px 18px;box-shadow:0 6px 18px rgba(0,0,0,.25);opacity:0;transform:translateY(-6px);pointer-events:none;transition:opacity .2s,transform .2s}
.fcta.show{opacity:1;transform:none;pointer-events:auto}
@media (max-width:600px){.fcta{font-size:13px;padding:8px 14px}}
