/* ============ TOKENS ============ */
:root{
  --sand-50:#faf6f0;
  --sand-100:#f2e9dc;
  --sand-200:#e6d5bd;
  --sand-300:#d6bd97;
  --sand-400:#c4a06d;
  --gold:#c99a5b;
  --gold-light:#e8c592;
  --brown-900:#2b2118;
  --brown-800:#3a2d20;
  --brown-700:#4d3c2b;
  --cream:#fbf8f3;
  --ink:#2b2118;
  --shadow:0 20px 50px -20px rgba(43,33,24,.35);
  --ff-display:'Poppins', sans-serif;
  --ff-body:'Jost', sans-serif;
}

*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  font-family:var(--ff-body);
  color:var(--ink);
  background:var(--cream);
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
body.lock{overflow:hidden;height:100vh;}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
ul{list-style:none;}

h1,h2,h3{font-family:var(--ff-display);font-weight:600;}

.btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:16px 36px;font-size:13px;letter-spacing:.1em;font-weight:600;
  border-radius:999px;transition:all .35s ease;cursor:pointer;border:2px solid transparent;
}
.btn-pill-light{background:var(--sand-50);color:var(--brown-900);border-color:var(--sand-50);}
.btn-pill-light:hover{background:transparent;color:var(--sand-50);}
.btn-pill-dark{background:var(--brown-900);color:var(--sand-50);border-color:var(--brown-900);}
.btn-pill-dark:hover{background:transparent;color:var(--brown-900);}
.btn-solid-block{
  width:100%;background:var(--brown-900);color:var(--sand-50);border:none;border-radius:6px;
  padding:16px;font-size:13px;letter-spacing:.1em;font-weight:600;cursor:pointer;font-family:var(--ff-body);
}

/* ============ PRELOADER ============ */
#preloader{
  position:fixed;inset:0;z-index:9999;
  background:radial-gradient(120% 120% at 50% 30%, var(--brown-700) 0%, var(--brown-900) 70%);
  display:flex;align-items:center;justify-content:center;
  transition:opacity .8s ease, visibility .8s ease;
}
#preloader.hide{opacity:0;visibility:hidden;pointer-events:none;}
.pl-glow{
  position:absolute;width:600px;height:600px;border-radius:50%;
  background:radial-gradient(circle, rgba(201,154,91,.35), transparent 70%);
  filter:blur(10px);
  animation:pl-pulse 3s ease-in-out infinite;
}
@keyframes pl-pulse{0%,100%{transform:scale(1);opacity:.7;}50%{transform:scale(1.15);opacity:1;}}
.pl-content{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:26px;}
.pl-arch{width:120px;height:132px;}
.pl-arch svg{width:100%;height:100%;overflow:visible;}
.pl-arch-line{fill:none;stroke:var(--gold-light);stroke-width:2.2;stroke-linecap:round;
  stroke-dasharray:420;stroke-dashoffset:420;animation:pl-draw 1.6s ease forwards;
  filter:drop-shadow(0 0 6px rgba(232,197,146,.7));}
.pl-wave{fill:none;stroke:var(--gold-light);stroke-width:1.6;stroke-linecap:round;opacity:.8;
  stroke-dasharray:220;stroke-dashoffset:220;animation:pl-draw 1.2s ease .4s forwards;}
.pl-candle-body{fill:var(--sand-100);opacity:0;animation:pl-fade .6s ease .9s forwards;}
.pl-flame path{fill:var(--gold-light);opacity:0;transform-origin:100px 118px;
  animation:pl-flicker 1.4s ease .9s infinite;filter:drop-shadow(0 0 8px rgba(232,197,146,.9));}
@keyframes pl-draw{to{stroke-dashoffset:0;}}
@keyframes pl-fade{to{opacity:1;}}
@keyframes pl-flicker{0%,100%{opacity:.85;transform:scaleY(1) scaleX(1);}50%{opacity:1;transform:scaleY(1.12) scaleX(.95);}}
.pl-word{
  font-family:var(--ff-display);color:var(--sand-50);font-size:24px;letter-spacing:.3em;font-weight:600;
  opacity:0;animation:pl-fade .8s ease 1.1s forwards;
}
.pl-word span{color:var(--gold-light);}
.pl-bar-wrap{width:220px;opacity:0;animation:pl-fade .8s ease 1.3s forwards;}
.pl-bar{width:100%;height:2px;background:rgba(251,248,243,.2);border-radius:2px;overflow:hidden;}
.pl-bar-fill{height:100%;width:0%;background:linear-gradient(90deg,var(--gold),var(--gold-light));transition:width .2s ease;}
.pl-bar-row{display:flex;justify-content:space-between;margin-top:10px;font-size:11px;letter-spacing:.12em;color:var(--sand-200);}

/* ============ MARQUEE ============ */
.marquee-bar{background:var(--sand-100);color:var(--brown-800);overflow:hidden;padding:9px 0;}
.marquee-track{display:flex;gap:14px;white-space:nowrap;width:max-content;animation:marquee 22s linear infinite;font-size:11.5px;letter-spacing:.12em;font-weight:500;}
.marquee-track span{opacity:.9;}
@keyframes marquee{from{transform:translateX(0);}to{transform:translateX(-50%);}}

/* ============ HEADER ============ */
.site-header{
  position:sticky;top:0;z-index:500;background:var(--sand-50);
  border-bottom:1px solid rgba(43,33,24,.08);
}
.nav-row{display:flex;align-items:center;justify-content:space-between;height:90px;gap:20px;padding:0 24px;position:relative;}
.brand{display:flex;align-items:center;position:absolute;left:50%;transform:translateX(-50%);}
.brand-logo{height:60px;display:flex;align-items:center;}
.brand-logo img{height:100%;width:auto;object-fit:contain;}
.header-actions{display:flex;align-items:center;gap:18px;margin-left:auto;}
.icon-btn{background:none;border:none;cursor:pointer;position:relative;color:var(--brown-900);padding:4px;}
.icon-btn svg{width:21px;height:21px;}
.cart-count{position:absolute;top:-6px;right:-8px;background:var(--gold);color:var(--brown-900);
  font-size:10px;font-weight:700;width:16px;height:16px;border-radius:50%;display:flex;align-items:center;justify-content:center;}
.burger{width:26px;height:16px;position:relative;background:none;border:none;cursor:pointer;}
.burger span{position:absolute;left:0;width:100%;height:1.6px;background:var(--brown-900);}
.burger span:nth-child(1){top:0;}
.burger span:nth-child(2){top:7px;}
.burger span:nth-child(3){top:14px;}

/* ============ FULLSCREEN MENU ============ */
.mobile-menu{
  position:fixed;inset:0;background:var(--sand-50);z-index:600;
  transform:translateY(-100%);transition:transform .5s cubic-bezier(.77,0,.18,1);
  display:flex;flex-direction:column;padding:26px 30px;
}
.mobile-menu.open{transform:translateY(0);}
.mm-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:50px;}
.mm-logo img{height:50px;width:auto;}
.mm-close{background:none;border:none;font-size:22px;cursor:pointer;color:var(--brown-900);}
.mm-nav{display:flex;flex-direction:column;gap:6px;}
.mm-link{font-family:var(--ff-display);font-size:30px;font-weight:500;color:var(--brown-900);padding:10px 0;}
.mm-bottom{margin-top:auto;display:flex;flex-direction:column;gap:14px;padding-top:30px;}
.mm-bottom a{font-size:14px;color:var(--brown-700);}

/* ============ HERO ============ */
.hero{position:relative;height:100svh;min-height:560px;display:flex;align-items:flex-end;overflow:hidden;}
.hero-media{position:absolute;inset:0;}
.hero-media video{width:100%;height:100%;object-fit:cover;}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg, rgba(43,33,24,0) 40%, rgba(43,33,24,.6) 100%);}
.hero-content{position:relative;z-index:2;max-width:640px;margin:0 auto;text-align:center;padding:0 24px 70px;color:var(--sand-50);}
.hero h1{font-size:clamp(32px,6vw,58px);line-height:1.08;color:var(--sand-50);font-weight:600;}
.hero-sub{max-width:460px;margin:18px auto 0;font-size:16px;line-height:1.6;color:var(--sand-100);}
.hero-cta{display:flex;flex-direction:column;gap:14px;align-items:center;margin-top:30px;}
.hero-cta .btn{width:280px;}

/* ============ FULL-BLEED POUR VIDEO ============ */
.pour-video{width:100%;aspect-ratio:4/5;max-height:640px;overflow:hidden;}
.pour-video video{width:100%;height:100%;object-fit:cover;}

/* ============ REVEAL ANIMATIONS ============ */
.reveal-up{opacity:0;transform:translateY(46px);transition:opacity .9s cubic-bezier(.16,1,.3,1), transform .9s cubic-bezier(.16,1,.3,1);}
.reveal-left{opacity:0;transform:translateX(-56px);transition:opacity .9s cubic-bezier(.16,1,.3,1), transform .9s cubic-bezier(.16,1,.3,1);}
.reveal-right{opacity:0;transform:translateX(56px);transition:opacity .9s cubic-bezier(.16,1,.3,1), transform .9s cubic-bezier(.16,1,.3,1);}
.reveal-up.in-view, .reveal-left.in-view, .reveal-right.in-view{opacity:1;transform:none;}
.hero-content.reveal-up{transition-delay:.15s;}

/* ============ SECTIONS GENERIC ============ */
.section{padding:70px 24px;}
.section-title{text-align:center;font-size:clamp(26px,4vw,38px);margin-bottom:40px;}
.center-cta{display:flex;justify-content:center;padding:0 24px 70px;}

/* ============ TRENDING PRODUCTS (carousel) ============ */
.products{padding-top:70px;}
.products-title{font-size:clamp(34px,7vw,54px);line-height:1.05;color:var(--brown-900);margin-bottom:36px;padding:0 4px;}
.product-carousel{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:14px;-webkit-overflow-scrolling:touch;}
.product-carousel::-webkit-scrollbar{height:6px;}
.product-carousel::-webkit-scrollbar-thumb{background:var(--sand-300);border-radius:6px;}
.product-card{position:relative;text-align:left;flex:0 0 240px;scroll-snap-align:start;}
.product-img{
  position:relative;overflow:hidden;border-radius:10px;aspect-ratio:4/5;background:var(--sand-200);
}
.product-img img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.16,1,.3,1);}
.product-card:hover .product-img img{transform:scale(1.06);}
.product-card h3{margin-top:16px;font-size:16px;font-weight:500;}
.price{color:var(--brown-700);font-size:13px;margin-top:4px;}
.tag{position:absolute;top:12px;left:12px;z-index:2;background:var(--brown-900);color:var(--sand-100);
  font-size:10px;letter-spacing:.08em;padding:6px 12px;border-radius:999px;font-weight:600;}
.quick-buy{
  position:absolute;left:12px;right:12px;bottom:74px;z-index:2;background:rgba(251,248,243,.95);
  border:none;padding:12px;font-size:11px;letter-spacing:.1em;font-weight:600;cursor:pointer;
  opacity:0;transform:translateY(10px);transition:all .35s ease;color:var(--brown-900);border-radius:999px;
}
.product-card:hover .quick-buy{opacity:1;transform:translateY(0);}

/* ============ VIRAL SLIDER ============ */
.viral{background:var(--sand-100);text-align:center;}
.viral h2{font-size:clamp(24px,4.5vw,36px);color:var(--brown-900);line-height:1.2;}
.viral > p{color:var(--brown-700);margin-top:14px;}
.viral-slider{position:relative;display:flex;align-items:center;gap:14px;margin:40px auto;max-width:800px;}
.viral-track{display:flex;gap:14px;overflow:hidden;flex:1;}
.viral-slide{position:relative;flex:1;min-width:0;border-radius:8px;overflow:hidden;aspect-ratio:4/5;}
.viral-slide img{width:100%;height:100%;object-fit:cover;}
.viral-caption{position:absolute;top:14px;left:14px;right:14px;color:#fff;font-weight:600;font-size:14px;text-shadow:0 2px 6px rgba(0,0,0,.5);}
.viral-arrow{width:38px;height:38px;border-radius:50%;border:none;background:rgba(43,33,24,.15);color:var(--brown-900);font-size:20px;cursor:pointer;flex-shrink:0;}
.viral-arrow:hover{background:var(--brown-900);color:var(--sand-50);}
.viral .btn{margin-top:10px;}

/* ============ QUOTE + BADGES ============ */
.quote{text-align:center;}
.quote-text{font-family:var(--ff-display);font-size:clamp(20px,3.4vw,30px);line-height:1.5;max-width:760px;margin:0 auto;color:var(--brown-900);font-weight:500;}
.badge-slider{display:flex;justify-content:center;gap:26px;flex-wrap:wrap;margin-top:44px;}
.badge-slider span{font-size:12px;letter-spacing:.12em;font-weight:600;color:var(--gold);border:1px solid var(--sand-300);padding:10px 20px;border-radius:999px;}

/* ============ STAT BAND (image bg) ============ */
.stat-band{position:relative;padding:0;height:520px;overflow:hidden;}
.stat-media{position:absolute;inset:0;}
.stat-media img{width:100%;height:100%;object-fit:cover;}
.stat-overlay{
  position:relative;z-index:2;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;color:var(--sand-50);padding:40px;background:linear-gradient(180deg, rgba(43,33,24,.35), rgba(43,33,24,.65));
}
.stat-overlay h2{font-size:clamp(26px,5vw,42px);max-width:680px;}
.stat-overlay p{max-width:560px;margin-top:18px;line-height:1.7;color:var(--sand-100);}

/* ============ EVENTS ============ */
.events-media{width:100%;aspect-ratio:16/10;max-height:520px;overflow:hidden;}
.events-media img{width:100%;height:100%;object-fit:cover;}
.events-text{background:var(--sand-100);text-align:center;}
.events-text h2{font-size:clamp(24px,4.4vw,36px);max-width:700px;margin:0 auto 18px;color:var(--brown-900);}
.events-text p{max-width:600px;margin:0 auto 30px;color:var(--brown-700);line-height:1.7;}

/* ============ COLLECTIONS (circular) ============ */
.collections{text-align:center;}
.collection-row{display:flex;gap:26px;overflow-x:auto;justify-content:flex-start;padding:6px 4px 14px;}
.collection-item{display:flex;flex-direction:column;align-items:center;gap:14px;flex:0 0 auto;}
.collection-circle{
  width:130px;height:130px;border-radius:50%;overflow:hidden;display:block;box-shadow:var(--shadow);
  border:3px solid var(--sand-100);
}
.collection-circle img{width:100%;height:100%;object-fit:cover;}
.collection-item span:last-child{font-size:12px;letter-spacing:.06em;font-weight:600;color:var(--brown-800);max-width:120px;}

/* ============ ABOUT ============ */
.about{text-align:left;background:var(--sand-50);}
.about h2{font-size:clamp(28px,5vw,42px);color:var(--brown-900);margin-bottom:22px;}
.about > p{line-height:1.85;color:var(--brown-700);max-width:640px;margin-bottom:26px;}
.about .btn{margin-bottom:40px;}
.about-carousel{display:flex;gap:16px;overflow-x:auto;}
.about-carousel img{flex:0 0 260px;height:320px;object-fit:cover;border-radius:10px;}

/* ============ SOLUTIONS ============ */
.solutions{background:var(--brown-900);color:var(--sand-100);}
.solution-carousel{display:flex;gap:22px;overflow-x:auto;padding-bottom:10px;}
.solution-card{flex:0 0 280px;}
.solution-card img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:10px;margin-bottom:20px;}
.solution-card h3{font-size:17px;color:var(--sand-50);margin-bottom:14px;line-height:1.4;}
.solution-card p{color:var(--sand-200);line-height:1.7;font-size:14px;margin-bottom:14px;}
.solution-card a{font-size:12px;letter-spacing:.08em;color:var(--gold-light);font-weight:600;text-decoration:underline;text-underline-offset:4px;}
.solutions .center-cta{padding-top:20px;}

/* ============ REVIEWS ============ */
.reviews{background:var(--sand-50);}
.reviews-box{max-width:640px;margin:0 auto;text-align:center;background:var(--cream);border:1px solid var(--sand-200);border-radius:14px;padding:44px 34px;}
.reviews-box h2{font-size:clamp(24px,4vw,32px);margin-bottom:18px;}
.reviews-avg{display:flex;align-items:center;justify-content:center;gap:10px;font-size:15px;}
.reviews-avg .stars{color:var(--gold);letter-spacing:.05em;}
.avg-num{text-decoration:underline;font-weight:600;}
.based-on{color:var(--brown-700);font-size:13px;margin-top:6px;margin-bottom:26px;}
.rating-bars{display:flex;flex-direction:column;gap:8px;margin-bottom:28px;}
.rating-row{display:flex;align-items:center;gap:12px;font-size:12px;}
.rating-row .stars{color:var(--gold);width:90px;text-align:left;flex-shrink:0;letter-spacing:.03em;}
.rating-row .bar{flex:1;height:6px;background:var(--sand-200);border-radius:6px;overflow:hidden;}
.rating-row .bar span{display:block;height:100%;background:var(--brown-900);}
.rating-row .count{width:40px;text-align:right;color:var(--brown-700);flex-shrink:0;}
.reviews-box hr{border:none;border-top:1px solid var(--sand-200);margin:30px 0 24px;}
.photos-label{font-size:14px;color:var(--brown-700);margin-bottom:16px;text-align:left;}
.review-photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;}
.review-photo-grid img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:6px;}

.review-cards{max-width:640px;margin:34px auto 0;display:flex;flex-direction:column;gap:18px;}
.review-card{border:1px solid var(--sand-200);border-radius:10px;padding:24px;position:relative;text-align:left;}
.review-card .stars{color:var(--gold);letter-spacing:.06em;}
.rev-date{position:absolute;top:24px;right:24px;font-size:12px;color:var(--brown-700);}
.review-card p{margin:14px 0 12px;line-height:1.6;font-size:14.5px;color:var(--brown-800);}
.rev-name{font-size:13px;font-weight:600;color:var(--brown-800);}
.rev-name em{font-style:normal;font-weight:400;color:var(--gold);font-size:11.5px;margin-left:8px;}

/* ============ FOOTER ============ */
.site-footer{background:var(--brown-900);color:var(--sand-200);padding:60px 30px 40px;text-align:left;}
.footer-links{display:flex;flex-direction:column;gap:16px;margin-bottom:34px;}
.footer-links a{font-size:16px;color:var(--sand-100);}
.footer-links a:hover{color:var(--gold-light);}
.footer-cta{font-size:15px;color:var(--sand-50);margin-bottom:16px;}
.footer-form{display:flex;border:1px solid rgba(251,248,243,.35);border-radius:999px;padding:6px 6px 6px 20px;align-items:center;margin-bottom:36px;max-width:420px;}
.footer-form input{background:none;border:none;color:var(--sand-50);flex:1;font-size:14px;outline:none;}
.footer-form input::placeholder{color:var(--sand-200);}
.footer-form button{width:34px;height:34px;border-radius:50%;border:none;background:var(--gold-light);color:var(--brown-900);font-size:16px;cursor:pointer;}
.socials{display:flex;gap:14px;margin-bottom:26px;}
.socials a{width:38px;height:38px;border-radius:50%;background:rgba(251,248,243,.08);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;transition:all .3s ease;}
.socials a:hover{background:var(--gold-light);color:var(--brown-900);}
.footer-copy{font-size:12px;color:var(--sand-300);}

/* ============ DESKTOP (≥900px) ============ */
@media (min-width: 900px){
  .hero-cta{flex-direction:row;}
  .hero-cta .btn{width:auto;}
  .pour-video{aspect-ratio:16/7;}
  .product-card{flex:0 0 280px;}
  .products-title{text-align:left;max-width:900px;margin-left:auto;margin-right:auto;padding:0 26px;}
  .product-carousel{max-width:1240px;margin:0 auto;padding-left:26px;padding-right:26px;}
  .about-carousel img{flex:0 0 320px;height:380px;}
  .collection-circle{width:170px;height:170px;}
  .events-media{aspect-ratio:21/9;}
  .review-photo-grid{grid-template-columns:repeat(6,1fr);}
}
@media (min-width: 640px){
  .section{padding:90px 40px;}
}
