:root {
  --ivory:#F5F0E8; --cream:#EDE4D3; --sand:#D4C5A9;
  --bronze:#8B6914; --gold:#C9A84C; --charcoal:#1A1814;
  --warm-black:#0F0E0C; --fog:#928C82; --white:#FAFAF7;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--charcoal);color:var(--ivory);font-family:'DM Sans',sans-serif;font-weight:300;overflow-x:hidden;cursor:auto}

/* CURSOR */
.cursor{width:8px;height:8px;background:var(--gold);border-radius:50%;position:fixed;pointer-events:none;z-index:9999;mix-blend-mode:difference;transform:translate(-50%,-50%)}
.cursor-ring{width:36px;height:36px;border:1px solid rgba(201,168,76,0.5);border-radius:50%;position:fixed;pointer-events:none;z-index:9998;transform:translate(-50%,-50%);transition:width .3s,height .3s,opacity .3s}

/* GRAIN */
body::after{content:'';position:fixed;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.04'/%3E%3C/svg%3E");pointer-events:none;z-index:9990;opacity:.35}

/* FLASH SCREEN */
#flashscreen{position:fixed;inset:0;background:var(--warm-black);z-index:10000;display:flex;align-items:center;justify-content:center;flex-direction:column;overflow:hidden}
.flash-logo{font-family:'Cormorant Garamond',serif;font-size:clamp(48px,8vw,110px);font-weight:300;letter-spacing:.35em;color:var(--ivory);opacity:0;transform:translateY(30px)}
.flash-sub{font-size:11px;letter-spacing:.55em;text-transform:uppercase;color:var(--gold);margin-top:18px;opacity:0}
.flash-line-h{display:none;}
.progress-bar{position:absolute;bottom:60px;left:50%;transform:translateX(-50%);width:200px;height:1px;background:rgba(255,255,255,.1)}
.progress-fill{height:100%;background:var(--gold);width:0}

/* NAVBAR */
nav{position:fixed;top:0;left:0;right:0;z-index:1000;padding:28px 60px;display:flex;align-items:center;justify-content:space-between;transition:background .4s,padding .4s}
nav.scrolled{background:rgba(15,14,12,.92);backdrop-filter:blur(20px);padding:18px 60px;border-bottom:1px solid rgba(201,168,76,.1)}
.nav-logo{font-family:'Cormorant Garamond',serif;font-size:22px;font-weight:400;letter-spacing:.22em;color:var(--ivory);text-decoration:none}
.nav-logo span{color:var(--gold)}
.nav-links{display:flex;gap:44px;list-style:none}
.nav-links a{font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--sand);text-decoration:none;transition:color .3s;position:relative}
.nav-links a::after{content:'';position:absolute;bottom:-3px;left:0;width:0;height:1px;background:var(--gold);transition:width .3s}
.nav-links a:hover{color:var(--ivory)}
.nav-links a:hover::after{width:100%}
.nav-cta{font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--charcoal);background:var(--gold);padding:12px 28px;text-decoration:none;transition:all .3s}
.nav-cta:hover{background:var(--ivory)}

/* HERO */
#hero{height:100vh;position:relative;display:flex;align-items:flex-end;padding-bottom:80px;overflow:hidden}
.hero-bg{position:absolute;inset:0;background:radial-gradient(ellipse at 65% 40%,rgba(139,105,20,.18) 0%,transparent 55%),linear-gradient(to bottom,var(--warm-black) 0%,#1a1510 100%)}
.hero-3d{position:absolute;right:5%;top:50%;transform:translateY(-50%);width:52%;max-width:680px;animation:floatBath 7s ease-in-out infinite}
@keyframes floatBath{0%,100%{transform:translateY(-50%) rotateX(4deg) rotateY(-8deg)}50%{transform:translateY(calc(-50% - 18px)) rotateX(2deg) rotateY(-5deg)}}
.hero-content{position:relative;z-index:2;padding-left:80px;max-width:580px}
.hero-eyebrow{font-size:10px;letter-spacing:.5em;text-transform:uppercase;color:var(--gold);margin-bottom:24px;opacity:0}
.hero-title{font-family:'Cormorant Garamond',serif;font-size:clamp(50px,5.5vw,90px);font-weight:300;line-height:1;color:var(--ivory);margin-bottom:32px}
.hero-title em{font-style:italic;color:var(--gold)}
.hero-title .word{display:inline-block;opacity:0;transform:translateY(45px)}
.hero-desc{font-size:15px;line-height:1.85;color:var(--fog);max-width:400px;margin-bottom:48px;opacity:0;transform:translateY(20px)}
.hero-btns{display:flex;gap:20px;align-items:center;opacity:0;transform:translateY(20px)}
.btn-gold{padding:15px 38px;background:var(--gold);color:var(--warm-black);font-size:11px;letter-spacing:.2em;text-transform:uppercase;text-decoration:none;transition:all .35s;position:relative;overflow:hidden}
.btn-gold::before{content:'';position:absolute;inset:0;background:var(--ivory);transform:translateX(-101%);transition:transform .35s}
.btn-gold:hover::before{transform:translateX(0)}
.btn-gold span{position:relative;z-index:1}
.btn-ghost{padding:15px 38px;border:1px solid rgba(201,168,76,.35);color:var(--ivory);font-size:11px;letter-spacing:.2em;text-transform:uppercase;text-decoration:none;transition:all .35s}
.btn-ghost:hover{border-color:var(--gold);color:var(--gold)}
.scroll-hint{position:absolute;right:60px;bottom:80px;display:flex;flex-direction:column;align-items:center;gap:10px;opacity:0}
.scroll-line{width:1px;height:55px;background:linear-gradient(to bottom,var(--gold),transparent);animation:scrollPulse 2s ease-in-out infinite}
@keyframes scrollPulse{0%,100%{opacity:1;transform:scaleY(1)}50%{opacity:.3;transform:scaleY(.4)}}
.scroll-hint span{font-size:9px;letter-spacing:.4em;text-transform:uppercase;color:var(--fog);writing-mode:vertical-lr}

/* SECTIONS SHARED */
.s-eyebrow{font-size:10px;letter-spacing:.5em;text-transform:uppercase;color:var(--gold);margin-bottom:20px}
.s-title{font-family:'Cormorant Garamond',serif;font-size:clamp(34px,3.8vw,58px);font-weight:300;line-height:1.1;color:var(--ivory);margin-bottom:28px}
.s-title em{font-style:italic;color:var(--gold)}
.s-body{font-size:15px;line-height:1.9;color:var(--fog);margin-bottom:20px}
.deco-line{width:56px;height:1px;background:var(--gold);margin-bottom:28px}
.reveal{opacity:0;transform:translateY(48px)}
.reveal-l{opacity:0;transform:translateX(-48px)}
.reveal-r{opacity:0;transform:translateX(48px)}

/* ABOUT */
#about{padding:150px 80px;overflow:hidden;position:relative}
#about::before{content:'ABOUT';position:absolute;top:80px;right:-50px;font-family:'Cormorant Garamond',serif;font-size:180px;font-weight:300;color:rgba(255,255,255,.018);pointer-events:none}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:110px;align-items:center;max-width:1380px;margin:0 auto}
.about-visual{position:relative}
.about-frame{aspect-ratio:3/4;overflow:hidden;position:relative}
.about-frame-inner{width:100%;height:100%;background:linear-gradient(145deg,#252018 0%,#191510 60%,#0f0e0c 100%);display:flex;align-items:center;justify-content:center}
.about-accent-box{position:absolute;bottom:-28px;right:-28px;width:180px;height:180px;border:1px solid rgba(201,168,76,.25);z-index:-1}
.about-badge{position:absolute;top:28px;left:-28px;background:var(--gold);color:var(--warm-black);padding:22px 20px;text-align:center}
.about-badge .bn{font-family:'Cormorant Garamond',serif;font-size:34px;font-weight:400;display:block;line-height:1}
.about-badge .bl{font-size:9px;letter-spacing:.18em;text-transform:uppercase;display:block;margin-top:4px}
.about-stats{display:flex;gap:44px;margin-top:44px;padding-top:44px;border-top:1px solid rgba(255,255,255,.07)}
.stat-n{font-family:'Cormorant Garamond',serif;font-size:40px;font-weight:300;color:var(--gold);display:block;line-height:1}
.stat-l{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--fog);margin-top:5px;display:block}

/* TESTIMONIALS */
#testimonials{padding:150px 80px;overflow:hidden;position:relative}
#testimonials::before{content:'"';position:absolute;top:50px;left:30px;font-family:'Cormorant Garamond',serif;font-size:380px;color:rgba(201,168,76,.05);line-height:1;pointer-events:none}
.testi-wrap{max-width:960px;margin:70px auto 0;position:relative}
.testi-track{position:relative;min-height:260px}
.testi-item{position:absolute;inset:0;opacity:0;transform:translateX(55px);transition:opacity .75s ease, transform .75s cubic-bezier(.25,.46,.45,.94);pointer-events:none;visibility:hidden;}
.testi-item.on{opacity:1;transform:translateX(0);pointer-events:all;visibility:visible;}
.testi-text{font-family:'Cormorant Garamond',serif;font-size:clamp(22px,2.8vw,36px);font-weight:300;font-style:italic;line-height:1.55;color:var(--ivory);margin-bottom:44px}
.testi-author{display:flex;align-items:center;gap:18px}
.t-line{width:38px;height:1px;background:var(--gold)}
.t-name{font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--sand)}
.t-role{font-size:11px;color:var(--fog);margin-left:3px}
.testi-nav{display:flex;gap:10px;margin-top:52px}
.t-dot{width:22px;height:1px;background:rgba(255,255,255,.18);cursor:pointer;transition:all .35s}
.t-dot.on{background:var(--gold);width:46px}

/* CUSTOMERS */
#customers{padding:70px 0;background:linear-gradient(to bottom,var(--warm-black),var(--charcoal));overflow:hidden}
#customers .eyebrow-center{text-align:center;margin-bottom:44px;padding:0 80px}
.marquee-wrap{overflow:hidden;mask-image:linear-gradient(to right,transparent,#000 12%,#000 88%,transparent)}
.marquee-track{display:flex;gap:70px;align-items:center;animation:marquee 22s linear infinite;white-space:nowrap}
@keyframes marquee{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.cust-name{font-family:'Cormorant Garamond',serif;font-size:19px;font-weight:300;letter-spacing:.2em;color:rgba(255,255,255,.18);text-transform:uppercase;flex-shrink:0;transition:color .3s}
.cust-sep{width:4px;height:4px;background:var(--gold);border-radius:50%;flex-shrink:0;opacity:.35}

/* MISSION & VISION */
#mission{padding:150px 80px;overflow:hidden}
.mv-center{max-width:1380px;margin:0 auto;text-align:center}
.mv-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px;max-width:1380px;margin:70px auto 0}
.mv-card{padding:76px 60px;position:relative;overflow:hidden}
.mv-card.mc{background:linear-gradient(140deg,#1e1b13 0%,#161310 100%)}
.mv-card.vc{background:linear-gradient(140deg,#131318 0%,#0e0e14 100%)}
.mv-card::after{content:'';position:absolute;bottom:0;left:0;width:0;height:1px;background:var(--gold);transition:width 1.2s ease}
.mv-card.iv::after{width:100%}
.mv-icon{width:44px;height:44px;position:relative;margin-bottom:36px}
.mv-icon::before,.mv-icon::after{content:'';position:absolute;background:var(--gold)}
.mv-icon.cross::before{width:1px;height:44px;left:50%;transform:translateX(-50%)}
.mv-icon.cross::after{width:44px;height:1px;top:50%;transform:translateY(-50%)}
.mv-icon.diag::before{width:1px;height:44px;left:50%;transform:translateX(-50%) rotate(45deg)}
.mv-icon.diag::after{width:44px;height:1px;top:50%;transform:translateY(-50%) rotate(45deg)}
.mv-label{font-size:9px;letter-spacing:.5em;text-transform:uppercase;color:var(--gold);margin-bottom:22px}
.mv-title{font-family:'Cormorant Garamond',serif;font-size:38px;font-weight:300;color:var(--ivory);margin-bottom:22px;line-height:1.15}
.mv-body{font-size:15px;line-height:1.9;color:var(--fog)}

/* FOOTER */
footer{background:var(--warm-black);padding:90px 80px 36px;border-top:1px solid rgba(201,168,76,.1)}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:70px;max-width:1380px;margin:0 auto 70px}
.fb-logo{font-family:'Cormorant Garamond',serif;font-size:26px;font-weight:300;letter-spacing:.2em;color:var(--ivory);margin-bottom:22px;display:block}
.fb-logo span{color:var(--gold)}
.fb-p{font-size:14px;line-height:1.8;color:var(--fog);max-width:270px}
.fb-social{display:flex;gap:14px;margin-top:28px}
.s-btn{width:38px;height:38px;border:1px solid rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;font-size:11px;color:var(--fog);text-decoration:none;transition:all .3s}
.s-btn:hover{border-color:var(--gold);color:var(--gold)}
.fc h4{font-size:10px;letter-spacing:.38em;text-transform:uppercase;color:var(--sand);margin-bottom:26px}
.fc ul{list-style:none}
.fc ul li{margin-bottom:13px}
.fc ul a{font-size:13px;color:var(--fog);text-decoration:none;transition:color .3s}
.fc ul a:hover{color:var(--ivory)}
.footer-bot{max-width:1380px;margin:0 auto;padding-top:36px;border-top:1px solid rgba(255,255,255,.055);display:flex;justify-content:space-between;align-items:center}
.footer-bot p{font-size:12px;color:rgba(255,255,255,.2)}

/* Float animation */
.float-anim{animation:floatY 5s ease-in-out infinite}
@keyframes floatY{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}

@media(max-width:1060px){
  nav{padding:22px 28px}nav.scrolled{padding:16px 28px}
  .nav-links{display:none}
  .hero-content{padding-left:28px}
  .hero-3d{width:48%;right:2%}
  #about{padding:100px 28px}.about-grid{grid-template-columns:1fr;gap:60px}
  #products{padding:80px 28px}.prod-grid{grid-template-columns:1fr 1fr}
  #testimonials{padding:100px 28px}
  #mission{padding:100px 28px}.mv-grid{grid-template-columns:1fr}
  footer{padding:70px 28px 28px}.footer-grid{grid-template-columns:1fr 1fr;gap:40px}
}
/* ── LOGO IMAGES ── */
.nav-logo {
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: 'Cormorant Garamond', serif;
  font-size: 22px;
  font-weight: 400;
  letter-spacing: .22em;
  color: var(--ivory);
  text-decoration: none;
}

.nav-logo-img {
  height: 36px;
  width: auto;
  display: block;
  object-fit: contain;
  transition: opacity 0.3s;
}

.nav-logo-img:hover {
  opacity: 0.75;
}

.flash-logo {
  display: flex;
  align-items: center;
  gap: 20px;
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(48px, 8vw, 110px);
  font-weight: 300;
  letter-spacing: .35em;
  color: var(--ivory);
  opacity: 0;
  transform: translateY(30px);
}

.flash-logo-img {
  height: clamp(50px, 7vw, 100px);
  width: auto;
  display: block;
  object-fit: contain;
  filter: brightness(0) invert(1);
}

.fb-logo {
  display: flex;
  align-items: center;
  gap: 12px;
  font-family: 'Cormorant Garamond', serif;
  font-size: 26px;
  font-weight: 300;
  letter-spacing: .2em;
  color: var(--ivory);
  margin-bottom: 22px;
}

.footer-logo-img {
  height: 38px;
  width: auto;
  display: block;
  object-fit: contain;
  filter: brightness(0) invert(1);
}
/* ── DROPDOWN MENU ── */
.nav-dropdown {
  position: relative;
}
.nav-dropdown .dropdown-menu {
  display: none;
  position: absolute;
  top: calc(100% + 16px);
  left: 50%;
  transform: translateX(-50%);
  background: rgba(15,14,12,0.97);
  backdrop-filter: blur(20px);
  border: 1px solid rgba(201,168,76,0.15);
  border-top: 2px solid var(--gold);
  list-style: none;
  min-width: 200px;
  padding: 8px 0;
  z-index: 999;
}
.nav-dropdown:hover .dropdown-menu {
  display: block;
  animation: fadeDropdown 0.3s ease;
}
@keyframes fadeDropdown {
  from { opacity:0; transform: translateX(-50%) translateY(-8px); }
  to   { opacity:1; transform: translateX(-50%) translateY(0); }
}
.dropdown-menu li a {
  display: block;
  padding: 11px 24px;
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--fog);
  text-decoration: none;
  transition: all 0.25s;
  border-bottom: 1px solid rgba(255,255,255,0.04);
}
.dropdown-menu li:last-child a {
  border-bottom: none;
}
.dropdown-menu li a:hover {
  color: var(--gold);
  padding-left: 32px;
  background: rgba(201,168,76,0.05);
}

/* ── CART ICON ── */
.nav-cart {
  font-size: 18px;
  color: var(--ivory);
  text-decoration: none;
  transition: all 0.3s;
  position: relative;
  margin-left: 16px;
}
.nav-cart:hover {
  color: var(--gold);
  transform: scale(1.1);
}
/* ── REAL IMAGES ── */

/* Hero real image */
.hero-real-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  border-radius: 2px;
  filter: drop-shadow(0 30px 70px rgba(201,168,76,0.28));
}

/* About real image */
.about-real-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

/* Collection card real image */
.col-card-img {
  width: 100%;
  aspect-ratio: 4/3;
  overflow: hidden;
  position: relative;
}

.col-real-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  transition: transform 0.7s cubic-bezier(0.25,0.46,0.45,0.94);
}

.col-card:hover .col-real-img {
  transform: scale(1.07);
}

/* Remove old svg-wrap padding */
.svg-wrap {
  padding: 0 !important;
}
