:root{--cream:#FFFAF7;--gold:#DDBF89;--gold-mid:#B59677;--gold-dark:#8a6832;--burg-deep:#391010;--burg:#800020;--ink:#0e0505;--muted:#7a5050}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--ink);color:var(--cream);font-family:'Libre Baskerville',serif;overflow-x:hidden;cursor:none}
#cur{position:fixed;width:8px;height:8px;background:var(--gold);border-radius:50%;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);mix-blend-mode:difference;transition:width .3s,height .3s}
#cur-ring{position:fixed;width:42px;height:42px;border:1px solid rgba(221,191,137,.35);border-radius:50%;pointer-events:none;z-index:9998;transform:translate(-50%,-50%);transition:border-color .3s}
body.hov #cur{width:56px;height:56px;background:transparent;border:1px solid var(--gold)}
body.hov #cur-ring{opacity:0}

/* LOADER */
#loader{position:fixed;inset:0;background:var(--ink);z-index:10000;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2rem;transition:opacity .8s,visibility .8s}
#loader.gone{opacity:0;visibility:hidden}
.ld-logo{font-family:'Playfair Display',serif;font-size:3rem;letter-spacing:.5em;color:var(--gold);text-transform:uppercase;animation:fadeUp .9s .2s both}
.ld-bar{width:200px;height:1px;background:rgba(221,191,137,.12);overflow:hidden}
.ld-fill{height:100%;background:var(--gold);width:0;animation:fillBar 1.8s .4s ease both}
.ld-sub{font-size:.62rem;letter-spacing:.35em;text-transform:uppercase;color:var(--gold-mid);animation:fadeUp .6s .8s both}
@keyframes fadeUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes fillBar{to{width:100%}}

/* PARTICLES */
#pts{position:fixed;inset:0;z-index:0;pointer-events:none}

/* NAV */
nav{position:fixed;top:0;left:0;right:0;z-index:500;padding:2rem 5rem;display:flex;align-items:center;justify-content:space-between;transition:all .6s}
nav.sc{background:rgba(217,202,189,.92);padding:1.1rem 5rem;backdrop-filter:blur(18px);border-bottom:1px solid rgba(181,150,119,.15)}
nav.sc .n-logo,
nav.sc .n-links a,
nav.sc .n-whatsapp{color:#3e2d24}
nav.sc .menu-toggle span{background:#3e2d24}
.n-logo{font-family:'Playfair Display',serif;font-size:1.45rem;letter-spacing:.48em;color:var(--burg-deep);text-decoration:none;text-transform:uppercase;position:relative}
.n-logo::after{content:'Est. 2026';position:absolute;bottom:-10px;left:50%;transform:translateX(-50%);font-size:.4rem;letter-spacing:.38em;color:rgba(128,0,32,.35);white-space:nowrap}
.n-links{display:flex;gap:3rem;list-style:none}
.n-links a{color:rgba(95,20,28,.92);text-decoration:none;font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;transition:color .3s;position:relative}
.n-links a::after{content:'';position:absolute;bottom:-3px;left:0;right:0;height:1px;background:var(--burg);transform:scaleX(0);transform-origin:right;transition:transform .4s}
.n-links a:hover{color:var(--burg)}
.n-links a:hover::after{transform:scaleX(1);transform-origin:left}
.n-btn{border:1px solid rgba(128,0,32,.3);color:var(--burg-deep);padding:.65rem 1.7rem;font-family:'Libre Baskerville',serif;font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;cursor:none;transition:all .35s;text-decoration:none;background:transparent}
.n-btn:hover{background:var(--burg);color:var(--cream);border-color:var(--burg)}
.n-whatsapp{display:inline-flex;align-items:center;justify-content:center;color:#391010;text-decoration:none;transition:color .3s;cursor:none;background:transparent;border:none;padding:0}
.n-whatsapp:hover{color:#6d141d}
.n-whatsapp svg{display:block;width:20px;height:20px}
.menu-toggle{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer}
.menu-toggle span{display:block;width:25px;height:3px;background:var(--cream)}
.cart-icon-btn{background:none;border:none;color:var(--burg-deep);padding:0;display:inline-flex;align-items:center;justify-content:center;cursor:none;transition:color .3s}
.cart-icon-btn:hover{color:var(--burg)}

/* FOOTER */
footer{background:var(--ink);border-top:1px solid rgba(221,191,137,.05);padding:6rem 5rem 2.5rem}
.ft-top{display:grid;grid-template-columns:1.8fr 1fr 1fr 1fr;gap:5rem;padding-bottom:4rem;border-bottom:1px solid rgba(221,191,137,.05)}
.ft-brand{font-family:'Playfair Display',serif;font-size:2.1rem;letter-spacing:.42em;color:var(--gold);text-transform:uppercase;margin-bottom:.35rem}
.ft-brand-sub{font-size:.52rem;letter-spacing:.4em;text-transform:uppercase;color:rgba(221,191,137,.28);margin-bottom:1.4rem}
.ft-about{font-family:'Cormorant Garamond',serif;font-size:.92rem;color:rgba(255,250,247,.22);line-height:1.8;max-width:255px}
.ft-col-ttl{font-size:.56rem;letter-spacing:.35em;text-transform:uppercase;color:var(--gold-mid);margin-bottom:1.4rem}
.ft-links{list-style:none}
.ft-links li{margin-bottom:.55rem}
.ft-links a{font-family:'Cormorant Garamond',serif;font-size:.92rem;color:rgba(255,250,247,.28);text-decoration:none;transition:color .3s}
.ft-links a:hover{color:var(--gold)}
.ft-bot{display:flex;justify-content:space-between;align-items:center;padding-top:2rem}
.ft-copy{font-size:.58rem;letter-spacing:.14em;color:rgba(255,250,247,.14);text-transform:uppercase}
.ft-socs{display:flex;gap:.75rem}
.ft-soc{width:40px;height:40px;border:1px solid rgba(221,191,137,.1);border-radius:50%;display:flex;align-items:center;justify-content:center;color:rgba(221,191,137,.35);text-decoration:none;font-size:.58rem;transition:all .3s}
.ft-soc:hover{border-color:var(--gold);color:var(--gold);background:rgba(221,191,137,.05)}
.ft-soc svg{width:16px;height:16px;display:block}

/* REVEAL */
.rv{opacity:0;transform:translateY(32px);transition:opacity .9s ease,transform .9s ease}
.rv.in{opacity:1;transform:none}
.rv-l{opacity:0;transform:translateX(-28px);transition:opacity .9s,transform .9s}
.rv-l.in{opacity:1;transform:none}
.rv-r{opacity:0;transform:translateX(28px);transition:opacity .9s,transform .9s}
.rv-r.in{opacity:1;transform:none}
.d1{transition-delay:.1s}.d2{transition-delay:.2s}.d3{transition-delay:.3s}.d4{transition-delay:.4s}.d5{transition-delay:.5s}

/* ─── SCROLL PROGRESS ─── */
#scroll-prog{position:fixed;top:0;left:0;height:2px;background:linear-gradient(to right,var(--burg),var(--gold));z-index:9997;width:0%;transition:width .1s linear}



/* ─── V2 NAV MERGE OVERRIDES ─── */
nav{background:transparent}
nav.sc{background:rgba(217,202,189,.92);padding:1.1rem 5rem;backdrop-filter:blur(18px);border-bottom:1px solid rgba(181,150,119,.15)}
.n-logo{font-size:1.15rem;letter-spacing:.5em}
.n-logo span{letter-spacing:.55em}
.n-logo::after{display:none}
.n-right{display:flex;align-items:center;gap:1.4rem}
.n-wa{color:#391010;text-decoration:none;transition:color .3s;display:flex;align-items:center}
.n-wa:hover{color:var(--burg)}
.cart-trigger-nav{position:relative;background:none;border:none;color:#391010;display:flex;align-items:center;transition:color .3s;padding:0;cursor:none}
.cart-trigger-nav:hover{color:var(--burg)}
.cart-badge{position:absolute;top:-6px;right:-8px;width:15px;height:15px;background:var(--burg);border-radius:50%;font-size:.44rem;font-family:'Libre Baskerville',serif;display:flex;align-items:center;justify-content:center;color:var(--cream);opacity:0;transform:scale(0);transition:all .3s}
.cart-badge.show{opacity:1;transform:scale(1)}
.menu-toggle{gap:5px;padding:4px}
.menu-toggle span{width:20px;height:1.5px;background:var(--cream);transition:all .3s}
nav.sc .n-logo,nav.sc .n-links a,nav.sc .n-wa,nav.sc .cart-trigger-nav{color:#3e2d24}
.mob-menu{position:fixed;inset:0;z-index:490;background:var(--ink);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2.5rem;transform:translateY(-100%);opacity:0;transition:transform .6s,opacity .4s;pointer-events:none}
.mob-menu.open{transform:none;opacity:1;pointer-events:all}
.mob-link{font-family:'Playfair Display',serif;font-size:2.5rem;font-style:italic;color:var(--cream);text-decoration:none;letter-spacing:.05em;transition:color .3s}
.mob-link:hover{color:var(--gold)}
.mob-footer{font-size:.52rem;letter-spacing:.4em;color:var(--gold-mid);text-transform:uppercase}
