:root{
  --ink:#0a0908; --ink-2:#12100d; --ink-3:#1b1813;
  --gold:#c9a24a; --gold-2:#e8cf8a; --gold-3:#8a6a26;
  --cream:#f4ecdc; --muted:#a69e8e; --line:rgba(201,162,74,.24);
  --champ:#f1e7d3; --champ-ink:#1a1611; --teal:#7fb5ac;
  --serif:'Cormorant Garamond',Georgia,serif; --sans:'Manrope',system-ui,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--ink);color:var(--cream);font-family:var(--sans);font-weight:300;line-height:1.7;overflow-x:hidden;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
.wrap{width:min(1240px,100% - 32px);margin-inline:auto}
.wrap.narrow{width:min(780px,100% - 32px)}
.gold-text{background:linear-gradient(100deg,var(--gold-3),var(--gold-2) 40%,var(--gold) 60%,var(--gold-2));-webkit-background-clip:text;background-clip:text;color:transparent}
.eyebrow{font-size:.7rem;letter-spacing:.36em;text-transform:uppercase;color:var(--gold);margin-bottom:.9rem}
h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.08}
h2{font-size:clamp(2.2rem,4.6vw,3.8rem);margin-bottom:1.2rem}
h3{font-size:1.6rem}
em{font-style:italic}
.muted{color:var(--muted);margin-bottom:1rem}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;padding:1rem 1.8rem;font:500 .74rem var(--sans);letter-spacing:.2em;text-transform:uppercase;border:1px solid var(--gold);transition:.35s;cursor:pointer;color:var(--cream);background:none}
.btn.sm{padding:.7rem 1.2rem;font-size:.66rem}
.btn-gold{background:linear-gradient(120deg,var(--gold-3),var(--gold) 50%,var(--gold-2));color:var(--ink);font-weight:600;border-color:transparent}
.btn-gold:hover{filter:brightness(1.12);transform:translateY(-2px)}
.btn-line:hover{background:var(--gold);color:var(--ink)}
.btns{display:flex;flex-wrap:wrap;gap:.9rem;margin-top:2rem}
.link,.more{display:inline-block;font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;border-bottom:1px solid var(--gold);padding-bottom:3px;color:var(--gold-2)}
.link{margin-top:1.4rem}

/* top bar + header */
.topbar{background:var(--ink-2);border-bottom:1px solid var(--line);font-size:.72rem;letter-spacing:.08em;color:var(--muted)}
.topbar .wrap{display:flex;justify-content:space-between;gap:1rem;padding:.5rem 0}
.topbar a{color:var(--gold-2)}
header{position:sticky;top:0;z-index:50;background:rgba(11,10,8,.9);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;height:84px}
.logo img{height:62px;width:auto}
.links{display:flex;gap:1.9rem;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase}
.links a{opacity:.78;transition:.3s;padding:.4rem 0;border-bottom:1px solid transparent}
.links a:hover,.links a.on{opacity:1;color:var(--gold-2);border-color:var(--gold)}
.burger{display:none;background:none;border:0;width:38px;height:38px;cursor:pointer}
.burger span{display:block;height:1px;background:var(--cream);margin:7px 5px}

/* hero (home) */
.hero{position:relative;min-height:calc(100svh - 120px);display:grid;align-items:center;overflow:hidden}
.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 60%;filter:brightness(.6) saturate(1);transform:scale(1.08);animation:kb 16s ease-out forwards}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,10,8,.92) 0%,rgba(11,10,8,.55) 55%,rgba(11,10,8,.2));pointer-events:none}
@keyframes kb{to{transform:scale(1)}}
.hero-in{position:relative;z-index:2;padding:80px 0}
.hero-logo{width:min(420px,80vw);margin:0 0 1.6rem -14px}
.hero h1{font-size:clamp(3rem,7vw,6rem);max-width:12ch;margin-bottom:1.2rem}
.hero p{max-width:34rem;color:#d4cbbb;font-size:1.05rem}

.marquee{border-block:1px solid var(--line);overflow:hidden;background:var(--ink-2)}
.marquee div{display:flex;gap:3rem;width:max-content;padding:1.1rem 0;animation:mq 40s linear infinite;font-family:var(--serif);font-size:1.55rem;font-style:italic;color:var(--gold-2);white-space:nowrap}
.marquee span::after{content:"✦";margin-left:3rem;color:var(--gold-3);font-style:normal;font-size:.9rem}
@keyframes mq{to{transform:translateX(-50%)}}

/* page banner */
.banner{position:relative;min-height:56vh;display:grid;align-items:end;overflow:hidden}
.banner>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 40%;filter:brightness(.4)}
.banner::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,var(--ink) 2%,rgba(11,10,8,.35) 60%,rgba(11,10,8,.55))}
.banner-in{position:relative;z-index:2;padding:120px 0 64px}
.banner h1{font-size:clamp(2.8rem,6.5vw,5.6rem);max-width:16ch;margin-bottom:1rem}
.banner p{max-width:36rem;color:#d4cbbb}
.crumbs{font-size:.72rem;letter-spacing:.14em;color:var(--muted);margin-bottom:1.4rem}
.crumbs a:hover{color:var(--gold-2)}

section{padding:clamp(72px,10vw,130px) 0}
section.pt0{padding-top:0}
section.dark{background:var(--ink-2);border-block:1px solid var(--line)}
.head{display:flex;justify-content:space-between;align-items:end;gap:1.5rem 3rem;margin-bottom:3rem;flex-wrap:wrap}
.head h2{margin-bottom:0}
.head p{max-width:26rem}

/* split */
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,90px);align-items:center}
.split-img{position:relative}
.split-img img{aspect-ratio:4/5;object-fit:cover;width:100%}
.split-img::before{content:"";position:absolute;inset:-16px 16px 16px -16px;border:1px solid var(--line);z-index:-1}
.quote{position:absolute;right:-20px;bottom:36px;background:var(--ink);border:1px solid var(--gold);padding:1.2rem 1.5rem;max-width:240px}
.quote span{font-family:var(--serif);font-size:1.7rem;font-style:italic;display:block;line-height:1.1}
.quote small{color:var(--muted);font-size:.75rem}
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);margin-top:2rem;border:1px solid var(--line)}
.pillars div{background:var(--ink);padding:1.2rem 1rem}
.pillars b{display:block;font-family:var(--serif);font-size:1.25rem;font-weight:500;color:var(--gold-2)}
.pillars span{font-size:.8rem;color:var(--muted)}
.ticks{list-style:none;margin-top:1.4rem;display:grid;grid-template-columns:1fr 1fr;gap:.6rem 1.4rem}
.ticks li{padding-left:1.5rem;position:relative;font-size:.95rem}
.ticks li::before{content:"✦";position:absolute;left:0;color:var(--gold);font-size:.75rem;top:.25rem}

/* collection cards */
.cols{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.cols.three{grid-template-columns:repeat(3,1fr)}
.col{position:relative;overflow:hidden;aspect-ratio:3/4.3;background:var(--ink-3)}
.col img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.col:hover img{transform:scale(1.07)}
.col::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(11,10,8,.94),transparent 58%)}
.col .cap{position:absolute;left:1.3rem;right:1.3rem;bottom:1.3rem;z-index:2}
.col .cap small{font-size:.62rem;letter-spacing:.24em;color:var(--gold);text-transform:uppercase}
.col .cap h3{font-size:1.85rem;margin:.3rem 0 .5rem}
.col .cap span{font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;border-bottom:1px solid var(--gold);padding-bottom:2px}

/* occasions */
.occ{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.occ-c{display:block;background:var(--ink);border:1px solid var(--line);overflow:hidden;transition:.4s}
.occ-c:hover{border-color:var(--gold);transform:translateY(-4px)}
.occ-c img{aspect-ratio:4/3;width:100%;object-fit:cover}
.occ-c div{padding:1.4rem 1.4rem 1.6rem}
.occ-c h3{margin-bottom:.4rem}
.occ-c p{color:var(--muted);font-size:.92rem;margin-bottom:.8rem}

/* values */
.values{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.values>div{background:var(--ink-2);padding:2.4rem 2rem}
.num{font-family:var(--serif);font-size:3rem;line-height:1;display:block;margin-bottom:1rem}
.values h3{margin-bottom:.6rem}

/* articles */
.agrid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.acard{display:flex;flex-direction:column;background:var(--ink-3);border:1px solid var(--line);transition:.4s}
.acard:hover{border-color:var(--gold);transform:translateY(-4px)}
.acard-img{overflow:hidden;aspect-ratio:16/11}
.acard-img img{width:100%;height:100%;object-fit:cover;transition:transform 1s}
.acard:hover .acard-img img{transform:scale(1.05)}
.acard-b{padding:1.4rem 1.4rem 1.7rem;display:flex;flex-direction:column;gap:.6rem;flex:1}
.acard-b small{font-size:.66rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold)}
.acard-b h3{font-size:1.5rem}
.acard-b p{color:var(--muted);font-size:.9rem;flex:1}
.acard-b .more{align-self:flex-start}
.feature{display:grid;grid-template-columns:1.2fr 1fr;gap:clamp(24px,4vw,56px);align-items:center;margin-bottom:56px;border:1px solid var(--line);background:var(--ink-2)}
.feature img{width:100%;height:100%;min-height:360px;object-fit:cover}
.feature>div{padding:2rem 2rem 2rem 0}
.feature small{font-size:.68rem;letter-spacing:.24em;text-transform:uppercase;color:var(--gold)}
.feature h2{font-size:clamp(1.9rem,3.4vw,2.8rem);margin:.6rem 0 1rem}

/* article page */
.post-h{padding:72px 0 40px}
.post-h h1{font-size:clamp(2.4rem,5.4vw,4.2rem);margin-bottom:1.2rem}
.post-h .lead{font-size:1.15rem;color:#d4cbbb}
.byline{display:flex;align-items:center;gap:.8rem;margin-top:1.6rem;font-size:.85rem;color:var(--muted)}
.byline img{width:40px;height:40px;border-radius:50%;border:1px solid var(--line)}
.byline b{color:var(--cream);font-weight:500}
.post-cover img{width:100%;max-height:640px;object-fit:cover;object-position:center 30%}
.prose{padding:56px 0 100px;font-size:1.07rem}
.prose p{margin-bottom:1.3rem;color:#ddd4c4}
.prose h2{font-size:clamp(1.8rem,3.2vw,2.4rem);margin:2.6rem 0 1rem;color:var(--gold-2)}
.prose ul,.prose ol{margin:0 0 1.4rem 1.3rem;color:#ddd4c4}
.prose li{margin-bottom:.55rem;padding-left:.3rem}
.prose li::marker{color:var(--gold)}
.prose strong{color:var(--cream);font-weight:600}
.post-cta{display:flex;align-items:center;gap:1.4rem;flex-wrap:wrap;margin-top:3rem;padding:1.6rem;border:1px solid var(--gold);background:var(--ink-2)}
.post-cta img{height:56px;width:auto}
.post-cta div{flex:1;min-width:200px}
.post-cta p{margin:0;font-size:.9rem;color:var(--muted)}
.post-cta a:not(.btn){color:var(--gold-2)}

/* lookbook grid */
.grid{columns:3 260px;column-gap:16px}
.grid figure{break-inside:avoid;margin-bottom:16px;overflow:hidden;cursor:zoom-in;border:1px solid var(--line)}
.grid img{width:100%;transition:transform .9s}
.grid figure:hover img{transform:scale(1.04)}

/* cta */
.cta{background:radial-gradient(circle at 80% 50%,rgba(201,162,74,.14),transparent 60%),var(--ink-2);border-top:1px solid var(--line)}
.cta-in{display:flex;justify-content:space-between;align-items:center;gap:2rem 4rem;flex-wrap:wrap}
.cta-in>div:first-child{max-width:40rem}
.cta-in p{color:var(--muted)}
.cta-btns{display:flex;gap:.9rem;flex-wrap:wrap}

/* contact */
.visit{display:grid;grid-template-columns:1fr 1.15fr;gap:clamp(28px,5vw,64px)}
.info{border:1px solid var(--line);padding:clamp(26px,4vw,48px);background:linear-gradient(160deg,var(--ink-2),var(--ink))}
.info-logo{width:260px;margin:0 0 1.4rem -10px}
.row{display:flex;gap:1.1rem;padding:1.05rem 0;border-top:1px solid var(--line)}
.row svg{flex:none;width:22px;height:22px;stroke:var(--gold);fill:none;stroke-width:1.4;margin-top:4px}
.row small{display:block;font-size:.64rem;letter-spacing:.28em;text-transform:uppercase;color:var(--muted)}
.row a{word-break:break-word}
.row a:hover{color:var(--gold-2)}
.chips{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.35rem}
.chips span{border:1px solid var(--line);padding:.2rem .8rem;font-size:.8rem}
.map{position:relative;min-height:480px;border:1px solid var(--line);overflow:hidden;background:var(--ink-3)}
.map iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:grayscale(1) invert(.92) sepia(.25) contrast(.9)}
.form{display:grid;gap:1.1rem}
.form .two{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem}
.form label{display:grid;gap:.45rem;font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;color:var(--muted)}
.form input,.form textarea{background:var(--ink);border:1px solid var(--line);color:var(--cream);font:300 1rem var(--sans);padding:.9rem 1rem;letter-spacing:0;text-transform:none}
.form input:focus,.form textarea:focus{outline:none;border-color:var(--gold)}
.form .btn{justify-self:start}

/* footer */
footer{border-top:1px solid var(--line);padding:70px 0 28px;background:#080706}
.f-top{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:40px}
.f-brand img{width:250px;margin:0 0 1rem -10px}
.f-brand p{color:var(--muted);font-size:.9rem;max-width:22rem}
.f-top h4{font:500 .68rem var(--sans);letter-spacing:.3em;text-transform:uppercase;color:var(--gold);margin-bottom:1rem}
.f-top li{list-style:none;margin:.45rem 0;color:var(--muted);font-size:.9rem}
.f-top li a:hover{color:var(--cream)}
.f-bot{display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem;margin-top:50px;padding-top:22px;border-top:1px solid var(--line);font-size:.74rem;color:var(--muted);letter-spacing:.06em}

.lb{position:fixed;inset:0;z-index:100;background:rgba(5,5,4,.95);display:none;place-items:center;padding:20px}
.lb.open{display:grid}
.lb img{max-height:88vh;max-width:min(92vw,1000px);object-fit:contain}
.lb button{position:absolute;top:16px;right:22px;background:none;border:0;color:var(--cream);font-size:2.4rem;cursor:pointer;line-height:1}

.reveal{opacity:0;transform:translateY(36px);transition:opacity .9s,transform .9s cubic-bezier(.2,.7,.2,1)}
.reveal.in{opacity:1;transform:none}

@media (max-width:1080px){
  .links{display:none}
  .burger{display:block}
  .hide-m{display:none}
  .links.open{display:flex;position:absolute;top:84px;left:0;right:0;flex-direction:column;gap:0;background:var(--ink);border-bottom:1px solid var(--line);padding:6px 16px 14px}
  .links.open a{padding:.95rem 0;border-bottom:1px solid var(--line)}
  .cols{grid-template-columns:1fr 1fr}
  .f-top{grid-template-columns:1fr 1fr}
}
@media (max-width:860px){
  .topbar span:nth-child(2){display:none}
  .split,.visit,.feature{grid-template-columns:1fr}
  .feature>div{padding:0 1.4rem 1.8rem}
  .feature img{min-height:260px}
  .quote{right:10px}
  .occ,.agrid,.values,.cols.three{grid-template-columns:1fr 1fr}
}
@media (max-width:600px){
  .topbar span:first-child{display:none}
  .topbar .wrap{justify-content:center}
  .logo img{height:50px}
  .nav{height:72px}
  .links.open{top:72px}
  .cols,.cols.three,.occ,.agrid,.values,.pillars,.ticks,.f-top,.form .two{grid-template-columns:1fr}
  .col{aspect-ratio:4/5}
  .map{min-height:340px}
  .hero-in{padding:60px 0}
  .banner{min-height:48vh}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}
/* real logo is a JPG on black: blend so the black disappears into the dark UI */


/* ---------- shop ---------- */
.nav-r{display:flex;align-items:center;gap:1rem}
.bag-btn{position:relative;display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--line)}
.bag-btn:hover{border-color:var(--gold)}
.bag-btn svg{width:20px;height:20px;stroke:var(--gold-2);fill:none;stroke-width:1.4}
.bag-btn span{position:absolute;top:-7px;right:-7px;min-width:20px;height:20px;border-radius:10px;background:var(--gold);color:var(--ink);font:600 .68rem/20px var(--sans);text-align:center;padding:0 5px}
.bag-btn span.zero{display:none}
.pgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px 20px}
.pcard{display:block}
.pcard-img{position:relative;overflow:hidden;aspect-ratio:3/4;background:#efeae2}
.pcard-img img{width:100%;height:100%;object-fit:cover;object-position:top;transition:transform 1s}
.pcard:hover .pcard-img img{transform:scale(1.05)}
.pcard-tag{position:absolute;top:12px;left:12px;background:rgba(11,10,8,.82);color:var(--gold-2);font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;padding:.35rem .6rem}
.pcard-quick{position:absolute;left:12px;right:12px;bottom:12px;background:var(--gold);color:var(--ink);text-align:center;font:600 .66rem var(--sans);letter-spacing:.2em;text-transform:uppercase;padding:.75rem;transform:translateY(130%);transition:.35s}
.pcard:hover .pcard-quick{transform:none}
.pcard-b{padding:.9rem .1rem 0}
.pcard-b h3{font-size:1.3rem;line-height:1.2}
.pcard-row{display:flex;justify-content:space-between;align-items:center;gap:.5rem;margin-top:.4rem}
.price{font-size:.85rem;color:var(--gold-2);letter-spacing:.04em}
.sw{display:flex;gap:4px;align-items:center}
.sw i{width:12px;height:12px;border-radius:50%;border:1px solid rgba(255,255,255,.3)}
.sw em{font-size:.7rem;color:var(--muted);font-style:normal;margin-left:2px}
.pcard.hide{display:none}
.shopbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:2.4rem}
.filters{display:flex;gap:.5rem;flex-wrap:wrap}
.filters button{background:none;border:1px solid var(--line);color:var(--muted);padding:.55rem 1rem;font:400 .7rem var(--sans);letter-spacing:.16em;text-transform:uppercase;cursor:pointer;transition:.3s}
.filters button b{font-weight:500;color:var(--gold);margin-left:.3rem}
.filters button.on,.filters button:hover{border-color:var(--gold);color:var(--ink);background:var(--gold)}
.filters button.on b,.filters button:hover b{color:var(--ink)}
.sort{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);display:flex;align-items:center;gap:.6rem}
.sort select{background:var(--ink);color:var(--cream);border:1px solid var(--line);padding:.5rem .7rem;font:300 .85rem var(--sans)}
.perks{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:70px}
.perks div{background:var(--ink);padding:1.4rem 1.2rem}
.perks b{display:block;font-family:var(--serif);font-size:1.3rem;font-weight:500;color:var(--gold-2)}
.perks span{font-size:.82rem;color:var(--muted)}

.pdp-wrap{padding:40px 0 100px}
.pdp{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(28px,5vw,72px);margin-top:1.6rem;align-items:start}
.pdp-media{position:sticky;top:110px}
.pdp-main{border:1px solid var(--line);background:#efeae2;cursor:zoom-in}
.pdp-main img{width:100%;aspect-ratio:3/4;object-fit:cover;object-position:top}
.thumbs{display:flex;gap:10px;margin-top:10px;flex-wrap:wrap}
.th{width:76px;aspect-ratio:3/4;border:1px solid var(--line);background:none;cursor:pointer;padding:0;overflow:hidden;opacity:.6}
.th.on,.th:hover{opacity:1;border-color:var(--gold)}
.th img{width:100%;height:100%;object-fit:cover;object-position:top}
.pdp-info h1{font-size:clamp(2.2rem,4vw,3.4rem);margin-bottom:.6rem}
.pdp-price{font-size:1.15rem;color:var(--gold-2);margin-bottom:1.2rem}
.opt{margin-top:1.5rem}
.opt-h{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-bottom:.7rem}
.opt-h b{color:var(--cream);font-weight:500;letter-spacing:.05em;text-transform:none;font-size:.9rem;margin-left:.3rem}
.colors{display:flex;gap:.6rem;flex-wrap:wrap}
.cl{width:36px;height:36px;border-radius:50%;border:1px solid var(--line);background:none;padding:4px;cursor:pointer}
.cl i{display:block;width:100%;height:100%;border-radius:50%}
.cl.on{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold)}
.sizes{display:flex;gap:.5rem;flex-wrap:wrap}
.sz{min-width:52px;padding:.7rem .9rem;border:1px solid var(--line);background:none;color:var(--cream);font:400 .85rem var(--sans);cursor:pointer}
.sz:hover{border-color:var(--gold)}
.sz.on{background:var(--gold);color:var(--ink);border-color:var(--gold)}
.sizes.err .sz{border-color:#d25555;animation:shake .4s}
@keyframes shake{25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}
.qty-row{display:flex;gap:.8rem}
.qty{display:flex;align-items:center;border:1px solid var(--line)}
.qty button{width:42px;height:100%;background:none;border:0;color:var(--cream);font-size:1.2rem;cursor:pointer}
.qty span{min-width:30px;text-align:center}
.grow{flex:1}
.full{width:100%;margin-top:.8rem}
.added{display:none;margin-top:1rem;padding:.9rem 1rem;border:1px solid var(--gold);background:rgba(201,162,74,.08);font-size:.92rem}
.added.show{display:block}
.added a{color:var(--gold-2);border-bottom:1px solid var(--gold)}
.pdp-perks{display:grid;gap:.4rem;margin-top:1.8rem;padding-top:1.4rem;border-top:1px solid var(--line);font-size:.85rem;color:var(--muted)}
.pdp-info .ticks{grid-template-columns:1fr 1fr}

.bag{display:grid;grid-template-columns:1.5fr 1fr;gap:clamp(28px,4vw,56px);align-items:start}
.baglist{display:grid;gap:14px}
.bitem{display:grid;grid-template-columns:96px 1fr auto;gap:1.2rem;align-items:center;border:1px solid var(--line);padding:12px;background:var(--ink-2)}
.bitem img{width:96px;aspect-ratio:3/4;object-fit:cover;object-position:top}
.bitem h4{font-family:var(--serif);font-size:1.3rem;font-weight:400}
.bitem small{color:var(--muted);display:block;font-size:.82rem}
.bitem .bq{display:flex;align-items:center;gap:.4rem;margin-top:.5rem}
.bitem .bq button{width:28px;height:28px;border:1px solid var(--line);background:none;color:var(--cream);cursor:pointer}
.bitem .rm{background:none;border:0;color:var(--muted);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;cursor:pointer;border-bottom:1px solid var(--line)}
.bitem .rm:hover{color:var(--cream)}
.bagempty{border:1px dashed var(--line);padding:3rem 2rem;text-align:center}
.bagempty h3{margin-bottom:.4rem}
.checkout{border:1px solid var(--gold);padding:clamp(22px,3vw,36px);background:var(--ink-2);position:sticky;top:110px}
.checkout h3{font-size:2rem;margin-bottom:.4rem}
.radio{display:flex;gap:1.2rem;flex-wrap:wrap}
.radio label{display:flex;flex-direction:row;align-items:center;gap:.5rem;font-size:.85rem;letter-spacing:.05em;text-transform:none;color:var(--cream)}
.radio input{accent-color:var(--gold)}
.sum{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:.8rem;font-size:.9rem}
.sum b{font-weight:500;color:var(--gold-2)}
.fine{font-size:.78rem;color:var(--muted)}

@media (max-width:1080px){.pgrid{grid-template-columns:repeat(3,1fr)}.perks{grid-template-columns:1fr 1fr}}
@media (max-width:860px){.pdp,.bag{grid-template-columns:1fr}.pdp-media,.checkout{position:static}.pgrid{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.pgrid{gap:22px 12px}.pcard-b h3{font-size:1.1rem}.pcard-quick{display:none}.perks{grid-template-columns:1fr}.pdp-info .ticks{grid-template-columns:1fr}.bitem{grid-template-columns:72px 1fr}.bitem img{width:72px}.bitem .rm{grid-column:2}.bag-btn{width:40px;height:40px}}
[hidden]{display:none!important}

/* ================= COCO signature look ================= */
:root{--serif:'Bodoni Moda',Didot,Georgia,serif;--sans:'Jost',system-ui,sans-serif}
h1,h2,h3{font-weight:400;letter-spacing:-.01em}
h2{font-size:clamp(2rem,4.2vw,3.5rem)}
.eyebrow{font-family:var(--sans);font-weight:500;letter-spacing:.42em}
.btn{border-radius:999px;padding:1rem 2rem}
.btn.sm{padding:.65rem 1.2rem}
.btn-gold{background:linear-gradient(120deg,#8a6a26,#c9a24a 45%,#f0d993 70%,#c9a24a);background-size:200% 100%;transition:background-position .6s,transform .3s}
.btn-gold:hover{background-position:100% 0}
.logo img{height:64px}
header{background:rgba(10,9,8,.92)}
header::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent)}
.topbar{text-align:center}

/* sequin dot field, taken from the logo */
.sequins{position:absolute;pointer-events:none;border-radius:50%;
  background:radial-gradient(circle,var(--gold-2) 0 1.7px,transparent 2.4px) 0 0/16px 16px,
             radial-gradient(circle,var(--gold-3) 0 1.3px,transparent 2px) 8px 8px/16px 16px;
  -webkit-mask:radial-gradient(circle,transparent 30%,#000 34%,#000 52%,transparent 70%);
          mask:radial-gradient(circle,transparent 30%,#000 34%,#000 52%,transparent 70%);
  animation:spin2 120s linear infinite;opacity:.85}
@keyframes spin2{to{transform:rotate(360deg)}}

/* hero: the disco ball */
.disco{position:relative;min-height:calc(100svh - 120px);display:grid;place-items:center;overflow:hidden;text-align:center;padding:60px 16px 90px;
  background:radial-gradient(ellipse at 50% 45%,#1d170d 0%,var(--ink) 62%)}
.disco .sequins{width:min(980px,150vw);aspect-ratio:1;left:50%;top:46%;translate:-50% -50%}
.disco-in{position:relative;z-index:3;max-width:760px}
.disco-in .hero-logo{width:min(560px,86vw);margin:0 auto -.4rem;filter:drop-shadow(0 10px 40px rgba(201,162,74,.25))}
.disco-in h1{font-size:clamp(1.6rem,3vw,2.4rem);font-style:italic;color:var(--gold-2);margin:.4rem 0 1rem}
.disco-in p{color:var(--muted);max-width:34rem;margin:0 auto}
.disco-in .btns{justify-content:center}
.float{position:absolute;z-index:2;width:clamp(150px,17vw,250px);aspect-ratio:3/4;padding:8px;background:var(--cream);box-shadow:0 30px 60px rgba(0,0,0,.6);animation:bob 7s ease-in-out infinite}
.float img{width:100%;height:100%;object-fit:cover;object-position:top}
.float figcaption{position:absolute;left:0;right:0;bottom:-30px;font:italic 1rem var(--serif);color:var(--gold-2)}
.f1{left:5%;top:16%;rotate:-7deg}
.f2{right:6%;top:12%;rotate:6deg;animation-delay:-2s}
.f3{left:13%;bottom:9%;rotate:4deg;width:clamp(120px,12vw,180px);animation-delay:-4s}
.f4{right:12%;bottom:8%;rotate:-5deg;width:clamp(120px,12vw,180px);animation-delay:-1s}
@keyframes bob{50%{translate:0 -14px}}

.marquee div{font-family:var(--serif)}

/* champagne sections */
.champ{background:var(--champ);color:var(--champ-ink)}
.champ .muted,.champ p{color:#5e5446}
.champ .eyebrow{color:var(--gold-3)}
.champ .link,.champ .more{color:var(--champ-ink);border-color:var(--gold-3)}
.champ .gold-text{background:linear-gradient(100deg,#7a5a1c,#b98d33 50%,#8a6520);-webkit-background-clip:text;background-clip:text;color:transparent}

/* arched boutique windows */
.arches{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.arch{display:block;text-align:center}
.arch-frame{position:relative;aspect-ratio:3/4.4;border-radius:999px 999px 0 0;overflow:hidden;border:1px solid var(--gold-3);padding:8px;background:#fff}
.arch-frame img{width:100%;height:100%;object-fit:cover;object-position:top;border-radius:999px 999px 0 0;transition:transform 1s}
.arch:hover .arch-frame img{transform:scale(1.05)}
.arch-n{display:block;font:italic 1rem var(--serif);color:var(--gold-3);margin-top:1rem}
.arch h3{font-size:1.6rem;margin-top:.2rem}
.arch small{font-size:.66rem;letter-spacing:.24em;text-transform:uppercase;color:#7a6f5f}

/* numbered product grid */
.pgrid{counter-reset:pn}
.pcard{position:relative}
.pcard-img{border-radius:2px;background:#ece5d7}
.pcard-b{display:grid;grid-template-columns:auto 1fr;column-gap:.9rem;align-items:start}
.pcard-b::before{counter-increment:pn;content:counter(pn,decimal-leading-zero);grid-row:span 2;font:italic 1.6rem/1 var(--serif);color:var(--gold);padding-top:.15rem}
.pcard-b h3{font-size:1.15rem}
.pcard-tag{background:rgba(10,9,8,.8);border:1px solid var(--line)}
.pcard-quick{border-radius:999px}
.new-badge{position:absolute;top:12px;right:12px;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:var(--gold);color:var(--ink);font:600 .56rem var(--sans);letter-spacing:.14em}

/* occasion list with hover photo */
.olist{border-top:1px solid var(--line)}
.orow{position:relative;display:grid;grid-template-columns:70px 1fr auto;align-items:center;gap:1.5rem;padding:1.6rem 0;border-bottom:1px solid var(--line);transition:padding .4s,color .3s}
.orow .on{font:italic 1.1rem var(--serif);color:var(--gold)}
.orow h3{font-size:clamp(2rem,5vw,4rem);line-height:1}
.orow p{max-width:24rem;color:var(--muted);font-size:.9rem;text-align:right}
.orow:hover{padding-left:1.2rem;color:var(--gold-2)}
.orow img{position:absolute;right:30%;top:50%;width:200px;aspect-ratio:3/4;object-fit:cover;object-position:top;translate:0 -50%;rotate:-4deg;opacity:0;scale:.85;transition:.45s;pointer-events:none;z-index:2;border:6px solid var(--cream)}
.orow:hover img{opacity:1;scale:1}

/* story medallion */
.medal{position:relative;display:grid;place-items:center;aspect-ratio:1}
.medal .sequins{inset:0;width:100%;height:100%}
.medal img{position:relative;width:64%;aspect-ratio:1;object-fit:cover;border-radius:50%;border:1px solid var(--gold)}
.medal .stamp{position:absolute;right:6%;bottom:10%;width:120px;height:120px;border-radius:50%;background:var(--gold);color:var(--ink);display:grid;place-items:center;text-align:center;font:italic 1.05rem/1.15 var(--serif);rotate:-12deg;padding:10px}

.teal-line{display:inline-block;width:40px;height:2px;background:var(--teal);vertical-align:middle;margin-right:.7rem}
.acard{border-radius:2px}
.champ .acard{background:#fbf6ec;border-color:rgba(138,106,38,.25)}
.champ .acard-b h3{color:var(--champ-ink)}
.champ .acard-b p{color:#5e5446}
.cta{background:radial-gradient(circle at 15% 50%,rgba(127,181,172,.12),transparent 50%),radial-gradient(circle at 85% 50%,rgba(201,162,74,.16),transparent 55%),var(--ink-2)}
footer .f-brand img{width:240px}
.banner h1{font-style:normal}

@media (max-width:1080px){.arches{grid-template-columns:1fr 1fr}.f3,.f4{display:none}}
@media (max-width:860px){
  .float{width:110px}.f1{left:-10px;top:4%}.f2{right:-10px;top:4%}
  .orow{grid-template-columns:44px 1fr}.orow p{display:none}.orow img{display:none}
}
@media (max-width:600px){.disco{padding-top:150px}.f1,.f2{top:16px;width:92px}.medal .stamp{width:96px;height:96px;font-size:.9rem}}
html,body{overflow-x:clip}
.disco{overflow:clip}
.disco-in::before{content:"";position:absolute;inset:-40px -60px;z-index:-1;background:radial-gradient(ellipse at center,rgba(10,9,8,.88) 35%,rgba(10,9,8,.55) 60%,transparent 75%)}
.disco-in p{color:#d6ccb8}
.f1{top:9%}.f3{bottom:5%;left:8%}

/* ================= home v7 ================= */
.vhero{position:relative;height:calc(100svh - 120px);min-height:560px;overflow:hidden;background:#000}
.vhero video,.vhero .poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.vhero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,9,8,.85) 0%,rgba(10,9,8,.45) 42%,rgba(10,9,8,0) 70%),linear-gradient(to top,rgba(10,9,8,.8),transparent 40%)}
.vhero-in{position:absolute;z-index:2;left:0;right:0;bottom:clamp(36px,8vh,90px)}
.vhero-in .eyebrow{color:var(--gold-2)}
.vhero-logo{width:min(520px,80vw);margin:0 0 .4rem -16px;filter:drop-shadow(0 8px 30px rgba(0,0,0,.6))}
.vhero h1{font-size:clamp(1.9rem,3.6vw,3rem);font-style:italic;max-width:18ch;margin-bottom:.8rem}
.vhero p{max-width:30rem;color:#ddd3c0}
.look{position:absolute;z-index:2;right:max(16px,calc((100vw - 1240px)/2));bottom:clamp(36px,8vh,90px);display:flex;align-items:center;gap:.9rem;padding:.6rem 1.2rem .6rem .6rem;border-radius:999px;background:rgba(10,9,8,.6);backdrop-filter:blur(10px);border:1px solid var(--line);transition:.3s}
.look:hover{border-color:var(--gold)}
.look img{width:52px;height:52px;border-radius:50%;object-fit:cover;object-position:top}
.look small{display:block;font-size:.6rem;letter-spacing:.28em;text-transform:uppercase;color:var(--gold)}
.look b{font:400 1.05rem var(--serif)}
.scrollcue{position:absolute;z-index:2;left:50%;bottom:18px;width:1px;height:46px;background:linear-gradient(var(--gold),transparent);animation:cue 2s ease-in-out infinite}
@keyframes cue{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}

.statement{text-align:center;position:relative;overflow:hidden}
.statement .sequins{width:620px;aspect-ratio:1;left:50%;top:50%;translate:-50% -50%;opacity:.35}
.statement p.big{position:relative;font:400 clamp(1.7rem,3.6vw,3.1rem)/1.25 var(--serif);max-width:24ch;margin:0 auto}
.statement p.big em{color:var(--gold-2)}
.facts{position:relative;display:flex;justify-content:center;gap:clamp(24px,6vw,90px);margin-top:3rem;flex-wrap:wrap}
.facts div{text-align:center}
.facts b{display:block;font:italic 2.6rem/1 var(--serif);color:var(--gold-2)}
.facts span{font-size:.68rem;letter-spacing:.26em;text-transform:uppercase;color:var(--muted)}

.edit{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(30px,6vw,90px);align-items:start}
.edit-side{position:sticky;top:140px}
.edit-side ol{list-style:none;margin-top:2rem;border-top:1px solid var(--line)}
.edit-side li{padding:1.1rem 0;border-bottom:1px solid var(--line);display:flex;gap:1rem;align-items:baseline}
.edit-side li i{font:italic 1rem var(--serif);color:var(--gold)}
.edit-side li a{font:400 1.5rem var(--serif)}
.edit-side li a:hover{color:var(--gold-2)}
.edit-imgs{display:grid;gap:22px}
.edit-imgs a{position:relative;display:block;overflow:hidden}
.edit-imgs img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:top;transition:transform 1.2s}
.edit-imgs a:hover img{transform:scale(1.04)}
.edit-imgs span{position:absolute;left:18px;bottom:18px;background:rgba(10,9,8,.7);backdrop-filter:blur(8px);padding:.6rem 1rem;font:italic 1.1rem var(--serif);border:1px solid var(--line)}
.edit-imgs .pair{display:grid;grid-template-columns:1fr 1fr;gap:22px}

.best{display:grid;grid-template-columns:1.3fr 1fr 1fr;grid-template-rows:auto auto;gap:20px}
.best .pcard:first-child{grid-row:span 2}
.best .pcard:first-child .pcard-img{aspect-ratio:auto;height:calc(100% - 64px)}

.fullbleed{position:relative;min-height:88vh;display:grid;place-items:center;text-align:center;overflow:hidden;padding:0}
.fullbleed>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.45)}
.fullbleed .in{position:relative;max-width:820px;padding:100px 16px}
.fullbleed h2{font-size:clamp(2.6rem,6.4vw,5.6rem);font-style:italic;margin:1rem 0 1.4rem;color:#fbf5e8}
.fullbleed p{color:#e1d8c6;max-width:34rem;margin:0 auto 2rem}

.visitcard{display:grid;grid-template-columns:1.1fr 1fr;border:1px solid var(--line);background:var(--ink-2)}
.visitcard img{width:100%;height:100%;min-height:420px;object-fit:cover}
.visitcard>div{padding:clamp(28px,5vw,64px);display:flex;flex-direction:column;justify-content:center}
.visitcard dl{display:grid;grid-template-columns:auto 1fr;gap:.8rem 1.4rem;margin:1.6rem 0 2rem}
.visitcard dt{font-size:.66rem;letter-spacing:.26em;text-transform:uppercase;color:var(--gold);padding-top:.25rem}
.visitcard dd a:hover{color:var(--gold-2)}

@media (max-width:860px){
  .edit,.visitcard{grid-template-columns:1fr}
  .edit-side{position:static}
  .best{grid-template-columns:1fr 1fr}
  .best .pcard:first-child{grid-column:span 2;grid-row:auto}
  .best .pcard:first-child .pcard-img{aspect-ratio:4/5;height:auto}
  .look{display:none}
  .vhero::after{background:linear-gradient(to top,rgba(10,9,8,.9) 5%,rgba(10,9,8,.3) 60%,rgba(10,9,8,.2))}
}

/* social + language switcher */
.social{display:flex;gap:.5rem;align-items:center}
.social a{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--line);border-radius:50%;transition:.3s}
.social a:hover{border-color:var(--gold);background:rgba(201,162,74,.1)}
.social svg{width:16px;height:16px;fill:none;stroke:var(--gold-2);stroke-width:1.6}
.social a[aria-label=Facebook] svg{fill:var(--gold-2);stroke:none}
.topbar .social a{width:24px;height:24px;border:0}
.topbar .social svg{width:14px;height:14px}
.tb-r{display:flex;align-items:center;gap:1rem}
footer .social{margin-top:1rem}
.langs{display:flex;border:1px solid var(--line);border-radius:999px;overflow:hidden}
.langs a{padding:.42rem .62rem;font:500 .66rem var(--sans);letter-spacing:.14em;color:var(--muted)}
.langs a:hover{color:var(--cream)}
.langs a.on{background:var(--gold);color:var(--ink)}
@media (max-width:600px){.langs a{padding:.38rem .45rem;font-size:.6rem}.nav-r{gap:.5rem}}
.pgrid>*,.cols>*,.arches>*,.agrid>*,.edit-imgs .pair>*{min-width:0}
.pcard-row{flex-wrap:wrap}
@media (max-width:600px){
  .arches{gap:14px}.arch h3{font-size:1.2rem}.arch small{font-size:.56rem;letter-spacing:.14em}
  .facts{gap:22px 34px}.facts b{font-size:2rem}
  .edit-imgs .pair{gap:12px}.edit-imgs span{font-size:.85rem;left:10px;bottom:10px;padding:.4rem .6rem}
  .best{gap:14px}
  .visitcard img{min-height:300px}
  .visitcard dl{grid-template-columns:1fr;gap:.2rem}.visitcard dd{margin-bottom:.6rem}
  .vhero-logo{width:72vw}
  .topbar .wrap{gap:.6rem}
  h2{font-size:clamp(1.9rem,8vw,2.4rem)}
  .orow h3{font-size:1.9rem}
  .shopbar{flex-direction:column;align-items:stretch}.filters{overflow-x:auto;flex-wrap:nowrap;padding-bottom:6px}.filters button{flex:none}
}
.links{gap:1.4rem}.links a{white-space:nowrap}
@media (max-width:1320px){.hide-m{display:none}}
@media (max-width:1200px){
  .links{display:none}.burger{display:block}
  .links.open{display:flex;position:absolute;top:84px;left:0;right:0;flex-direction:column;gap:0;background:var(--ink);border-bottom:1px solid var(--line);padding:6px 16px 14px}
  .links.open a{padding:.95rem 0;border-bottom:1px solid var(--line)}
}

/* hero media wrapper + mobile header/hero redesign */
.vmedia{position:absolute;inset:0}
.vmedia::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,9,8,.85) 0%,rgba(10,9,8,.45) 42%,rgba(10,9,8,0) 70%),linear-gradient(to top,rgba(10,9,8,.8),transparent 40%)}
.vhero::after{display:none}
.tb-langs{display:none}
@media (max-width:700px){
  /* top strip: languages left, phone + socials right */
  .topbar .wrap{justify-content:space-between;padding:.35rem 0}
  .topbar .wrap>span:not(.tb-r){display:none}
  .tb-langs{display:flex;border-color:rgba(201,162,74,.35)}
  .tb-langs a{padding:.28rem .55rem;font-size:.62rem}
  .tb-r{gap:.6rem;font-size:.72rem}
  /* header: logo + bag + menu only */
  .nav .langs:not(.tb-langs){display:none}
  .nav{height:68px}
  .logo img{height:50px}
  .links.open{top:68px}
  .bag-btn{border-radius:50%}
  /* hero: clean video on top, text panel below */
  .vhero{height:auto;min-height:0;background:var(--ink)}
  .vmedia{position:relative;height:64svh;min-height:380px;overflow:hidden}
  .vmedia video,.vmedia .poster{object-position:center 12%}
  .vmedia::after{background:linear-gradient(to top,var(--ink) 0%,rgba(10,9,8,0) 35%)}
  .vhero-in{position:relative;bottom:auto;padding:4px 16px 44px;margin-top:-34px}
  .vhero-logo{display:none}
  .vhero .eyebrow{font-size:.6rem;letter-spacing:.3em}
  .vhero h1{font-size:2.2rem;line-height:1.1;max-width:none;margin:.3rem 0 .8rem}
  .vhero p{font-size:.98rem}
  .vhero .btns{flex-direction:column;gap:.7rem;margin-top:1.5rem}
  .vhero .btns .btn{width:100%}
  .scrollcue{display:none}
}
@media (max-width:700px){
  .vmedia video,.vmedia .poster{object-position:center center}
  .nav-r{margin-left:auto;margin-right:.6rem}
}

/* hero v9: no logo, darker shade, mobile full-screen overlay */
.vmedia::after{background:
  linear-gradient(90deg,rgba(10,9,8,.88) 0%,rgba(10,9,8,.6) 38%,rgba(10,9,8,.25) 65%,rgba(10,9,8,.15) 100%),
  linear-gradient(to top,rgba(10,9,8,.85),transparent 45%)}
.vhero h1{font-size:clamp(2.6rem,5vw,4.4rem);font-style:normal;max-width:14ch;line-height:1.05;margin:.8rem 0 1.1rem}
.vhero h1::first-line{color:var(--cream)}
.vhero p{font-size:1.05rem}
@media (max-width:700px){
  .vhero{height:calc(100svh - 104px);min-height:560px;position:relative}
  .vmedia{position:absolute;inset:0;height:auto;min-height:0}
  .vmedia video,.vmedia .poster{object-position:center center}
  .vmedia::after{background:linear-gradient(to top,rgba(10,9,8,.96) 0%,rgba(10,9,8,.75) 32%,rgba(10,9,8,.15) 62%,rgba(10,9,8,.35) 100%)}
  .vhero-in{position:absolute;left:0;right:0;bottom:0;margin:0;padding:0 20px 28px}
  .vhero .eyebrow{font-size:.58rem;margin-bottom:.4rem}
  .vhero h1{font-size:2.3rem;margin:.2rem 0 .6rem}
  .vhero p{font-size:.9rem;line-height:1.55;color:#e4dccb}
  .vhero .btns{flex-direction:row;gap:.6rem;margin-top:1.1rem}
  .vhero .btns .btn{flex:1;width:auto;padding:.85rem .5rem;font-size:.62rem;letter-spacing:.14em}
}
@media (max-width:700px){.vhero .btns .btn{white-space:nowrap;text-align:center;font-size:.58rem;letter-spacing:.1em;padding:.9rem .4rem}}

/* ===== bestsellers slider ===== */
.slider{position:relative}
.slider-track{display:grid!important;grid-auto-flow:column;grid-template-columns:none!important;grid-auto-columns:calc((100% - 3*20px)/4);gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;padding-bottom:4px;cursor:grab}
.slider-track::-webkit-scrollbar{display:none}
.slider-track.drag{cursor:grabbing;scroll-snap-type:none;scroll-behavior:auto}
.slider-track>.pcard{scroll-snap-align:start}
.slider-ui{display:flex;align-items:center;gap:2rem;margin-top:2rem}
.slider-bar{flex:1;height:1px;background:var(--line);position:relative;overflow:hidden}
.slider-bar i{position:absolute;left:0;top:-1px;height:3px;width:25%;background:linear-gradient(90deg,var(--gold-3),var(--gold-2));transition:left .4s,width .4s}
.slider-btns{display:flex;gap:.6rem}
.slider-btns button{width:52px;height:52px;border-radius:50%;border:1px solid var(--gold);background:none;color:var(--gold-2);font-size:1.2rem;cursor:pointer;transition:.3s}
.slider-btns button:hover{background:var(--gold);color:var(--ink)}
@media (max-width:1080px){.slider-track{grid-auto-columns:calc((100% - 2*20px)/3)}}
@media (max-width:700px){.slider-track{grid-auto-columns:72%;gap:14px}.slider-btns button{width:44px;height:44px}}

/* ===== scroll animations ===== */
.reveal{transition:opacity 1s cubic-bezier(.2,.7,.2,1),transform 1s cubic-bezier(.2,.7,.2,1)}
[data-stagger]>*{opacity:0;transform:translateY(40px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--i,0)*110ms)}
[data-stagger].in>*{opacity:1;transform:none}
.head h2,.edit-side h2,.visitcard h2{overflow:hidden}
/* curtain reveal: clip the image, never the observed box (a fully clipped box never "intersects") */
.wipe img,img.wipe{clip-path:inset(0 0 100% 0);transform:scale(1.12);transition:clip-path 1.3s cubic-bezier(.7,0,.2,1),transform 1.8s cubic-bezier(.2,.7,.2,1)}
.wipe.in img,img.wipe.in{clip-path:inset(0 0 0 0);transform:scale(1)}
.edit-imgs .wipe,.wipe.reveal{opacity:1;transform:none}
.arch-frame{transition:transform .6s cubic-bezier(.2,.7,.2,1),box-shadow .6s}
.arch:hover .arch-frame{transform:translateY(-8px);box-shadow:0 26px 50px rgba(0,0,0,.18)}
.eyebrow.line-in::before{content:"";display:inline-block;width:0;height:1px;background:currentColor;vertical-align:middle;margin-right:0;transition:width 1s .2s,margin .6s .2s}
.in .eyebrow.line-in::before,.eyebrow.line-in.in::before{width:28px;margin-right:.7rem}
.fullbleed>img{will-change:transform;transform:scale(1.15)}
.statement .big em{background:linear-gradient(90deg,var(--gold-2),var(--gold-2)) no-repeat 0 100%/0 1px;transition:background-size 1.2s .5s}
.statement .big.in em{background-size:100% 1px}
.pcard-img::after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 40%,rgba(255,255,255,.18) 50%,transparent 60%) no-repeat;background-size:250% 100%;background-position:150% 0;transition:background-position .9s;pointer-events:none}
.pcard:hover .pcard-img::after{background-position:-50% 0}
@media (prefers-reduced-motion:reduce){[data-stagger]>*,.wipe img,img.wipe{opacity:1!important;transform:none!important;clip-path:none!important}}
.credit a{color:var(--gold-2);border-bottom:1px solid var(--line);transition:.3s}
.credit a:hover{color:#fff;border-color:var(--gold)}
@media (max-width:600px){.f-bot{flex-direction:column;align-items:center;text-align:center;gap:.5rem}}
