/* Women's World — "Rose Noir" design system. Bodoni Moda + Jost. */
:root{
 --ink:#1d1418;--ink2:#2a1c22;--porcelain:#f8f2ee;--paper:#fffaf7;--blush:#ecd6cd;--blush2:#f3e4dd;
 --rouge:#8c2b42;--rouge2:#a8384f;--gold:#c4a074;--gold-t:#7a5c38;--muted:#6b585f;--line:rgba(29,20,24,.12);--line-l:rgba(255,240,235,.16);
 --serif:'Bodoni Moda',Didot,'Times New Roman',serif;--sans:'Jost',system-ui,-apple-system,'Segoe UI',sans-serif;
 --r:18px;--wrap:1240px;--ease:cubic-bezier(.2,.7,.1,1);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--porcelain);color:var(--ink);font:400 1.02rem/1.65 var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.08;margin:0 0 .45em;letter-spacing:-.01em}
h1{font-size:clamp(2.6rem,7vw,5.4rem)}h2{font-size:clamp(2rem,4.4vw,3.4rem)}h3{font-size:1.35rem}.h3{font-size:1.5rem}
em{font-style:italic;color:var(--rouge)}.dark em,.hero em{color:var(--gold)}
p{margin:0 0 1em}
.wrap{width:min(100% - 2.5rem,var(--wrap));margin-inline:auto}.narrow{max-width:760px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:0;z-index:99;background:var(--ink);color:#fff;padding:.7rem 1rem}.skip:focus{left:1rem}
:focus-visible{outline:2px solid var(--rouge);outline-offset:3px}
.kicker{font:500 .72rem/1.4 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--gold-t);margin:0 0 1rem}.kicker.light,.dark .kicker{color:var(--gold)}
.lead{font-size:1.12rem;color:var(--muted);max-width:42rem;font-weight:300}
.note{font-size:.82rem;color:var(--muted);margin-top:1.4rem}.note.light{color:#cbb8b4}.small{font-size:.88rem}.center{text-align:center;justify-content:center}
.tag-sample{display:inline-block;font:500 .62rem/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--gold-t);border:1px solid currentColor;border-radius:99px;padding:.35rem .6rem}
.tag-sample.on-img{position:absolute;left:1rem;top:1rem;background:rgba(255,250,247,.9);border-color:transparent}
.ph{filter:saturate(.88) contrast(1.04) sepia(.05);background:var(--blush)}
/* buttons */
.btns{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.6rem}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;min-height:50px;padding:.85rem 1.6rem;background:var(--rouge);color:#fff;border:1px solid var(--rouge);border-radius:99px;font:500 .78rem/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:background .3s,transform .3s var(--ease),color .3s}
.btn:hover{background:var(--rouge2);transform:translateY(-2px)}.btn svg{width:18px;height:18px}
.btn-sm{min-height:42px;padding:.6rem 1.1rem;font-size:.7rem}
.btn-ghost{background:transparent;border-color:rgba(255,255,255,.55);color:#fff}.btn-ghost:hover{background:#fff;color:var(--ink)}
.btn-line-dark{background:transparent;color:var(--ink);border-color:var(--ink)}.btn-line-dark:hover{background:var(--ink);color:#fff}
.btn-line{min-height:44px;width:100%;background:transparent;border:1px solid var(--line);border-radius:99px;font:500 .72rem/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--ink);cursor:pointer;transition:.3s}.btn-line:hover,.btn-line.added{background:var(--ink);color:#fff;border-color:var(--ink)}
.btn-wa{width:100%;margin-top:.8rem;background:transparent;color:var(--ink);border-color:var(--line)}.btn-wa:hover{background:#fff;color:var(--ink)}
.link{background:none;border:0;color:var(--rouge);text-decoration:underline;cursor:pointer;font:inherit;padding:.3rem 0}
.more{display:inline-flex;align-items:center;gap:.5rem;font:500 .75rem/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;text-decoration:none;color:var(--rouge)}.more svg{width:18px;height:18px;transition:transform .3s}.more:hover svg{transform:translateX(4px)}.dark .more{color:var(--gold)}
/* header */
.topline{background:var(--ink);color:#d9c6c2;text-align:center;font-size:.74rem;letter-spacing:.06em;padding:.45rem 1rem}.topline b{color:var(--gold);font-weight:500}
.hdr{position:sticky;top:0;z-index:40;border-bottom:1px solid transparent;transition:border-color .3s}
.hdr::before{content:"";position:absolute;inset:0;z-index:-2;background:rgba(248,242,238,.86);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.hdr-in{position:relative}
.hdr.scrolled{border-color:var(--line)}
.hdr-in{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:min(100% - 2rem,1400px);margin:auto;min-height:72px}
.logo{display:flex;align-items:center;gap:.75rem;text-decoration:none;color:var(--ink)}.mark{width:42px;height:42px;color:var(--rouge);flex:none}
.logo b{display:block;font:400 1.35rem/1 var(--serif)}.logo small{display:block;font:500 .56rem/1.2 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--gold-t);margin-top:.3rem}
.nav{display:flex;gap:1.6rem}.nav a{text-decoration:none;font:400 .82rem/1 var(--sans);letter-spacing:.08em;padding:.5rem 0;border-bottom:1px solid transparent}.nav a:hover,.nav a[aria-current]{border-color:var(--rouge);color:var(--rouge)}
.hdr-act{display:flex;align-items:center;gap:.5rem}
.bag-btn{position:relative;display:grid;place-items:center;width:46px;height:46px;border-radius:50%;color:var(--ink)}.bag-btn svg{width:24px}
.bag-n{position:absolute;top:4px;right:2px;min-width:19px;height:19px;border-radius:99px;background:var(--rouge);color:#fff;font:600 .66rem/19px var(--sans);text-align:center;padding:0 4px}
.bag-n.pop{animation:pop .4s var(--ease)}@keyframes pop{50%{transform:scale(1.35)}}
.menu-btn{display:none;width:46px;height:46px;border:1px solid var(--line);border-radius:50%;background:transparent;cursor:pointer;position:relative}
.menu-btn span:not(.sr){position:absolute;left:14px;right:14px;height:1.5px;background:var(--ink);transition:.3s}.menu-btn span:nth-child(1){top:18px}.menu-btn span:nth-child(2){top:26px}
.menu-btn[aria-expanded=true] span:nth-child(1){top:22px;transform:rotate(45deg)}.menu-btn[aria-expanded=true] span:nth-child(2){top:22px;transform:rotate(-45deg)}
@media (max-width:1060px){
 .menu-btn{display:block}
 .nav{position:fixed;inset:0;top:0;z-index:-1;flex-direction:column;justify-content:center;gap:0;padding:6rem 2rem 2rem;background:var(--porcelain);opacity:0;visibility:hidden;transition:.35s}
 .nav.open{opacity:1;visibility:visible}
 .nav a{font:400 2rem/1.2 var(--serif);letter-spacing:0;padding:.7rem 0;border-bottom:1px solid var(--line)}
 .logo small{display:none}
}
/* hero */
.hero{position:relative;min-height:min(92svh,860px);display:flex;align-items:flex-end;color:#fff;overflow:hidden;background:var(--ink)}
.hero-bg{position:absolute;inset:0}.hero-bg img{width:100%;height:100%;object-fit:cover;transform:scale(1.06);animation:slow 18s var(--ease) forwards}
@keyframes slow{to{transform:scale(1)}}
.hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(29,20,24,.25) 0%,rgba(29,20,24,.35) 40%,rgba(29,20,24,.88) 100%),linear-gradient(90deg,rgba(29,20,24,.6),transparent 70%)}
.hero-in{position:relative;padding:8rem 0 4.5rem;z-index:2}.hero h1{max-width:12ch}.hero .lead{color:#eadcd7;max-width:34rem}
.mirror{position:absolute;right:6vw;top:14%;width:clamp(180px,24vw,330px);aspect-ratio:1;border-radius:50%;padding:10px;border:1px solid rgba(196,160,116,.7);z-index:1;animation:float 9s ease-in-out infinite}
.mirror-in{width:100%;height:100%;border-radius:50%;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.45)}.mirror-in img{width:100%;height:100%;object-fit:cover}
.floor{position:absolute;right:-6px;bottom:12%;width:54px;height:54px;border-radius:50%;background:var(--gold);color:var(--ink);display:grid;place-items:center;font:500 1.5rem/1 var(--serif);box-shadow:0 8px 24px rgba(0,0,0,.3)}
@keyframes float{50%{transform:translateY(-14px)}}
.hero-rate{position:absolute;right:2rem;bottom:2rem;z-index:2;display:flex;align-items:center;gap:.5rem;text-decoration:none;font-size:.8rem;letter-spacing:.08em;color:#fff;background:rgba(29,20,24,.5);backdrop-filter:blur(8px);padding:.6rem 1rem;border-radius:99px;border:1px solid var(--line-l)}
.stars{display:inline-flex;color:var(--gold)}.stars svg{width:14px;height:14px}
@media (max-width:760px){.mirror{top:1.5rem;right:1.25rem;width:150px;padding:7px}.floor{right:auto;left:-6px;bottom:2%;width:44px;height:44px;font-size:1.2rem}.hero-in{padding-top:15rem}.hero-rate{left:1.25rem;right:auto;bottom:1rem}.hero-in{padding-bottom:5rem}}
/* sections */
.sec{padding:clamp(4rem,9vw,7.5rem) 0}.sec.tight{padding-top:2rem}
.sec-head{margin-bottom:2.6rem;max-width:44rem}.sec-head.row{display:flex;justify-content:space-between;align-items:flex-end;max-width:none;gap:1rem;flex-wrap:wrap}.sec-head h2{margin:0}.sec-head.center{margin-inline:auto;text-align:center}
.dark{background:var(--ink);color:#f3e7e3}.dark .lead,.dark p{color:#d9c8c3}
.reveal{opacity:0;transform:translateY(26px);transition:opacity .9s var(--ease),transform .9s var(--ease);transition-delay:var(--d,0ms)}.reveal.in{opacity:1;transform:none}
/* categories */
.cats{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.cat{position:relative;border-radius:var(--r);overflow:hidden;text-decoration:none;color:#fff;aspect-ratio:3/4}
.cat img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}.cat:hover img{transform:scale(1.06)}
.cat::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(29,20,24,.82))}
.cat-t{position:absolute;left:1.1rem;right:1.1rem;bottom:1rem;z-index:1}.cat-t b{display:block;font:400 1.45rem/1.1 var(--serif)}.cat-t small{font-size:.74rem;letter-spacing:.04em;color:#ecdcd7}
@media (max-width:860px){.cats{grid-template-columns:repeat(2,1fr);gap:.7rem}.cat-t b{font-size:1.2rem}}
/* season */
.season{background:var(--blush2)}.season-in{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,6rem);align-items:center}
.season-img{border-radius:999px 999px var(--r) var(--r);overflow:hidden}.season-img img{width:100%;aspect-ratio:4/5;object-fit:cover}
.count{font:400 1rem/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--gold-t)}.count b{font:400 4.5rem/1 var(--serif);color:var(--rouge);letter-spacing:0;margin-right:.4rem;vertical-align:-.25em}
@media (max-width:860px){.season-in{grid-template-columns:1fr}}
/* product grid */
.pgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.6rem 1.2rem}
.pcard{display:flex;flex-direction:column}.pcard[hidden]{display:none}
.pcard-img{position:relative;display:block;border-radius:var(--r);overflow:hidden;aspect-ratio:4/5;background:var(--blush)}.pcard-img img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}.pcard:hover .pcard-img img{transform:scale(1.05)}
.badge{position:absolute;top:.8rem;left:.8rem;background:var(--paper);color:var(--ink);font:500 .62rem/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;padding:.45rem .65rem;border-radius:99px}
.pcard-body{padding:1rem .2rem 0;display:flex;flex-direction:column;flex:1}.pcard-cat{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 .35rem}
.pcard h3{font-size:1.2rem;margin:0 0 .4rem}.pcard h3 a{text-decoration:none}.pcard h3 a:hover{color:var(--rouge)}
.dots{display:flex;gap:5px;margin:0 0 .5rem}.dots i{width:13px;height:13px;border-radius:50%;background:var(--c);box-shadow:inset 0 0 0 1px rgba(0,0,0,.1)}
.price{font-weight:500;margin:0 0 .9rem}.price small{font-weight:400;color:var(--muted);font-size:.72rem;letter-spacing:.05em}.pcard .btn-line{margin-top:auto}
@media (max-width:1000px){.pgrid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:700px){.pgrid{grid-template-columns:repeat(2,1fr);gap:1.4rem .8rem}.pcard h3{font-size:1.02rem}.btn-line{font-size:.62rem;letter-spacing:.08em;min-height:42px}}
/* studio */
.studio-in{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}@media (max-width:860px){.studio-in{grid-template-columns:1fr}}
.studio{background:var(--ink2);border:1px solid var(--line-l);border-radius:28px;padding:1.6rem;color:#f3e7e3}
.studio-wrap{margin-top:3rem}.studio-wrap .studio{max-width:640px}
.st-face{display:grid;place-items:center;border-radius:20px;padding:1.6rem;background:var(--skin,#c08b62);transition:background .5s}.st-face svg{width:min(240px,70%)}
.st-row{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1rem;align-items:center}.st-row p{width:100%;margin:0 0 .2rem;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
.st-row button,.sw button{width:40px;height:40px;border-radius:50%;border:2px solid transparent;background:var(--c);cursor:pointer;box-shadow:inset 0 0 0 1px rgba(0,0,0,.15);transition:transform .2s}
.st-row button[aria-pressed=true],.sw button[aria-pressed=true]{border-color:var(--gold);transform:scale(1.12)}
.st-name{font:italic 400 1.3rem/1.2 var(--serif);margin-top:1rem;color:#fff}.st-note{font-size:.76rem;color:#bfaaa5;margin:.5rem 0 0}
/* steps / offers / trust */
.steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}.steps li{border-top:1px solid var(--ink);padding-top:1.4rem}.steps b{font:400 2.4rem/1 var(--serif);color:var(--rouge)}.steps h3{margin-top:1rem}.steps p{color:var(--muted)}
@media (max-width:760px){.steps{grid-template-columns:1fr}}
.offers-strip{background:var(--paper)}
.offer-row{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}.offer{position:relative;background:var(--porcelain);border:1px solid var(--line);border-radius:var(--r);padding:2rem 1.6rem 3.6rem}.offer h3{font-size:1.6rem}.offer p:not(.kicker){color:var(--muted)}.offer .tag-sample{position:absolute;left:1.6rem;bottom:1.3rem}.offer .more{margin-top:.4rem}
@media (max-width:860px){.offer-row{grid-template-columns:1fr}}
.trust-in{display:grid;grid-template-columns:1fr 1.4fr;gap:2rem 4rem;align-items:start}.trust ul{list-style:none;padding:0;margin:0;display:grid;gap:1rem}.trust li{padding:1rem 0;border-bottom:1px solid var(--line);color:var(--muted)}.trust li b{color:var(--ink);font-weight:500}
@media (max-width:860px){.trust-in{grid-template-columns:1fr}}
.jgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}.jcard{text-decoration:none}.jcard img{border-radius:var(--r);aspect-ratio:4/3;object-fit:cover;width:100%;margin-bottom:1rem}.jcard h3{font-size:1.45rem}.jcard:hover h3{color:var(--rouge)}
@media (max-width:860px){.jgrid{grid-template-columns:1fr}}
.visit-in{display:grid;grid-template-columns:1.3fr 1fr;gap:3rem;align-items:center}@media (max-width:860px){.visit-in{grid-template-columns:1fr}}
.hours{margin:1.2rem 0 0;max-width:26rem}.hours div{display:flex;justify-content:space-between;gap:1rem;padding:.7rem 0;border-bottom:1px solid var(--line)}.dark .hours div{border-color:var(--line-l)}.hours dt{margin:0}.hours dd{margin:0;font-weight:500}
.g-card{display:flex;flex-direction:column;align-items:flex-start;gap:.6rem;text-decoration:none;border:1px solid var(--line-l);border-radius:28px;padding:2.4rem;background:var(--ink2)}.g-card .big{font:400 5.5rem/1 var(--serif);color:#fff}.g-card .stars svg{width:20px;height:20px}
.g-card.light{background:var(--paper);border-color:var(--line);margin-bottom:2rem}.g-card.light .big{color:var(--rouge)}
/* page heads */
.phead{padding:3.5rem 0 1rem}.phead .lead{margin-top:.5rem}
.phead-img{position:relative;color:#fff;padding:7rem 0 3.5rem;background:var(--ink);overflow:hidden}.phead-img.tall{padding-top:14rem}
.phead-bg{position:absolute;inset:0}.phead-bg img{width:100%;height:100%;object-fit:cover}.phead-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(29,20,24,.85),rgba(29,20,24,.35))}
.phead-img .wrap{position:relative}.phead-img .lead{color:#eadcd7}.phead-img em{color:var(--gold)}.phead-img .crumbs,.phead-img .crumbs a{color:#e6d6d1}
.crumbs{font-size:.78rem;letter-spacing:.06em;color:var(--muted);margin-bottom:1.6rem}.crumbs a{color:var(--muted)}
/* filters */
.cat-pills{display:flex;gap:.5rem;overflow-x:auto;padding-bottom:.6rem;margin-bottom:1.2rem;scrollbar-width:none}.cat-pills a{flex:none;text-decoration:none;border:1px solid var(--line);border-radius:99px;padding:.65rem 1.1rem;font-size:.82rem;background:var(--paper)}.cat-pills a:hover{border-color:var(--rouge);color:var(--rouge)}
.filters{margin-bottom:2rem;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:1rem 0}
.f-row{display:flex;gap:.7rem;flex-wrap:wrap}.f-search{flex:1 1 240px}
input,select,textarea{font:inherit;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:.8rem 1rem;min-height:48px;width:100%}
.f-row select{width:auto}.f-toggle{width:auto;padding:0 1.4rem}
.f-panel{display:none;gap:1rem 2rem;padding-top:1rem}.f-panel.open{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
@media (min-width:1001px){.f-toggle{display:none}.f-panel{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}}
fieldset{border:0;margin:0;padding:0;min-width:0}legend{font:500 .7rem/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--gold-t);margin-bottom:.7rem}
.chip,.opt,.gift-item{position:relative}.chip input,.opt input,.gift-item input{left:0;top:0}
.chip{display:inline-flex;margin:0 .35rem .45rem 0;cursor:pointer}.chip input{position:absolute;opacity:0;width:1px;height:1px}
.chip span{display:inline-flex;align-items:center;gap:.4rem;border:1px solid var(--line);border-radius:99px;padding:.5rem .9rem;font-size:.84rem;background:var(--paper);transition:.2s}
.chip input:checked+span{background:var(--ink);color:#fff;border-color:var(--ink)}.chip input:focus-visible+span{outline:2px solid var(--rouge);outline-offset:2px}.chip i{width:14px;height:14px;border-radius:50%;background:var(--c);box-shadow:inset 0 0 0 1px rgba(0,0,0,.2)}
.f-count{margin:.8rem 0 0;font-size:.86rem;color:var(--muted)}.empty{text-align:center;padding:3rem 0;color:var(--muted)}
.other-cats{margin-top:4rem}
/* product detail */
.pdp{padding:2rem 0 3rem}.pdp-in{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(2rem,5vw,5rem);align-items:start}
.pdp-media{position:relative;border-radius:var(--r);overflow:hidden;position:sticky;top:96px}.pdp-media img{width:100%;aspect-ratio:4/5;object-fit:cover}
.pdp h1{font-size:clamp(2.2rem,4.5vw,3.6rem)}.price.big{font-size:1.4rem}
.shades{margin:1.4rem 0}.lbl{font-size:.82rem;letter-spacing:.08em;margin-bottom:.6rem}.sw{display:flex;flex-wrap:wrap;gap:.6rem}
.qty-row{display:flex;gap:.8rem;margin-top:1.6rem}.qty-row .btn{flex:1}
.qty{display:flex;align-items:center;border:1px solid var(--line);border-radius:99px;background:var(--paper)}.qty button{width:44px;height:48px;border:0;background:none;font-size:1.2rem;cursor:pointer}.qty input{width:44px;border:0;padding:0;text-align:center;min-height:auto;background:none;-moz-appearance:textfield}.qty input::-webkit-inner-spin-button{display:none}
.specs{margin:1.8rem 0 1rem}.specs div{display:grid;grid-template-columns:8rem 1fr;gap:1rem;padding:.7rem 0;border-bottom:1px solid var(--line);font-size:.92rem}.specs dt{color:var(--muted)}.specs dd{margin:0}
details{border-bottom:1px solid var(--line)}summary{cursor:pointer;padding:1rem 0;font-weight:500;list-style:none;display:flex;justify-content:space-between}summary::after{content:"+";font-size:1.2rem;color:var(--rouge)}details[open] summary::after{content:"−"}summary::-webkit-details-marker{display:none}details p{color:var(--muted)}
@media (max-width:900px){.pdp-in{grid-template-columns:1fr}.pdp-media{position:relative;top:0}}
/* bridal */
.bridal-in{display:grid;grid-template-columns:minmax(280px,380px) 1fr;gap:3rem;align-items:start}
.checklist{background:var(--paper);border:1px solid var(--line);border-radius:24px;padding:1.8rem;position:sticky;top:96px}
.checklist ul{list-style:none;padding:0;margin:1rem 0}.checklist li label{display:flex;gap:.8rem;align-items:center;padding:.55rem 0;border-bottom:1px solid var(--line);cursor:pointer}.checklist input{width:20px;height:20px;min-height:0;accent-color:var(--rouge);flex:none}
.checklist input:checked+span{text-decoration:line-through;color:var(--muted)}.ck-meter{font-weight:500;color:var(--rouge)}
.kits{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem 1rem}
.field{display:block;margin:.9rem 0}.field>span{display:block;font-size:.8rem;letter-spacing:.06em;margin-bottom:.35rem;color:var(--muted)}
.dates{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:.7rem}.dates li{border:1px solid var(--line-l);border-radius:99px;padding:.7rem 1.2rem;font:400 1.15rem/1 var(--serif)}
@media (max-width:1000px){.bridal-in{grid-template-columns:1fr}.checklist{position:relative;top:0}.kits{grid-template-columns:repeat(2,1fr)}}
/* gifts */
.gift-in{display:grid;grid-template-columns:1fr 360px;gap:3rem;align-items:start}.gift-in .h3{margin-top:1.6rem}
.gift-items{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:.7rem}
.gift-item{display:flex;align-items:center;gap:.8rem;border:1px solid var(--line);border-radius:16px;padding:.6rem;background:var(--paper);cursor:pointer;transition:.2s}.gift-item input{position:absolute;opacity:0}
.gift-item img{width:62px;height:62px;border-radius:10px;object-fit:cover;flex:none}.gift-item b{display:block;font-weight:500;font-size:.88rem;line-height:1.3}.gift-item small{color:var(--muted)}
.gift-item:has(input:checked){border-color:var(--rouge);box-shadow:0 0 0 1px var(--rouge);background:#fff}.gift-item:has(input:disabled){opacity:.45;cursor:not-allowed}.gift-item:has(input:focus-visible){outline:2px solid var(--rouge)}
.gift-box{position:sticky;top:96px;background:var(--paper);border:1px solid var(--line);border-radius:24px;padding:1.6rem}
.box-vis{position:relative;height:220px;border-radius:14px;background:var(--box,#8c2b42);margin-bottom:1.2rem;padding:3rem 1rem 1rem;transition:background .4s;overflow:hidden}
.lid{position:absolute;left:0;right:0;top:0;height:34px;background:rgba(0,0,0,.18);border-bottom:2px solid var(--gold)}.lid::after{content:"";position:absolute;left:50%;top:0;bottom:-190px;width:22px;margin-left:-11px;background:linear-gradient(90deg,var(--gold),#e4c99d,var(--gold));opacity:.9}
.box-vis ul{list-style:none;padding:0;margin:0;position:relative;display:flex;flex-wrap:wrap;gap:.4rem}.box-vis li{background:rgba(255,250,247,.92);color:var(--ink);font-size:.74rem;padding:.35rem .6rem;border-radius:99px;animation:pop .4s var(--ease)}
.box-vis.light-box li{background:var(--ink);color:#fff}
.gift-total{font-size:1.1rem}.gift-box .btn{width:100%;margin-top:.6rem}
@media (max-width:900px){.gift-in{grid-template-columns:1fr}.gift-box{position:relative;top:0}}
/* finder */
.finder fieldset{margin-bottom:1.8rem}.opt{display:inline-flex;margin:0 .45rem .55rem 0;cursor:pointer}.opt input{position:absolute;opacity:0}
.opt span{border:1px solid var(--line);border-radius:14px;padding:.85rem 1.2rem;background:var(--paper);transition:.2s}.opt input:checked+span{background:var(--rouge);color:#fff;border-color:var(--rouge)}.opt input:focus-visible+span{outline:2px solid var(--ink)}
.finder-out{margin-top:2.4rem}.finder-out .pgrid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}
.r-step{display:flex;gap:1rem;align-items:center;padding:1rem 0;border-bottom:1px solid var(--line)}.r-step img{width:72px;height:72px;border-radius:12px;object-fit:cover}.r-step b{display:block;font-weight:500}.r-step small{color:var(--muted)}.r-step a{text-decoration:none}
/* gallery */
.gal{columns:3 280px;column-gap:1rem}.gal-i{display:block;width:100%;margin:0 0 1rem;padding:0;border:0;border-radius:var(--r);overflow:hidden;cursor:zoom-in;break-inside:avoid;background:none}.gal-i img{width:100%;transition:transform 1s var(--ease)}.gal-i:hover img{transform:scale(1.04)}
.lb{border:0;padding:0;background:transparent;max-width:min(92vw,1200px)}.lb::backdrop{background:rgba(29,20,24,.92)}.lb img{max-height:86vh;width:auto;border-radius:12px}
.x{position:absolute;top:.6rem;right:.6rem;width:44px;height:44px;border-radius:50%;border:0;background:var(--paper);color:var(--ink);font-size:1.4rem;cursor:pointer}
/* misc pages */
.brand-grid,.auth-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}.brand,.auth-grid article{border:1px solid var(--line);border-radius:var(--r);padding:2rem;background:var(--paper)}
.brand-mono{font:italic 400 3rem/1 var(--serif);color:var(--rouge);display:block;margin-bottom:1rem}.brand p,.auth-grid p{color:var(--muted)}
@media (max-width:860px){.brand-grid,.auth-grid{grid-template-columns:1fr}}
.prose p{font-size:1.1rem;font-weight:300}.article h1{font-size:clamp(2.4rem,5vw,4rem)}.article-img img{border-radius:var(--r);width:100%;aspect-ratio:16/9;object-fit:cover;margin:2rem 0 3rem}.article{padding:2.5rem 0 5rem}
.values{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:2.5rem}.values b{font:400 1.6rem/1 var(--serif);color:var(--rouge)}.values p{font-size:.92rem;color:var(--muted);margin-top:.5rem}
.visit-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:3rem;align-items:start}.enq{margin-top:2.5rem;padding:1.8rem;background:var(--paper);border:1px solid var(--line);border-radius:24px}
.map-box{border-radius:24px;overflow:hidden;position:sticky;top:96px;aspect-ratio:4/3;background:var(--blush)}.map-box iframe{width:100%;height:100%;border:0}
.map-btn{position:relative;display:block;width:100%;height:100%;border:0;padding:0;cursor:pointer;background:none}.map-btn img{width:100%;height:100%;object-fit:cover;filter:blur(2px) brightness(.6)}.map-btn span{position:absolute;inset:0;display:grid;place-content:center;color:#fff;font:400 1.6rem/1.2 var(--serif);text-align:center}.map-btn small{font:400 .8rem/1.6 var(--sans);letter-spacing:.1em}
@media (max-width:860px){.visit-grid{grid-template-columns:1fr}.map-box{position:relative;top:0}}
.faq details{padding:0 .2rem}.faq summary{font:400 1.25rem/1.3 var(--serif);padding:1.3rem 0}
.bag-in{display:grid;grid-template-columns:1fr 360px;gap:3rem;align-items:start}.bag-sum{position:sticky;top:96px;background:var(--paper);border:1px solid var(--line);border-radius:24px;padding:1.6rem}.bag-sum .btn{width:100%}
.bag-row{display:grid;grid-template-columns:84px 1fr auto;gap:1rem;align-items:center;padding:1rem 0;border-bottom:1px solid var(--line)}.bag-row img{width:84px;height:84px;object-fit:cover;border-radius:12px}.bag-row b{display:block;font:400 1.15rem/1.2 var(--serif)}.bag-row small{color:var(--muted)}.bag-empty{padding:2rem 0;color:var(--muted)}
@media (max-width:860px){.bag-in{grid-template-columns:1fr}.bag-sum{position:relative;top:0}}
/* footer */
.ftr{background:var(--ink);color:#cdbab5;padding:4.5rem 0 2rem;font-size:.92rem}
.ftr-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:2rem}.ftr h3{font:500 .7rem/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:1.2rem}
.ftr-grid div>a{display:block;text-decoration:none;padding:.3rem 0}.ftr a:hover{color:#fff}.ftr .logo{color:#fff}.ftr .mark{color:var(--gold)}.ftr-brand p{margin:1.2rem 0;max-width:22rem}
.g-rate{display:inline-flex;align-items:center;gap:.5rem;text-decoration:none;font-size:.86rem}
.ftr-base{border-top:1px solid var(--line-l);margin-top:3rem;padding-top:1.5rem;font-size:.78rem;display:flex;justify-content:space-between;gap:2rem;flex-wrap:wrap}.ftr-base p{max-width:56rem;margin:0}
@media (max-width:860px){.ftr-grid{grid-template-columns:1fr 1fr}.ftr-brand{grid-column:1/-1}}
/* beauty assistant: the only floating element */
.ask-fab{position:fixed;right:1rem;bottom:1rem;z-index:45;display:flex;align-items:center;gap:.5rem;height:56px;padding:0 1.2rem 0 .5rem;border-radius:99px;border:1px solid rgba(196,160,116,.6);background:var(--ink);color:#fff;font:500 .78rem/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;cursor:pointer;box-shadow:0 14px 34px rgba(29,20,24,.35)}
.ask-fab .mark{width:40px;height:40px;color:var(--gold)}
.ask-panel{position:fixed;right:1rem;bottom:1rem;z-index:55;width:min(calc(100% - 2rem),400px);max-height:min(78svh,620px);display:flex;flex-direction:column;background:var(--paper);border:1px solid var(--line);border-radius:24px;box-shadow:0 30px 70px rgba(29,20,24,.3);overflow:hidden}
.ask-panel[hidden]{display:none}
.ask-panel header{position:relative;background:var(--ink);color:#fff;padding:1rem 3.5rem 1rem 1.2rem}.ask-panel header b{display:block;font:400 1.25rem/1.2 var(--serif)}.ask-panel header small{color:#cbb8b4;font-size:.76rem}.ask-panel header .x{top:50%;transform:translateY(-50%);background:transparent;color:#fff}
.ask-log{flex:1;overflow:auto;padding:1rem 1.2rem;display:flex;flex-direction:column;gap:.6rem}.ask-log p{margin:0;padding:.7rem .95rem;border-radius:16px;font-size:.92rem;max-width:90%}.ask-log .bot{background:var(--blush2)}.ask-log .me{background:var(--rouge);color:#fff;align-self:flex-end}.ask-log a{color:var(--rouge);font-weight:500}
.ask-q{display:flex;gap:.4rem;flex-wrap:wrap;padding:0 1.2rem .7rem}.ask-q button{border:1px solid var(--line);background:#fff;border-radius:99px;padding:.45rem .8rem;font:inherit;font-size:.8rem;cursor:pointer;min-height:38px}
.ask-panel form{display:flex;gap:.5rem;padding:.7rem 1.2rem 1.1rem;border-top:1px solid var(--line)}.ask-panel form input{min-height:44px}
@media (max-width:560px){.ask-fab span{display:none}.ask-fab{padding:0;width:56px;justify-content:center}}
/* toast */
.toast{position:fixed;left:50%;top:84px;transform:translate(-50%,-20px);background:var(--ink);color:#fff;padding:.8rem 1.3rem;border-radius:99px;font-size:.86rem;opacity:0;pointer-events:none;transition:.35s var(--ease);z-index:60;max-width:calc(100% - 2rem)}.toast.show{opacity:1;transform:translate(-50%,0)}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}}
