/* ══ THEME VARIABLES ══════════════════════════════════ */
:root,
[data-theme="dark"] {
  --noir:      #0C0B08;
  --ombre:     #1E1A12;
  --gold:      #A8945E;
  --champagne: #D4C49A;
  --ivory:     #FAF8F3;
  --muted:     #8A8070;   /* WCAG AA: 5.05:1 against --noir (was #6a6050 = 3.2:1, failed AA) */
  --border:    #2a2418;
  --danger:    #8b3a3a;
  --panel-bg:  #16130D;
  --input-bg:  #0C0B08;
  --card-bg:   #1E1A12;
  --noise-op:  0.5;
  --overlay-bg: rgba(12,11,8,0.85);
  --search-bg: rgba(12,11,8,0.97);
  --cart-bg:   #1E1A12;
  --shadow:    rgba(0,0,0,0.4);
  --theme-transition: background .35s ease, color .35s ease, border-color .35s ease;
}

.story-sig-logo{height:64px;width:auto;object-fit:contain;opacity:0.85;transition:filter .35s ease;}
[data-theme="light"] .story-sig-logo{filter:brightness(0);opacity:0.75;}
[data-theme="light"] {
  --noir:      #F8F5F0;
  --ombre:     #EDE8E0;
  --gold:      #8A6E2A;
  --champagne: #6B5518;
  --ivory:     #3D3833;
  --muted:     #6F6357;   /* WCAG AA: 5.39:1 against --noir light bg (was #9A8E82 = 2.9:1, failed AA) */
  --border:    #D8D0C4;
  --danger:    #b03a3a;
  --panel-bg:  #F0EBE3;
  --input-bg:  #F8F5F0;
  --card-bg:   #EDE8E0;
  --noise-op:  0.25;
  --overlay-bg: rgba(232,226,216,0.92);
  --search-bg: rgba(248,245,240,0.97);
  --cart-bg:   #EDE8E0;
  --shadow:    rgba(100,80,50,0.15);
  --theme-transition: background .35s ease, color .35s ease, border-color .35s ease;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{background:var(--noir);color:var(--ivory);font-family:'Montserrat',sans-serif;font-weight:400;overflow-x:hidden;cursor:none;transition:var(--theme-transition);}

/* CURSOR */
.cursor{position:fixed;width:8px;height:8px;background:var(--gold);border-radius:50%;pointer-events:none;z-index:999999;transform:translate(-50%,-50%);transition:width .2s,height .2s,background .2s;}
.cursor-ring{position:fixed;width:32px;height:32px;border:1px solid var(--champagne);border-radius:50%;pointer-events:none;z-index:999998;transform:translate(-50%,-50%);transition:all .12s ease;opacity:.6;}
body:has(a:hover) .cursor,.cursor.hover{width:16px;height:16px;background:var(--champagne);}
body:has(button:hover) .cursor{width:20px;height:20px;}
input,textarea,select{cursor:text;}select{cursor:pointer;}
@keyframes skeletonPulse{0%,100%{opacity:.3;}50%{opacity:.6;}}
@media(max-width:768px){.cursor,.cursor-ring{display:none;}body{cursor:auto;}}

/* GRAIN */
body::before{content:'';position:fixed;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' 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:9000;opacity:var(--noise-op);transition:opacity .35s;}

/* ══════════════════════════════════════
   NAV — DESKTOP
══════════════════════════════════════ */
nav {
  position:fixed;top:0;left:0;right:0;z-index:1000;
  padding:24px 48px;
  padding-top:max(24px, env(safe-area-inset-top));
  display:flex;align-items:center;justify-content:space-between;
  background:linear-gradient(to bottom,color-mix(in srgb,var(--noir) 95%,transparent),transparent);
  transition: transform .35s cubic-bezier(.4,0,.2,1), padding .3s, background .3s, border-color .3s;
}
nav.scrolled {
  padding: 16px 48px;
  padding-top:max(16px, env(safe-area-inset-top));
  background: var(--noir);
  border-bottom: 1px solid var(--border);
  backdrop-filter: blur(12px);
}
.nav-brand{font-family:'Cormorant Garamond',serif;font-size:22px;font-weight:400;letter-spacing:4px;color:var(--ivory);text-decoration:none;cursor:none;}
.nav-brand span{color:var(--gold);}
.nav-sub{font-family:'DM Sans',sans-serif;font-size:7px;letter-spacing:6px;color:var(--muted);text-transform:uppercase;display:block;text-align:center;font-weight:400;}

/* Desktop links */
.nav-links{display:flex;gap:36px;align-items:center;}
.nav-links a{font-size:11px;letter-spacing:3px;text-transform:uppercase;color:var(--muted);text-decoration:none;transition:color .2s;cursor:none;}
.nav-links a:hover{color:var(--champagne);}

/* Desktop cart */
.nav-cart{position:relative;font-size:11px;letter-spacing:3px;text-transform:uppercase;color:var(--champagne);background:transparent;border:1px solid var(--border);padding:10px 20px;cursor:none;transition:all .25s;}
.nav-cart:hover{background:var(--gold);color:var(--noir);border-color:var(--gold);}
.cart-badge{position:absolute;top:-6px;right:-6px;background:var(--gold);color:var(--noir);border-radius:50%;width:16px;height:16px;font-size:10px;display:none;align-items:center;justify-content:center;font-weight:600;}

/* ══════════════════════════════════════
   MOBILE NAV
══════════════════════════════════════ */
.nav-right { display:flex; align-items:center; gap:16px; }

/* Hamburger */
.hamburger {
  display: none;
  flex-direction: column;
  justify-content: center;
  align-items: flex-end;
  gap: 5px;
  width: 40px;
  height: 40px;
  background: transparent;
  border: 1px solid var(--border);
  padding: 10px;
  cursor: pointer;
  z-index: 1100;
  flex-shrink: 0;
  transition: border-color .2s;
}
.hamburger:hover { border-color: var(--gold); }
.hamburger .bar {
  display: block;
  height: 1px;
  background: var(--champagne);
  transition: all .35s cubic-bezier(.77,0,.18,1);
  transform-origin: right center;
}
.hamburger .bar:nth-child(1) { width: 20px; }
.hamburger .bar:nth-child(2) { width: 14px; }
.hamburger .bar:nth-child(3) { width: 18px; }
.hamburger.open .bar:nth-child(1) { width: 20px; transform: rotate(-45deg) translate(1px, 0); }
.hamburger.open .bar:nth-child(2) { width: 0; opacity: 0; }
.hamburger.open .bar:nth-child(3) { width: 20px; transform: rotate(45deg) translate(1px, 0); }

/* Mobile cart icon (inside hamburger area) */
.mob-cart-btn {
  display: none;
  position: relative;
  background: transparent;
  border: 1px solid var(--border);
  width: 40px;
  height: 40px;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: border-color .2s;
  flex-shrink: 0;
}
.mob-cart-btn:hover { border-color: var(--gold); }
nav.nav--hidden { transform: translateY(-110%); }
.mob-cart-icon { font-size: 14px; color: var(--champagne); display:flex;align-items:center;justify-content:center; }
.mob-cart-badge {
  position: absolute; top: -5px; right: -5px;
  background: var(--gold); color: var(--noir);
  border-radius: 50%; width: 14px; height: 14px;
  font-size: 7px; display: none;
  align-items: center; justify-content: center;
  font-weight: 600;
}

/* ══════════════════════════════════════
   MOBILE MENU OVERLAY
══════════════════════════════════════ */
.mobile-menu {
  position: fixed;
  inset: 0;
  z-index: 1050;
  background: var(--noir);
  display: flex;
  flex-direction: column;
  padding: 0;
  transform: translateX(100%);
  transition: transform .5s cubic-bezier(.77,0,.18,1);
  overflow: hidden;
}
.mobile-menu.open { transform: translateX(0); }

/* Grain on menu too */
.mobile-menu::before {
  content:'';position:absolute;inset:0;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' 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:0;opacity:.6;
}

.mm-header {
  padding: 24px 28px;
  border-bottom: 1px solid var(--border);
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative; z-index: 1;
}
.mm-brand {
  font-family: 'Cormorant Garamond', serif;
  font-size: 20px; letter-spacing: 4px; color: var(--ivory);
}
.mm-brand em { color: var(--gold); font-style: normal; }
.mm-close {
  background: transparent; border: 1px solid var(--border);
  color: var(--muted); width: 36px; height: 36px;
  font-size: 14px; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  transition: all .2s;
}
.mm-close:hover { border-color: var(--gold); color: var(--gold); }

.mm-links {
  flex: 1;
  padding: 40px 28px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 0;
  position: relative; z-index: 1;
}
.mm-link {
  display: block;
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(36px, 8vw, 52px);
  font-weight: 300;
  color: var(--muted);
  text-decoration: none;
  padding: 16px 0;
  border-bottom: 1px solid var(--border);
  cursor: pointer;
  transition: color .25s, padding-left .25s;
  letter-spacing: 1px;
  opacity: 0;
  transform: translateX(40px);
  transition: opacity .4s, transform .4s, color .2s, padding-left .2s;
}
.mm-link:first-child { border-top: 1px solid var(--border); }
.mm-link em { font-style: italic; color: var(--champagne); }
.mm-link:hover { color: var(--ivory); padding-left: 12px; }

.mobile-menu.open .mm-link:nth-child(1) { opacity:1; transform:translateX(0); transition-delay: .15s; }
.mobile-menu.open .mm-link:nth-child(2) { opacity:1; transform:translateX(0); transition-delay: .22s; }
.mobile-menu.open .mm-link:nth-child(3) { opacity:1; transform:translateX(0); transition-delay: .29s; }
.mobile-menu.open .mm-link:nth-child(4) { opacity:1; transform:translateX(0); transition-delay: .36s; }

.mm-footer {
  padding: 28px;
  border-top: 1px solid var(--border);
  position: relative; z-index: 1;
  opacity: 0;
  transform: translateY(16px);
  transition: opacity .4s .45s, transform .4s .45s;
}
.mobile-menu.open .mm-footer { opacity: 1; transform: translateY(0); }

.mm-cart-btn {
  width: 100%;
  background: var(--gold);
  border: 1px solid var(--gold);
  color: var(--noir);
  font-family: 'Montserrat', sans-serif;
  font-size: 10px; letter-spacing: 4px; text-transform: uppercase;
  padding: 18px;
  cursor: pointer;
  transition: all .3s;
  display: flex; align-items: center; justify-content: center; gap: 12px;
}
.mm-cart-btn:hover { background: var(--champagne); border-color: var(--champagne); }
.mm-social { display: flex; gap: 12px; margin-top: 20px; }
.mm-tagline { font-family:'DM Sans',sans-serif; font-size:11px; letter-spacing:5px; color:var(--muted); text-transform:uppercase; margin-top:16px; font-weight:400; }

/* ══════════════════════════════════════
   RESPONSIVE BREAKPOINTS
══════════════════════════════════════ */
@media(max-width:768px) {
  nav { padding: 18px 20px; padding-top:max(18px, env(safe-area-inset-top)); }
  nav.scrolled { padding: 14px 20px; padding-top:max(14px, env(safe-area-inset-top)); }
  .nav-links { display: none; }
  .nav-cart { display: none; }
  .hamburger { display: flex; }
  .mob-cart-btn { display: flex; }
}

/* PAGES */

.sr-wrap{max-width:800px;margin:0 auto;padding:120px 48px 80px;}
.sr-eyebrow{font-size:10px;letter-spacing:5px;color:var(--gold);text-transform:uppercase;margin-bottom:16px;}
.sr-title{font-family:'Cormorant Garamond',serif;font-size:clamp(36px,5vw,58px);font-weight:300;color:var(--ivory);line-height:1.1;margin-bottom:48px;}
.sr-title em{font-style:italic;color:var(--champagne);}
.sr-block{border-top:1px solid var(--border);padding:40px 0;}
.sr-block:last-child{border-bottom:1px solid var(--border);}
.sr-block-icon{font-size:24px;margin-bottom:16px;display:block;}
.sr-block-label{font-size:10px;letter-spacing:4px;color:var(--gold);text-transform:uppercase;margin-bottom:12px;}
.sr-block-title{font-family:'Cormorant Garamond',serif;font-size:26px;font-weight:300;color:var(--ivory);margin-bottom:16px;}
.sr-block-text{font-size:15px;color:var(--muted);line-height:1.85;}
.sr-block-text strong{color:var(--ivory);font-weight:400;}
.sr-note{margin-top:48px;padding:24px 32px;border:1px solid var(--border);background:var(--ombre);}
.sr-note-label{font-size:7px;letter-spacing:4px;color:var(--gold);text-transform:uppercase;margin-bottom:10px;}
.sr-note-text{font-family:'Cormorant Garamond',serif;font-size:16px;color:var(--muted);font-style:italic;line-height:1.8;}
@media(max-width:768px){.sr-wrap{padding:100px 24px 60px;}}

.page{display:none;min-height:100vh;}
.page.active{display:block;}

/* ══════════════════════════════════════
   HOME PAGE
══════════════════════════════════════ */
#home{position:relative;overflow:hidden;}

/* HERO */
.hero{height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;}
#hero-canvas{position:absolute;inset:0;z-index:1;}
.hero-vignette{position:absolute;inset:0;z-index:1;background:radial-gradient(ellipse 55% 55% at 50% 58%, transparent 20%, color-mix(in srgb, var(--noir) 30%, transparent) 60%, color-mix(in srgb, var(--noir) 82%, transparent) 100%);pointer-events:none;transition:background .35s;}
@media(max-width:768px){.hero-vignette{background:radial-gradient(ellipse 70% 50% at 50% 52%, transparent 25%, color-mix(in srgb, var(--noir) 25%, transparent) 60%, color-mix(in srgb, var(--noir) 80%, transparent) 100%);}}
.hero-content{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:2;text-align:center;pointer-events:none;}
@media(max-width:768px){.hero-content{top:46%;}}
.hero-eyebrow{font-size:11px;letter-spacing:8px;color:var(--gold);text-transform:uppercase;margin-bottom:24px;opacity:0;animation:fadeUp .8s .5s forwards;}
.hero-title{font-family:'Cormorant Garamond',serif;font-size:clamp(56px,10vw,120px);font-weight:300;line-height:.95;letter-spacing:-1px;opacity:0;animation:fadeUp 1s .7s forwards;}
.hero-logo-wrap{display:flex;flex-direction:column;align-items:center;gap:0px;opacity:0;animation:fadeUp 1s .7s forwards;position:relative;}
.hero-logo-wrap::before{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-55%);width:clamp(120px,18vw,200px);height:clamp(120px,18vw,200px);border-radius:50%;background:radial-gradient(circle,rgba(168,148,94,.18) 0%,rgba(168,148,94,.06) 40%,transparent 70%);animation:logoBreath 4s ease-in-out infinite;pointer-events:none;z-index:-1;}
[data-theme="light"] .hero-logo-wrap::before{width:clamp(140px,20vw,220px);height:clamp(140px,20vw,220px);background:radial-gradient(circle,rgba(255,255,255,.5) 0%,rgba(255,255,255,.25) 35%,rgba(255,255,255,.08) 60%,transparent 80%);}
@keyframes logoBreath{0%,100%{opacity:.5;transform:translate(-50%,-55%) scale(1);}50%{opacity:1;transform:translate(-50%,-55%) scale(1.15);}}
.hero-logo{width:clamp(200px,28vw,360px);height:auto;display:block;filter:drop-shadow(0 0 60px rgba(168,148,94,.4)) drop-shadow(0 0 120px rgba(168,148,94,.2)) drop-shadow(0 0 20px rgba(250,248,243,.15));}
.hero-maison-sub{font-family:'DM Sans',sans-serif;font-size:clamp(7px,1vw,10px);letter-spacing:clamp(4px,0.8vw,8px);color:var(--muted);text-transform:uppercase;margin-top:-8px;font-weight:400;white-space:nowrap;text-align:center;transform:translateX(6px);}
@media(max-width:480px){.hero-logo{width:clamp(160px,50vw,220px);}.hero-maison-sub{font-size:6px;letter-spacing:4px;margin-top:-6px;}}
[data-theme="light"] .hero-logo{filter:invert(1) drop-shadow(0 0 60px rgba(168,148,94,.5)) drop-shadow(0 0 120px rgba(168,148,94,.25)) drop-shadow(0 0 20px rgba(250,248,243,.2));}
[data-theme="light"] .nav-brand img,
[data-theme="light"] .footer-brand-name img,
[data-theme="light"] .mm-brand img { filter: invert(1); }
.hero-title em{font-style:italic;color:var(--champagne);}
.pd-pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:32px;padding-top:36px;border-top:1px solid var(--border);}
.pd-pillar{display:flex;flex-direction:column;align-items:center;text-align:center;padding:8px 10px 12px;background:transparent;border:none;}
.pd-pillar-icon{font-size:38px;line-height:1;margin-bottom:16px;display:flex;align-items:center;justify-content:center;height:48px;}
.pd-pillar-title{font-size:11px;letter-spacing:3px;color:var(--gold);text-transform:uppercase;margin-bottom:8px;font-weight:500;}
.pd-pillar-sub{font-family:'Cormorant Garamond',serif;font-size:15px;color:var(--muted);line-height:1.55;font-style:italic;max-width:180px;margin:0 auto;}
@media(max-width:600px){.pd-pillars{grid-template-columns:1fr 1fr;gap:16px;}.pd-pillar-icon{font-size:34px;}}
@media(max-width:380px){.pd-pillars{grid-template-columns:1fr;}.pd-pillar-sub{max-width:240px;}}
.page-back-btn{display:inline-flex;align-items:center;gap:8px;font-size:10px;letter-spacing:3px;color:var(--muted);text-transform:uppercase;cursor:pointer;border:none;background:transparent;padding:0;margin-bottom:32px;transition:color .2s;}
.page-back-btn:hover{color:var(--champagne);}
.hero-maison{font-size:11px;letter-spacing:10px;color:var(--muted);text-transform:uppercase;margin-top:16px;opacity:0;animation:fadeUp .8s .9s forwards;}
@media(max-width:480px){.hero-maison{letter-spacing:4px;font-size:10px;padding:0 20px;}}
.hero-scroll{position:absolute;bottom:40px;left:50%;transform:translateX(-50%);z-index:2;display:flex;flex-direction:column;align-items:center;gap:12px;cursor:pointer;pointer-events:all;}
.hero-scroll span{font-size:10px;letter-spacing:4px;color:var(--muted);text-transform:uppercase;}
.scroll-chevron{width:24px;height:24px;border-right:1.5px solid var(--gold);border-bottom:1.5px solid var(--gold);transform:rotate(45deg);animation:chevronBob 2s ease-in-out infinite;opacity:.7;}
@keyframes chevronBob{0%,100%{transform:rotate(45deg) translate(0,0);opacity:.5;}50%{transform:rotate(45deg) translate(3px,3px);opacity:1;}}

/* FEATURED PRODUCT SECTION */
.featured{padding:120px 80px;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;max-width:1400px;margin:0 auto;}
@media(max-width:900px){.featured{grid-template-columns:1fr;padding:80px 32px;gap:48px;}}
@media(max-width:480px){.featured{padding:60px 20px;gap:40px;}}

.featured-3d{position:relative;height:500px;}
#bottle-canvas{width:100%;height:100%;display:block;}
.featured-glow{position:absolute;inset:0;background:radial-gradient(ellipse 60% 60% at 50% 60%,rgba(168,148,94,.15),transparent);pointer-events:none;}

.featured-info{padding:24px 0;}
.fi-label{font-size:11px;letter-spacing:5px;color:var(--gold);text-transform:uppercase;margin-bottom:20px;}
.fi-title{font-family:'Cormorant Garamond',serif;font-size:clamp(36px,5vw,56px);font-weight:300;line-height:1.1;margin-bottom:24px;}
.fi-title em{font-style:italic;color:var(--champagne);}
.fi-desc{font-size:12px;color:var(--muted);line-height:2.2;margin-bottom:32px;max-width:420px;}
.fi-notes{display:flex;gap:24px;margin-bottom:40px;}
.note-item{text-align:center;display:flex;flex-direction:column;align-items:center;gap:4px;flex:1;min-width:0;}
.note-icon{font-size:18px;line-height:1;}
.note-label{font-size:10px;letter-spacing:3px;color:var(--champagne);text-transform:uppercase;}
.note-name{font-family:'Cormorant Garamond',serif;font-size:14px;color:var(--ivory);word-wrap:break-word;overflow-wrap:break-word;}
@media(max-width:480px){.note-name{font-size:12px;}.note-label{font-size:7px;letter-spacing:2px;}.fi-notes{gap:12px;}}
.fi-price{font-family:'Montserrat',sans-serif;font-weight:400;font-variant-numeric:tabular-nums lining-nums;letter-spacing:.02em;font-size:28px;color:var(--ivory);margin-bottom:32px;}
.fi-price span{font-size:13px;color:var(--muted);font-family:'Montserrat',sans-serif;font-weight:400;margin-left:8px;}

.btn-primary{background:transparent;border:1px solid var(--gold);color:var(--gold);font-family:'Montserrat',sans-serif;font-size:10px;letter-spacing:4px;text-transform:uppercase;padding:18px 48px;cursor:none;transition:all .3s;position:relative;overflow:hidden;}
.btn-primary::before{content:'';position:absolute;inset:0;background:var(--gold);transform:translateX(-101%);transition:transform .3s ease;}
.btn-primary:hover::before{transform:translateX(0);}
.btn-primary span{position:relative;z-index:1;}
.btn-primary:hover span{color:var(--noir);}
@media(max-width:768px){.btn-primary{cursor:pointer;}}

/* CAROUSEL SECTION */
.carousel-section{padding:80px 0 120px;overflow:hidden;}
.cs-header{text-align:center;padding:0 32px;margin-bottom:64px;}
.cs-label{font-size:11px;letter-spacing:6px;color:var(--gold);text-transform:uppercase;margin-bottom:16px;}
.cs-title{font-family:'Cormorant Garamond',serif;font-size:clamp(32px,5vw,52px);font-weight:300;}
.cs-title em{font-style:italic;color:var(--champagne);}

.carousel-track-wrap{position:relative;overflow:hidden;}
.carousel-track{display:flex;gap:24px;padding:0 48px;transition:transform .7s cubic-bezier(.22,.61,.36,1);align-items:stretch;}
.carousel-card:last-of-type{margin-right:48px;}
@media(max-width:768px){
  .carousel-track-wrap{overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none;scroll-snap-type:x mandatory;scroll-behavior:smooth;}
  .carousel-track-wrap::-webkit-scrollbar{display:none;}
  .carousel-track{padding:0;gap:16px;transition:none;}
  .carousel-card:first-of-type{margin-left:48px;}
  .carousel-card:last-of-type{margin-right:48px;}
}

.carousel-card{width:340px;background:var(--ombre);border:1px solid var(--border);overflow:hidden;cursor:none;transition:transform .3s,border-color .3s;flex-shrink:0;flex-grow:0;scroll-snap-align:start;display:flex;flex-direction:column;}
@media(max-width:480px){.carousel-card{width:280px;}}
.carousel-card:hover{transform:translateY(-8px);border-color:var(--gold);}
@media(max-width:768px){.carousel-card{cursor:pointer;}}
.cc-visual{height:280px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;flex-shrink:0;}
.cc-bottle{font-size:100px;filter:drop-shadow(0 20px 40px rgba(168,148,94,.3));transition:transform .4s;}
.carousel-card:hover .cc-bottle{transform:scale(1.08) translateY(-8px);}
.cc-glow{position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:60%;height:40%;background:radial-gradient(ellipse,rgba(168,148,94,.2),transparent);pointer-events:none;}
.cc-info{padding:28px 28px 32px;flex:1;display:flex;flex-direction:column;}
.cc-badge{position:absolute;top:16px;left:16px;background:color-mix(in srgb, var(--noir) 85%, transparent);border:1px solid var(--border);color:var(--gold);font-size:7px;letter-spacing:3px;text-transform:uppercase;padding:5px 10px;backdrop-filter:blur(4px);}
.cc-tag{font-size:10px;letter-spacing:4px;color:var(--gold);text-transform:uppercase;margin-bottom:8px;}
.cc-name{font-family:'Cormorant Garamond',serif;font-size:22px;font-weight:400;margin-bottom:8px;}
.cc-mood{font-family:'Cormorant Garamond',serif;font-size:14px;color:var(--muted);font-style:italic;margin-bottom:16px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.cc-price{font-family:'Montserrat',sans-serif;font-weight:400;font-variant-numeric:tabular-nums lining-nums;letter-spacing:.02em;font-size:17px;color:var(--champagne);}
.cc-btn{margin-top:auto;width:100%;background:transparent;border:1px solid var(--border);color:var(--muted);font-family:'Montserrat',sans-serif;font-size:11px;letter-spacing:3px;text-transform:uppercase;padding:12px;cursor:none;transition:all .25s;}
.cc-btn:hover{border-color:var(--gold);color:var(--gold);}
@media(max-width:768px){.cc-btn{cursor:pointer;}}

.carousel-nav{display:flex;justify-content:center;gap:16px;margin-top:48px;padding:0 48px;align-items:center;}
.cn-btn{background:transparent;border:1px solid var(--border);color:var(--muted);width:48px;height:48px;cursor:none;transition:all .25s;font-size:16px;position:relative;overflow:hidden;}
.cn-btn::before{content:'';position:absolute;inset:0;background:var(--gold);transform:translateX(-101%);transition:transform .25s ease;}
.cn-btn:hover::before{transform:translateX(0);}
.cn-btn:hover{border-color:var(--gold);color:var(--noir);}
.cn-btn span{position:relative;z-index:1;}
.cn-dots{display:flex;gap:8px;}
@media(max-width:768px){.carousel-nav{display:none;}}
.cn-dot{width:6px;height:6px;background:var(--border);border-radius:50%;transition:all .3s;cursor:none;}
.cn-dot.active{background:var(--gold);width:20px;border-radius:3px;}
@media(max-width:768px){.cn-dot{cursor:pointer;}}

/* BRAND STRIP */
.brand-strip{border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:24px 0;overflow:hidden;}
.strip-inner{display:flex;align-items:center;gap:0;white-space:nowrap;will-change:transform;}
.strip-item{font-family:'DM Sans',sans-serif;font-size:11px;letter-spacing:6px;color:var(--muted);text-transform:uppercase;flex-shrink:0;font-weight:400;line-height:1;padding:0 12px;}
.strip-sep{color:var(--gold);opacity:.5;font-size:11px;line-height:1;flex-shrink:0;padding:0 12px;}
@media(max-width:768px){.strip-item{font-size:10px;letter-spacing:4px;padding:0 8px;}.strip-sep{font-size:10px;padding:0 8px;}}

/* ══════════════════════════════════════
   PRODUCT PAGE
══════════════════════════════════════ */
#product-page{padding-top:100px;}
.product-wrap{max-width:1300px;margin:0 auto;padding:60px 48px;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start;}
@media(max-width:900px){.product-wrap{grid-template-columns:1fr;padding:40px 24px;gap:40px;}}

/* Desktop only: pin the product image while the right-hand details scroll.
   Sticky kicks in when .product-visuals' top hits 90px (just below the fixed
   nav). It stops when .product-wrap's bottom passes 90px — which is exactly
   where the reviews section begins, since reviews are appended AFTER
   .product-wrap. So: image pins → right scrolls → image unpins → page
   continues normally into reviews. Disabled below 901px because the layout
   collapses to a single column there. */
@media(min-width:901px){
  .product-visuals{
    position: sticky;
    top: 90px;
    align-self: start;
  }
}
@media(max-width:480px){.product-wrap{padding:24px 16px;}}

.pv-main{background:var(--ombre);border:1px solid var(--border);height:480px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;margin-bottom:16px;transition:background .4s;}
@media(max-width:480px){.pv-main{height:320px;}}
#product-3d-canvas{width:100%;height:100%;display:block;}
#product-img-display{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center;display:none;background:var(--ombre);padding:24px;}
#product-img-display.visible{display:block;}
.pv-thumbs{display:flex;gap:12px;}
.pv-thumb{width:80px;height:80px;background:var(--ombre);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:32px;cursor:none;transition:border-color .2s;}
.pv-thumb.active,.pv-thumb:hover{border-color:var(--gold);}

.pd-breadcrumb{font-size:11px;letter-spacing:3px;color:var(--muted);text-transform:uppercase;margin-bottom:24px;}
.pd-breadcrumb a{color:var(--muted);text-decoration:none;cursor:none;}
.pd-breadcrumb a:hover{color:var(--champagne);}
.pd-tag{font-size:10px;letter-spacing:5px;color:var(--gold);text-transform:uppercase;margin-bottom:12px;}
.pd-name{font-family:'Cormorant Garamond',serif;font-size:clamp(36px,4vw,52px);font-weight:300;line-height:1.1;margin-bottom:16px;}
.pd-name em{font-style:italic;color:var(--champagne);}
.pd-mood{font-family:'Cormorant Garamond',serif;font-size:18px;font-style:italic;color:var(--muted);margin-bottom:32px;}
.pd-rating{display:flex;align-items:center;gap:12px;margin-bottom:32px;}
.pd-stars{color:var(--gold);letter-spacing:3px;font-size:13px;}
.pd-reviews{font-size:11px;color:var(--muted);}
.pd-price{font-family:'Montserrat',sans-serif;font-weight:400;font-variant-numeric:tabular-nums lining-nums;letter-spacing:.02em;font-size:34px;color:var(--ivory);margin-bottom:8px;}
.pd-original{font-size:13px;color:var(--muted);text-decoration:line-through;font-family:'Montserrat',sans-serif;}
.pd-divider{border:none;border-top:1px solid var(--border);margin:32px 0;}
.pd-desc{font-size:12px;color:var(--muted);line-height:2.4;margin-bottom:32px;}

.pd-notes-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:32px;}
.pd-note{background:var(--ombre);border:1px solid var(--border);padding:16px;text-align:center;}
.pdn-label{font-size:7px;letter-spacing:3px;color:var(--gold);text-transform:uppercase;margin-bottom:4px;}
.pdn-name{font-family:'Cormorant Garamond',serif;font-size:14px;color:var(--ivory);}

.pd-size{margin-bottom:32px;}
.pd-size-label{font-size:11px;letter-spacing:3px;color:var(--champagne);text-transform:uppercase;margin-bottom:12px;}
.size-opts{display:flex;gap:10px;flex-wrap:wrap;}
.size-opt{background:transparent;border:1px solid var(--border);color:var(--muted);font-family:'Montserrat',sans-serif;font-size:10px;letter-spacing:2px;padding:10px 20px;cursor:none;transition:all .2s;}
.size-opt.active,.size-opt:hover{border-color:var(--gold);color:var(--gold);}
@media(max-width:768px){.size-opt{cursor:pointer;}}

.pd-qty{display:flex;align-items:center;gap:0;margin-bottom:32px;border:1px solid var(--border);width:fit-content;}
.qty-btn{background:transparent;color:var(--champagne);border:none;width:44px;height:44px;font-size:16px;cursor:none;transition:background .2s;}
.qty-btn:hover{background:var(--ombre);}
@media(max-width:768px){.qty-btn{cursor:pointer;}}
.qty-val{width:48px;text-align:center;font-family:'Cormorant Garamond',serif;font-size:18px;color:var(--ivory);border-left:1px solid var(--border);border-right:1px solid var(--border);height:44px;line-height:44px;}

.pd-actions{display:flex;gap:12px;margin-bottom:32px;flex-wrap:wrap;}
.btn-add{flex:1;background:var(--gold);border:1px solid var(--gold);color:var(--noir);font-family:'Montserrat',sans-serif;font-size:10px;letter-spacing:4px;text-transform:uppercase;padding:18px 32px;cursor:none;transition:all .3s;min-width:200px;}
.btn-add:hover{background:var(--champagne);border-color:var(--champagne);}
@media(max-width:768px){.btn-add{cursor:pointer;}}
.btn-wish{background:transparent;border:1px solid var(--border);color:var(--muted);font-size:18px;width:56px;height:56px;cursor:none;transition:all .2s;}
.btn-wish:hover{border-color:var(--gold);color:var(--gold);}
@media(max-width:768px){.btn-wish{cursor:pointer;}}

.pd-perks{display:flex;flex-direction:column;gap:12px;}
.perk{display:flex;align-items:center;gap:12px;font-size:11px;color:var(--muted);}
.perk-icon{color:var(--gold);font-size:14px;}

/* ══════════════════════════════════════
   CART PANEL
══════════════════════════════════════ */
.cart-overlay{position:fixed;top:0;left:0;right:0;bottom:0;width:100%;height:100%;background:rgba(0,0,0,0.9);z-index:2000;opacity:0;pointer-events:none;transition:opacity .3s;}
.cart-overlay.open{opacity:1;pointer-events:all;}
.cart-panel{position:fixed;top:0;right:0;bottom:0;width:420px;height:100%;background:var(--noir);border-left:1px solid var(--border);z-index:2001;transform:translateX(100%);transition:transform .4s cubic-bezier(.25,.46,.45,.94);display:flex;flex-direction:column;overflow-y:auto;}
@media(max-width:480px){.cart-panel{width:100%;left:0;right:0;}}
.cart-overlay.open .cart-panel{transform:translateX(0);}

.cart-header{padding:32px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;}
.ch-title{font-family:'Cormorant Garamond',serif;font-size:24px;font-weight:300;}
.ch-close{background:transparent;border:1px solid var(--border);color:var(--muted);width:36px;height:36px;cursor:pointer;font-size:16px;transition:all .2s;}
.ch-close:hover{border-color:var(--gold);color:var(--gold);}

.cart-items{flex:1;overflow-y:auto;padding:24px 32px;}
.cart-empty{text-align:center;padding:60px 24px;}
.ce-icon{font-size:48px;margin-bottom:16px;opacity:.3;}
.ce-text{font-family:'Cormorant Garamond',serif;font-size:20px;color:var(--muted);font-style:italic;}

.cart-item{display:flex;gap:16px;padding:20px 0;border-bottom:1px solid var(--border);}
.ci-img{width:64px;height:64px;background:var(--noir);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:28px;flex-shrink:0;}
.ci-info{flex:1;}
.ci-name{font-family:'Cormorant Garamond',serif;font-size:17px;margin-bottom:4px;}
.ci-meta{font-size:10px;color:var(--muted);letter-spacing:1px;margin-bottom:8px;}
.ci-price{font-family:'Montserrat',sans-serif;font-weight:400;font-variant-numeric:tabular-nums lining-nums;letter-spacing:.02em;font-size:15px;color:var(--champagne);}
.ci-qty-wrap{display:flex;align-items:center;gap:0;margin-bottom:8px;}
.ci-qty-btn{width:26px;height:26px;background:transparent;border:1px solid var(--border);color:var(--muted);font-size:13px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;font-family:'Montserrat',sans-serif;}
.ci-qty-btn:hover{border-color:var(--gold);color:var(--gold);}
.ci-qty-val{width:32px;height:26px;display:flex;align-items:center;justify-content:center;font-size:11px;color:var(--ivory);letter-spacing:1px;border-top:1px solid var(--border);border-bottom:1px solid var(--border);}
.ci-remove{background:transparent;border:none;color:var(--muted);cursor:pointer;font-size:16px;padding:4px;transition:color .2s;align-self:flex-start;}
.ci-remove:hover{color:var(--gold);}

.cart-footer{padding:24px 32px;border-top:1px solid var(--border);}
.cf-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;}
.cf-label{font-size:11px;color:var(--muted);letter-spacing:2px;text-transform:uppercase;}
.cf-total{font-family:'Montserrat',sans-serif;font-weight:400;font-variant-numeric:tabular-nums lining-nums;letter-spacing:.02em;font-size:24px;color:var(--ivory);}
.btn-checkout{width:100%;background:var(--gold);border:1px solid var(--gold);color:var(--noir);font-family:'Montserrat',sans-serif;font-size:10px;letter-spacing:4px;text-transform:uppercase;padding:18px;cursor:pointer;transition:all .3s;margin-top:16px;}
.btn-checkout:hover{background:var(--champagne);border-color:var(--champagne);}
.cf-note{font-size:11px;color:var(--muted);text-align:center;margin-top:12px;letter-spacing:1px;}

/* ══════════════════════════════════════
   CHECKOUT MODAL
══════════════════════════════════════ */
.checkout-overlay {
  position:fixed;inset:0;background:var(--overlay-bg);
  z-index:3000;opacity:0;pointer-events:none;
  transition:opacity .3s;backdrop-filter:blur(8px);
  display:flex;align-items:center;justify-content:center;padding:20px;
}
.checkout-overlay.open{opacity:1;pointer-events:all;}
.checkout-modal {
  background:var(--ombre);border:1px solid var(--border);
  width:100%;max-width:540px;max-height:90vh;overflow-y:auto;
  transform:translateY(24px);transition:transform .4s;
}
.checkout-overlay.open .checkout-modal{transform:translateY(0);}

.cm-header{padding:28px 32px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;}
.cm-title{font-family:'Cormorant Garamond',serif;font-size:22px;font-weight:300;}
.cm-close{background:transparent;border:1px solid var(--border);color:var(--muted);width:32px;height:32px;cursor:pointer;font-size:14px;transition:all .2s;display:flex;align-items:center;justify-content:center;}
.cm-close:hover{border-color:var(--gold);color:var(--gold);}

.cm-body{padding:28px 32px;}
.cm-section-title{font-size:10px;letter-spacing:5px;color:var(--gold);text-transform:uppercase;margin-bottom:20px;}
.cm-order-summary{background:var(--noir);border:1px solid var(--border);padding:20px;margin-bottom:28px;}
.cm-item{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:none;font-size:11px;}
.cm-item:last-child{border-bottom:none;}
.cm-item-name{color:var(--ivory);font-family:'Cormorant Garamond',serif;font-size:15px;}
.cm-item-meta{color:var(--muted);font-size:10px;margin-top:2px;}
.cm-item-price{color:var(--champagne);font-family:'Cormorant Garamond',serif;font-size:15px;white-space:nowrap;}
.cm-total-row{display:flex;justify-content:space-between;align-items:center;padding-top:18px;margin-top:10px;border-top:1px solid var(--border);}
.cm-total-label{font-size:10px;letter-spacing:3px;color:var(--muted);text-transform:uppercase;}
.cm-total-val{font-family:'Cormorant Garamond',serif;font-size:24px;color:var(--ivory);}

.cform{display:flex;flex-direction:column;gap:16px;}
.cfield{display:flex;flex-direction:column;gap:7px;}
.cfield-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.clabel{font-size:10px;letter-spacing:4px;color:var(--gold);text-transform:uppercase;}
.cfield input,.cfield select,.cfield textarea{
  background:var(--noir);border:1px solid var(--border);
  color:var(--ivory);font-family:'Montserrat',sans-serif;
  font-size:13px;font-weight:400;padding:13px 15px;
  outline:none;transition:border-color .2s;width:100%;
}
.cfield input:focus,.cfield select:focus,.cfield textarea:focus{border-color:var(--gold);}
.cfield input::placeholder,.cfield textarea::placeholder{color:var(--muted);}
.cfield select{color:var(--muted);}
.cfield select option{background:var(--noir);}

.payment-opts{display:flex;flex-direction:column;gap:10px;margin-bottom:8px;}
.pay-opt{display:flex;align-items:center;gap:12px;padding:14px 16px;border:1px solid var(--border);cursor:pointer;transition:border-color .2s;}
.pay-opt:hover,.pay-opt.selected{border-color:var(--gold);}
.pay-opt input{accent-color:var(--gold);}
.pay-opt-label{font-size:11px;color:var(--ivory);letter-spacing:1px;}
.pay-opt-sub{font-size:11px;color:var(--muted);margin-top:-6px;}

.btn-place-order {
  width:100%;background:var(--gold);border:1px solid var(--gold);
  color:var(--noir);font-family:'Montserrat',sans-serif;
  font-size:10px;letter-spacing:4px;text-transform:uppercase;
  padding:18px;cursor:pointer;transition:all .3s;margin-top:24px;
}
.btn-place-order:hover{background:var(--champagne);border-color:var(--champagne);}

/* Order success */
.order-success{text-align:center;padding:48px 32px;}
.os-icon{font-size:48px;margin-bottom:20px;}
.os-title{font-family:'Cormorant Garamond',serif;font-size:28px;margin-bottom:12px;}
.os-sub{font-size:11px;color:var(--muted);line-height:2;margin-bottom:8px;}
.os-order-num{font-family:'Cormorant Garamond',serif;font-size:22px;color:var(--champagne);margin:20px 0;}
.os-btn{margin-top:24px;background:transparent;border:1px solid var(--gold);color:var(--gold);font-family:'Montserrat',sans-serif;font-size:10px;letter-spacing:4px;text-transform:uppercase;padding:14px 32px;cursor:pointer;transition:all .3s;}
.os-btn:hover{background:var(--gold);color:var(--noir);}

/* TOAST */
.toast{position:fixed;bottom:32px;left:50%;transform:translateX(-50%) translateY(20px);background:var(--gold);color:var(--noir);font-size:10px;letter-spacing:3px;text-transform:uppercase;padding:14px 28px;opacity:0;transition:all .3s;z-index:9999;pointer-events:none;}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0);}

/* FOOTER */
/* ── NEWSLETTER / INNER CIRCLE ── */
.nl-section{padding:100px 48px;text-align:center;border-top:none;border-bottom:1px solid var(--border);background:var(--noir);}
.nl-divider{display:flex;align-items:center;justify-content:center;gap:0;padding:48px 0 0;background:var(--noir);}
.nl-divider-line{width:80px;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);opacity:.4;flex-shrink:0;}
.nl-divider-star{font-size:10px;color:var(--gold);opacity:.6;line-height:1;width:32px;text-align:center;flex-shrink:0;}
[data-theme="light"] .nl-section{background:#F8F5F0;}
[data-theme="light"] .nl-divider{background:#F8F5F0;}
[data-theme="light"] .nl-input-wrap{border-color:#C8BBA8;}
[data-theme="light"] .nl-input-wrap input{color:#3D3833;}
[data-theme="light"] .nl-note{color:#8A6E2A;}
.nl-inner{max-width:560px;margin:0 auto;}
.nl-eyebrow{font-family:'DM Sans',sans-serif;font-size:10px;letter-spacing:8px;color:var(--gold);text-transform:uppercase;margin-bottom:20px;}
.nl-title{font-family:'Cormorant Garamond',serif;font-size:clamp(32px,5vw,48px);font-weight:300;line-height:1.1;margin-bottom:20px;}
.nl-title em{font-style:italic;color:var(--champagne);}
.nl-desc{font-size:12px;color:var(--muted);line-height:2;margin-bottom:32px;max-width:440px;margin-left:auto;margin-right:auto;}
.nl-form{margin-bottom:16px;}
.nl-input-wrap{display:flex;gap:0;border:1px solid var(--border);transition:border-color .3s;}
.nl-input-wrap:focus-within{border-color:var(--gold);}
.nl-input-wrap input{flex:1;background:transparent;border:none;color:var(--ivory);font-family:'Montserrat',sans-serif;font-size:13px;font-weight:400;padding:16px 20px;outline:none;letter-spacing:1px;}
.nl-input-wrap input::placeholder{color:var(--muted);}
.nl-submit{background:var(--gold);border:none;color:var(--noir);font-family:'Montserrat',sans-serif;font-size:11px;letter-spacing:4px;text-transform:uppercase;padding:16px 28px;cursor:pointer;transition:all .25s;white-space:nowrap;}
.nl-submit:hover:not(:disabled){background:var(--champagne);}
.nl-submit:disabled{opacity:.3;cursor:not-allowed;}
.nl-note{font-size:11px;color:var(--gold);letter-spacing:2px;opacity:.7;}
@media(max-width:768px){.nl-section{padding:72px 24px;}.nl-desc{font-size:11px;}}
@media(max-width:480px){.nl-section{padding:56px 20px;}.nl-input-wrap{flex-direction:column;}.nl-submit{width:100%;padding:14px;}}

/* ── CREATORS PAGE ── */
.creators-wrap{max-width:700px;margin:0 auto;padding:120px 64px 100px;position:relative;z-index:1;}
.creators-desc{font-size:15px;color:var(--muted);line-height:1.95;margin-bottom:48px;text-align:center;}
.creators-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:48px;}
.creators-card{border:1px solid var(--border);padding:24px;text-align:center;}
.creators-card-title{font-size:10px;letter-spacing:3px;color:var(--gold);text-transform:uppercase;margin-bottom:8px;}
.creators-card-desc{font-size:11px;color:var(--muted);line-height:1.8;}
.creators-form-section{border-top:1px solid var(--border);padding-top:48px;margin-bottom:48px;}
.creators-form-eyebrow{font-size:11px;letter-spacing:6px;color:var(--gold);text-transform:uppercase;text-align:center;margin-bottom:24px;}
.creators-note{font-size:10px;color:var(--muted);text-align:center;line-height:2;opacity:.6;}
@media(max-width:768px){
  .creators-wrap{padding:100px 32px 80px;}
  .creators-desc{font-size:12px;line-height:2;}
  .creators-grid{gap:12px;}
  .creators-card{padding:20px 16px;}
  .creators-card-title{font-size:11px;letter-spacing:2px;}
  .creators-card-desc{font-size:10px;}
  #creators-page .story-headline{font-size:clamp(48px,10vw,64px);}
  #creators-page .story-pull{font-size:clamp(20px,4vw,28px);padding-left:20px;}
  #creators-page .story-eyebrow{font-size:7px;letter-spacing:6px;}
}
@media(max-width:480px){
  .creators-wrap{padding:90px 20px 60px;}
  .creators-grid{grid-template-columns:1fr;gap:12px;}
  .creators-card{padding:20px;}
  .creators-desc{font-size:11px;}
  .creators-form-section{padding-top:36px;margin-bottom:36px;}
  .creators-form-section .btn-primary{width:100%;padding:16px 24px;font-size:11px;letter-spacing:3px;}
  #creators-page .story-headline{font-size:clamp(44px,12vw,60px);letter-spacing:-1px;}
  #creators-page .story-headline-line2{padding-left:clamp(16px,4vw,32px);}
  #creators-page .story-pull{font-size:clamp(18px,4.5vw,24px);padding-left:16px;margin-bottom:32px;}
}

/* ── MAISON PRIVÉE PAGE ── */
.privee-wrap{max-width:800px;margin:0 auto;padding:140px 64px 100px;position:relative;z-index:1;}
.privee-intro{font-family:'Cormorant Garamond',serif;font-size:18px;color:var(--muted);line-height:2;text-align:center;max-width:600px;margin:0 auto;}
.privee-spacer{height:80px;}
.privee-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
.privee-card{border:1px solid var(--border);padding:40px 32px;text-align:center;transition:border-color .3s;}
.privee-card:hover{border-color:var(--gold);}
.privee-card-icon{margin-bottom:20px;opacity:.7;}
.privee-card-title{font-family:'Montserrat',sans-serif;font-size:11px;letter-spacing:4px;color:var(--gold);text-transform:uppercase;margin-bottom:16px;}
.privee-card-line{width:24px;height:1px;background:var(--gold);opacity:.3;margin:0 auto 16px;}
.privee-card-desc{font-family:'Cormorant Garamond',serif;font-size:14px;color:var(--muted);line-height:1.9;}
.privee-pull{font-family:'Cormorant Garamond',serif;font-size:clamp(22px,3vw,32px);font-weight:300;font-style:italic;color:var(--ivory);line-height:1.5;text-align:center;max-width:500px;margin:0 auto;}
.privee-pull em{color:var(--gold);font-style:normal;}
.privee-form-section{border-top:1px solid var(--border);padding-top:64px;}
.privee-form-eyebrow{font-size:11px;letter-spacing:6px;color:var(--gold);text-transform:uppercase;text-align:center;margin-bottom:32px;}
.privee-note{font-size:10px;color:var(--muted);text-align:center;line-height:2;opacity:.6;}
@media(max-width:768px){
  .privee-wrap{padding:100px 32px 80px;}
  #privee-page .story-headline{font-size:clamp(48px,10vw,64px);}
  .privee-intro{font-size:16px;}
  .privee-spacer{height:56px;}
  .privee-grid{gap:16px;}
  .privee-card{padding:28px 24px;}
  .privee-card-desc{font-size:13px;}
  .privee-pull{font-size:clamp(20px,5vw,28px);}
}
@media(max-width:480px){
  .privee-wrap{padding:90px 20px 60px;}
  .privee-grid{grid-template-columns:1fr;gap:14px;}
  .privee-card{padding:24px 20px;}
  .privee-intro{font-size:14px;}
  .privee-spacer{height:40px;}
  .privee-form-section{padding-top:40px;}
  .privee-form-section .btn-primary{width:100%;padding:16px 24px;font-size:11px;letter-spacing:3px;}
  #privee-page .story-headline{font-size:clamp(44px,12vw,60px);letter-spacing:-1px;}
}

footer{border-top:1px solid var(--border);padding:80px 80px 48px;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px;width:100%;box-sizing:border-box;}
@media(max-width:900px){footer{grid-template-columns:1fr 1fr;padding:60px 32px 40px;}}
@media(max-width:480px){footer{grid-template-columns:1fr;padding:48px 20px 32px;gap:32px;}}
.footer-brand-name{font-family:'Cormorant Garamond',serif;font-size:28px;font-weight:300;letter-spacing:4px;margin-bottom:8px;}
.footer-brand-name em{color:var(--gold);}
.footer-tagline{font-size:11px;color:var(--muted);font-style:italic;font-family:'Cormorant Garamond',serif;margin-bottom:24px;}
.footer-social{display:flex;gap:12px;}
.social-btn{width:36px;height:36px;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:13px;text-decoration:none;cursor:pointer;transition:all .2s;}
.social-btn:hover{border-color:var(--gold);color:var(--gold);}
.footer-col-title{font-size:11px;letter-spacing:4px;color:var(--gold);text-transform:uppercase;margin-bottom:20px;}
.footer-links{display:flex;flex-direction:column;gap:10px;}
.footer-links a{font-size:11px;color:var(--muted);text-decoration:none;cursor:pointer;transition:color .2s;letter-spacing:1px;}
.footer-links a:hover{color:var(--champagne);}
/* Ornamental footer wordmark — large calligraphic flourish above the copyright line.
   Uses Italianno (loaded via Google Fonts) which renders true script swashes
   without needing OpenType features that Google Fonts strips. Falls back to
   Cormorant Garamond italic if Italianno fails to load. */
.footer-ornament{
  font-family:'Italianno','Cormorant Garamond',serif;
  font-weight:400;font-style:normal;
  font-size:clamp(54px,11vw,148px);
  line-height:.95;letter-spacing:.005em;
  /* Match the copyright bar's text colour so the whole footer reads as one palette */
  color:var(--muted);opacity:1;
  text-align:center;width:100%;
  padding:18px 24px 28px;margin:0;
  user-select:none;-webkit-font-smoothing:antialiased;
  white-space:nowrap;overflow:hidden;text-overflow:clip;
}
@media(max-width:768px){
  .footer-ornament{font-size:clamp(42px,13vw,88px);padding:12px 16px 18px;}
}
@media(max-width:480px){
  .footer-ornament{font-size:clamp(34px,15vw,66px);padding:10px 12px 14px;letter-spacing:0;}
}
.footer-bottom{padding:24px 80px;display:flex;justify-content:space-between;align-items:center;width:100%;box-sizing:border-box;}
.fb-payments{display:flex;gap:6px;align-items:center;}
.fb-payments svg{opacity:.7;transition:opacity .3s;}
.fb-payments svg:hover{opacity:1;}
@media(max-width:600px){.footer-bottom{padding:20px 20px;flex-direction:column;gap:12px;text-align:center;}}
.fb-copy{font-size:11px;color:var(--muted);letter-spacing:2px;}

/* PRODUCT IMAGE CAROUSEL */
.pv-img-thumbs{display:flex;gap:8px;padding:10px 10px 0;background:var(--ombre);justify-content:center;flex-wrap:wrap;}
.pv-img-thumb{width:56px;height:56px;border:1px solid var(--border);cursor:pointer;transition:border-color .2s;background-size:cover;background-position:center;flex-shrink:0;}
.pv-img-thumb.active,.pv-img-thumb:hover{border-color:var(--gold);}
.pv-arrow{position:absolute;top:50%;transform:translateY(-50%);background:color-mix(in srgb,var(--noir) 55%,transparent);border:1px solid var(--border);color:var(--ivory);width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:16px;z-index:10;transition:all .2s;backdrop-filter:blur(6px);}
.pv-arrow:hover{background:var(--gold);color:var(--noir);border-color:var(--gold);}
.pv-arrow.left{left:12px;}
.pv-arrow.right{right:12px;}
[data-theme="light"] .pv-arrow{background:rgba(255,255,255,0.75);border-color:rgba(180,165,140,0.4);color:var(--text-dark,#3D3833);}
[data-theme="light"] .pv-arrow:hover{background:var(--gold);color:#fff;border-color:var(--gold);}
.pv-dot-wrap{position:absolute;bottom:10px;left:50%;transform:translateX(-50%);display:flex;gap:6px;z-index:10;}
.pv-dot{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.35);transition:background .2s;cursor:pointer;}
.pv-dot.active{background:var(--gold);}
[data-theme="light"] .pv-dot{background:rgba(100,80,60,.25);}
[data-theme="light"] .pv-dot.active{background:var(--gold);}

/* ANIMATIONS */
@keyframes fadeUp{from{opacity:0;transform:translateY(20px);}to{opacity:1;transform:translateY(0);}}
@keyframes pulse{0%,100%{opacity:.3;}50%{opacity:1;}}


.reveal{opacity:0;transform:translateY(32px);transition:opacity .8s ease,transform .8s ease;}
.reveal.visible{opacity:1;transform:translateY(0);}

/* FEATURED IMAGE */
.featured-img-wrap{width:100%;height:500px;position:relative;overflow:hidden;background:transparent;}
.featured-img-wrap img{width:100%;height:100%;object-fit:contain;object-position:center;background:transparent;}
@media(max-width:480px){.featured-img-wrap{height:320px;}}
.feat-img-arrow{position:absolute;top:50%;transform:translateY(-50%);background:color-mix(in srgb,var(--noir) 65%,transparent);border:1px solid var(--border);color:var(--champagne);width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:16px;transition:all .25s;z-index:3;backdrop-filter:blur(4px);}
.feat-img-arrow:hover{border-color:var(--gold);color:var(--gold);}
.feat-img-arrow.prev{left:12px;}
.feat-img-arrow.next{right:12px;}
[data-theme="light"] .feat-img-arrow{background:rgba(255,255,255,0.75);border-color:rgba(180,165,140,0.4);color:#3D3833;}
[data-theme="light"] .feat-img-arrow:hover{background:var(--gold);color:#fff;border-color:var(--gold);}
.feat-img-dots{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);display:flex;gap:6px;z-index:3;}
.feat-img-dot{width:5px;height:5px;border-radius:50%;background:var(--muted);transition:all .25px;cursor:pointer;}
.feat-img-dot.active{background:var(--gold);width:14px;border-radius:3px;}

/* STORY PAGE */
/* ── STORY PAGE — ULTRA LUXURY REDESIGN ── */
.story-page-inner{position:relative;min-height:100vh;overflow:hidden;}

/* Atmospheric background layers */
.story-bg{position:fixed;inset:0;pointer-events:none;z-index:0;}
.story-bg-grad{position:absolute;inset:0;background:radial-gradient(ellipse 80% 60% at 50% 0%,rgba(168,148,94,.07) 0%,transparent 70%),radial-gradient(ellipse 60% 40% at 80% 80%,rgba(168,148,94,.04) 0%,transparent 60%),var(--bg);}
.story-bg-lines{position:absolute;inset:0;background-image:repeating-linear-gradient(0deg,transparent,transparent 79px,rgba(168,148,94,.03) 80px);opacity:.6;}
.story-bg-vignette{position:absolute;inset:0;background:radial-gradient(ellipse 100% 100% at 50% 50%,transparent 40%,rgba(0,0,0,.5) 100%);}

.story-wrap{position:relative;z-index:1;max-width:900px;margin:0 auto;padding:120px 64px 100px;}

.story-back{margin-bottom:64px;}
.story-back a{font-size:10px;letter-spacing:4px;text-transform:uppercase;color:var(--muted);text-decoration:none;cursor:pointer;transition:color .3s,letter-spacing .3s;}
.story-back a:hover{color:var(--champagne);letter-spacing:6px;}

/* Eyebrow */
.story-eyebrow{display:flex;align-items:center;gap:16px;font-family:'DM Sans',sans-serif;font-size:10px;letter-spacing:10px;color:var(--gold);text-transform:uppercase;margin-bottom:24px;font-weight:400;opacity:0;animation:storyFadeUp .8s ease forwards .1s;}
.story-eyebrow::before,.story-eyebrow::after{content:'';flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);opacity:.4;}

/* Giant headline */
.story-headline{font-family:'Cormorant Garamond',serif;font-size:clamp(64px,10vw,130px);font-weight:300;line-height:.88;margin-bottom:0;letter-spacing:-2px;opacity:0;animation:storyFadeUp .9s ease forwards .2s;}
.story-headline-line1{display:block;color:var(--ivory);}
.story-headline-line2{display:block;font-style:italic;color:var(--gold);padding-left:clamp(32px,6vw,96px);}

/* Horizontal rule after headline */
.story-rule{display:flex;align-items:center;gap:20px;margin:48px 0 64px;opacity:0;animation:storyFadeUp .7s ease forwards .35s;}
.story-rule-line{flex:1;height:1px;background:linear-gradient(90deg,var(--gold),transparent);opacity:.3;}
.story-rule-diamond{color:var(--gold);font-size:10px;letter-spacing:4px;white-space:nowrap;text-align:center;line-height:1;}

/* Opening statement — massive pull quote */
.story-pull{font-family:'Cormorant Garamond',serif;font-size:clamp(26px,3.5vw,42px);font-weight:300;font-style:italic;color:var(--ivory);line-height:1.3;letter-spacing:.3px;border-left:1px solid var(--gold);padding-left:32px;margin-bottom:64px;opacity:0;animation:storyFadeUp .8s ease forwards .45s;}
.story-pull em{color:var(--gold);font-style:normal;}

/* Body text columns */
.story-columns{display:grid;grid-template-columns:1fr 1fr;gap:48px;margin-bottom:64px;opacity:0;animation:storyFadeUp .8s ease forwards .6s;}
.story-col p{font-size:15px;color:var(--muted);line-height:1.95;letter-spacing:.3px;}
.story-col p+p{margin-top:24px;}

/* Centre divider with roman numeral */
.story-center-break{text-align:center;margin:16px 0 64px;opacity:0;animation:storyFadeUp .7s ease forwards .75s;}
.story-roman{font-family:'Cormorant Garamond',serif;font-size:11px;letter-spacing:12px;color:var(--gold);opacity:.6;text-transform:uppercase;}
.story-center-ornament{display:flex;align-items:center;justify-content:center;gap:24px;margin-top:16px;}
.story-center-ornament span{display:inline-block;width:40px;height:1px;background:linear-gradient(90deg,transparent,var(--gold));opacity:.3;}
.story-center-ornament em{color:var(--gold);font-style:normal;font-size:14px;}
.story-center-ornament span:last-child{background:linear-gradient(90deg,var(--gold),transparent);}

/* Philosophy statement — full width */
.story-philosophy{font-family:'Cormorant Garamond',serif;font-size:clamp(18px,2.2vw,28px);font-weight:300;color:var(--ivory);line-height:1.7;text-align:center;max-width:640px;margin:0 auto 80px;opacity:0;animation:storyFadeUp .8s ease forwards .85s;}
.story-philosophy em{font-style:italic;color:var(--champagne);}

/* Closing manifesto line */
.story-manifesto{position:relative;padding:48px 0;border-top:1px solid rgba(168,148,94,.15);border-bottom:1px solid rgba(168,148,94,.15);margin-bottom:64px;text-align:center;opacity:0;animation:storyFadeUp .8s ease forwards 1s;}
.story-manifesto-text{font-family:'Cormorant Garamond',serif;font-size:clamp(22px,3vw,36px);font-style:italic;color:var(--ivory);line-height:1.4;letter-spacing:.5px;}
.story-manifesto-text em{color:var(--gold);font-style:normal;}

/* Signature */
.story-sig{display:flex;align-items:flex-end;justify-content:space-between;opacity:0;animation:storyFadeUp .8s ease forwards 1.1s;}
.story-sig-left{}
.story-brand{font-family:'Cormorant Garamond',serif;font-size:clamp(36px,5vw,52px);letter-spacing:6px;color:var(--ivory);font-weight:300;font-style:italic;}
.story-maison{font-family:'DM Sans',sans-serif;font-size:10px;letter-spacing:6px;color:var(--gold);text-transform:uppercase;margin-top:8px;font-weight:400;opacity:.7;}
.story-sig-right{text-align:right;}
.story-year{font-family:'Cormorant Garamond',serif;font-size:clamp(48px,6vw,80px);color:rgba(168,148,94,.12);font-weight:300;line-height:1;letter-spacing:-2px;}

/* Animations */
@keyframes storyFadeUp{from{opacity:0;transform:translateY(24px);}to{opacity:1;transform:translateY(0);}}

/* Floating gold particles */
.story-particle{position:fixed;pointer-events:none;z-index:0;width:1px;height:1px;background:var(--gold);border-radius:50%;animation:particleDrift linear infinite;opacity:0;}
@keyframes particleDrift{0%{opacity:0;transform:translateY(100vh) translateX(0);}10%{opacity:.4;}90%{opacity:.2;}100%{opacity:0;transform:translateY(-10vh) translateX(20px);}}

/* CONTACT PAGE */
.contact-wrap{max-width:1100px;margin:0 auto;padding:120px 48px 80px;}
@media(max-width:480px){.contact-wrap{padding:100px 20px 60px;}}
.contact-header{margin-bottom:64px;}
.contact-grid{display:grid;grid-template-columns:320px 1fr;gap:64px;align-items:start;}
@media(max-width:800px){.contact-grid{grid-template-columns:1fr;gap:40px;}}
.contact-info{display:flex;flex-direction:column;gap:28px;}
.ci-block{border-bottom:1px solid var(--border);padding-bottom:24px;}
.ci-icon{font-size:18px;margin-bottom:6px;}
.ci-label{font-size:10px;letter-spacing:4px;color:var(--gold);text-transform:uppercase;margin-bottom:6px;}
.ci-value{font-family:'Cormorant Garamond',serif;font-size:16px;color:var(--ivory);line-height:1.6;}
.ci-value a{color:var(--champagne);text-decoration:none;cursor:pointer;transition:color .2s;}
.ci-value a:hover{color:var(--ivory);}
.cf-title{font-family:'Cormorant Garamond',serif;font-size:28px;font-weight:300;margin-bottom:32px;}
.contact-cform{display:flex;flex-direction:column;gap:20px;}
.contact-cfield{display:flex;flex-direction:column;gap:8px;}
.contact-clabel{font-size:10px;letter-spacing:4px;color:var(--gold);text-transform:uppercase;}
.contact-cfield input,.contact-cfield textarea{background:var(--ombre);border:1px solid var(--border);color:var(--ivory);font-family:'Montserrat',sans-serif;font-size:13px;font-weight:400;padding:14px 16px;outline:none;transition:border-color .2s;width:100%;resize:vertical;}
.contact-cfield input:focus,.contact-cfield textarea:focus{border-color:var(--gold);}
.contact-cfield input::placeholder,.contact-cfield textarea::placeholder{color:var(--muted);}

/* ══════════════════════════════════════
   SEARCH
══════════════════════════════════════ */
.search-btn{background:transparent;border:none;color:var(--muted);cursor:none;padding:4px 8px;font-size:15px;transition:color .2s;display:flex;align-items:center;}
.search-btn:hover{color:var(--champagne);}
@media(max-width:768px){.search-btn{cursor:pointer;}}

.search-overlay{position:fixed;inset:0;z-index:3000;background:var(--search-bg);backdrop-filter:blur(16px);opacity:0;pointer-events:none;transition:opacity .35s;display:flex;flex-direction:column;}
.search-overlay.open{opacity:1;pointer-events:all;}
.search-overlay::before{content:'';position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' 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;}

.search-header{padding:28px 48px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);position:relative;z-index:1;}
@media(max-width:480px){.search-header{padding:20px 20px;}}
.search-label{font-size:10px;letter-spacing:6px;color:var(--gold);text-transform:uppercase;}
.search-close{background:transparent;border:1px solid var(--border);color:var(--muted);width:36px;height:36px;cursor:pointer;font-size:14px;transition:all .2s;display:flex;align-items:center;justify-content:center;}
.search-close:hover{border-color:var(--gold);color:var(--gold);}

.search-input-wrap{padding:48px 48px 32px;position:relative;z-index:1;}
@media(max-width:480px){.search-input-wrap{padding:32px 20px 24px;}}
.search-input-row{display:flex;align-items:center;gap:16px;border-bottom:1px solid var(--border);padding-bottom:16px;}
.search-icon-disp{color:var(--gold);font-size:18px;flex-shrink:0;}
.search-input{background:transparent;border:none;outline:none;color:var(--ivory);font-family:'Cormorant Garamond',serif;font-size:clamp(28px,5vw,52px);font-weight:300;width:100%;letter-spacing:1px;}
.search-input::placeholder{color:var(--muted);font-style:italic;}
.search-clear{background:transparent;border:none;color:var(--muted);cursor:pointer;font-size:20px;padding:4px;transition:color .2s;flex-shrink:0;}
.search-clear:hover{color:var(--gold);}

.search-body{flex:1;overflow-y:auto;padding:0 48px 48px;position:relative;z-index:1;}
@media(max-width:480px){.search-body{padding:0 20px 32px;}}
.search-hint{font-size:10px;letter-spacing:3px;color:var(--muted);text-transform:uppercase;margin-bottom:32px;}
.search-results{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;}
.search-card{background:var(--ombre);border:1px solid var(--border);padding:20px;cursor:pointer;transition:all .25s;display:flex;gap:16px;align-items:center;}
.search-card:hover{border-color:var(--gold);transform:translateY(-2px);}
.sc-thumb{width:56px;height:56px;background:var(--noir);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:26px;flex-shrink:0;overflow:hidden;}
.sc-thumb img{width:100%;height:100%;object-fit:cover;}
.sc-info{flex:1;min-width:0;}
.sc-tag{font-size:7px;letter-spacing:4px;color:var(--gold);text-transform:uppercase;margin-bottom:4px;}
.sc-name{font-family:'Cormorant Garamond',serif;font-size:18px;color:var(--ivory);margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.sc-mood{font-family:'Cormorant Garamond',serif;font-size:12px;color:var(--muted);font-style:italic;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.sc-price{font-family:'Montserrat',sans-serif;font-weight:400;font-variant-numeric:tabular-nums lining-nums;letter-spacing:.02em;font-size:13px;color:var(--champagne);margin-top:4px;}
.search-no-results{text-align:center;padding:60px 24px;}
.snr-icon{font-size:36px;margin-bottom:14px;opacity:.25;}
.snr-text{font-family:'Cormorant Garamond',serif;font-size:22px;color:var(--muted);font-style:italic;margin-bottom:8px;}
.snr-sub{font-size:10px;color:var(--muted);letter-spacing:2px;opacity:.6;}

/* ══════════════════════════════════════
   REVIEWS
══════════════════════════════════════ */
.reviews-section{margin-top:0;padding:64px 48px;border-top:1px solid var(--border);max-width:100%;box-sizing:border-box;}
@media(max-width:768px){.reviews-section{padding:48px 24px;}}
@media(max-width:480px){.reviews-section{padding:40px 16px;}}

/* ── RECOMMENDATIONS ── */
.reco-section{margin-top:0;padding:64px 0;border-top:1px solid var(--border);}
.reco-section-header{padding:0 48px;margin-bottom:32px;}
@media(max-width:768px){.reco-section-header{padding:0 24px;}}
@media(max-width:480px){.reco-section-header{padding:0 20px;}}
.reco-eyebrow{font-size:10px;letter-spacing:6px;color:var(--gold);text-transform:uppercase;margin-bottom:8px;}
.reco-title{font-family:'Cormorant Garamond',serif;font-size:clamp(28px,4vw,40px);font-weight:300;color:var(--ivory);margin-bottom:0;}
.reco-title em{font-style:italic;color:var(--champagne);}
.reco-grid{display:flex;flex-wrap:nowrap;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:0 0 32px;}
.reco-grid::-webkit-scrollbar{display:none;}
.reco-grid .reco-card:first-child{margin-left:48px;}
.reco-grid .reco-card:last-child{margin-right:48px;}
@media(max-width:768px){.reco-grid{gap:16px;padding-bottom:24px;}.reco-grid .reco-card:first-child{margin-left:24px;}.reco-grid .reco-card:last-child{margin-right:24px;}}
@media(max-width:480px){.reco-grid{gap:16px;padding-bottom:20px;}.reco-grid .reco-card:first-child{margin-left:20px;}.reco-grid .reco-card:last-child{margin-right:20px;}}
.reco-card{background:var(--ombre);border:1px solid var(--border);cursor:pointer;transition:border-color .3s,transform .3s;position:relative;overflow:hidden;min-width:260px;max-width:260px;flex-shrink:0;scroll-snap-align:start;display:flex;flex-direction:column;}
.reco-card:hover{border-color:var(--gold);transform:translateY(-6px);}
@media(max-width:768px){.reco-card{min-width:220px;max-width:220px;}}
@media(max-width:480px){.reco-card{min-width:190px;max-width:190px;}}
.reco-card-visual{height:220px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.reco-card-visual img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;transition:transform .5s cubic-bezier(.25,.46,.45,.94);}
.reco-card:hover .reco-card-visual img{transform:scale(1.05);}
.reco-card-emoji{font-size:64px;filter:drop-shadow(0 12px 30px rgba(168,148,94,.3));transition:transform .4s;}
.reco-card:hover .reco-card-emoji{transform:scale(1.08) translateY(-6px);}
.reco-card-glow{position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:70%;height:45%;background:radial-gradient(ellipse,rgba(168,148,94,.18),transparent);pointer-events:none;}
.reco-card-body{padding:18px 20px 22px;flex:1;display:flex;flex-direction:column;gap:4px;border-top:1px solid var(--border);}
.reco-card-tag{font-size:7px;letter-spacing:4px;color:var(--gold);text-transform:uppercase;margin-bottom:4px;}
.reco-card-name{font-family:'Cormorant Garamond',serif;font-size:19px;font-weight:400;color:var(--ivory);line-height:1.2;}
.reco-card-sub{font-size:11px;color:var(--muted);letter-spacing:1px;}
.reco-card-mood{font-family:'Cormorant Garamond',serif;font-size:12px;color:var(--muted);font-style:italic;line-height:1.5;margin-top:4px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.reco-card-footer{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:12px;}
.reco-card-price{font-family:'Cormorant Garamond',serif;font-size:17px;color:var(--champagne);}
.reco-card-btn{font-size:10px;letter-spacing:2px;color:var(--muted);text-transform:uppercase;transition:color .2s;}
.reco-card:hover .reco-card-btn{color:var(--gold);}
.reco-card:hover{border-color:var(--gold);transform:translateY(-4px);}
.reco-card::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(168,148,94,.05),transparent);opacity:0;transition:opacity .3s;}
.reco-card:hover::before{opacity:1;}
.reco-emoji{font-size:28px;margin-bottom:16px;display:block;}
.reco-img{width:100%;aspect-ratio:3/4;object-fit:contain;object-position:center;display:block;margin-bottom:16px;background:var(--noir);}
.reco-img-placeholder{width:100%;aspect-ratio:3/4;display:flex;align-items:center;justify-content:center;font-size:48px;margin-bottom:16px;background:linear-gradient(135deg,var(--ombre),var(--noir));}
.reco-tag{font-size:7px;letter-spacing:3px;color:var(--gold);text-transform:uppercase;margin-bottom:8px;}
.reco-name{font-family:'Cormorant Garamond',serif;font-size:18px;font-weight:300;color:var(--ivory);margin-bottom:4px;}
.reco-sub{font-size:11px;color:var(--muted);letter-spacing:1px;margin-bottom:12px;}
.reco-mood{font-size:10px;color:var(--muted);font-style:italic;line-height:1.5;margin-bottom:16px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.reco-price{font-family:'Montserrat',sans-serif;font-weight:400;font-variant-numeric:tabular-nums lining-nums;letter-spacing:.02em;font-size:15px;color:var(--gold);}
.reco-arrow{position:absolute;bottom:20px;right:20px;font-size:11px;color:var(--gold);opacity:0;transition:opacity .3s,transform .3s;}
.reco-card:hover .reco-arrow{opacity:1;transform:translateX(4px);}
[data-theme="light"] .reco-card{background:#EDE8E0;border-color:#D8D0C4;}
.rs-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:40px;flex-wrap:wrap;gap:20px;}
.rs-title{font-family:'Cormorant Garamond',serif;font-size:28px;font-weight:300;}
.rs-title em{font-style:italic;color:var(--champagne);}
.rs-summary{display:flex;align-items:center;gap:24px;flex-wrap:wrap;}
.rss-score{text-align:center;}
.rss-big{font-family:'Cormorant Garamond',serif;font-size:56px;color:var(--ivory);line-height:1;}
.rss-stars{color:var(--gold);font-size:14px;letter-spacing:4px;margin:4px 0;}
.rss-count{font-size:11px;color:var(--muted);letter-spacing:3px;text-transform:uppercase;}
.rss-bars{display:flex;flex-direction:column;gap:6px;min-width:160px;}
.rss-bar-row{display:flex;align-items:center;gap:8px;}
.rss-bar-label{font-size:11px;color:var(--muted);width:10px;text-align:right;flex-shrink:0;}
.rss-bar-track{flex:1;height:3px;background:var(--border);position:relative;overflow:hidden;}
.rss-bar-fill{height:100%;background:var(--gold);transition:width .6s ease;}
.rss-bar-count{font-size:11px;color:var(--muted);width:16px;text-align:right;flex-shrink:0;}

.btn-write-review{background:transparent;border:1px solid var(--gold);color:var(--gold);font-family:'Montserrat',sans-serif;font-size:11px;letter-spacing:4px;text-transform:uppercase;padding:13px 28px;cursor:pointer;transition:all .3s;position:relative;overflow:hidden;}
.btn-write-review::before{content:'';position:absolute;inset:0;background:var(--gold);transform:translateX(-101%);transition:transform .3s ease;}
.btn-write-review:hover::before{transform:translateX(0);}
.btn-write-review span{position:relative;z-index:1;}
.btn-write-review:hover span{color:var(--noir);}

.reviews-list{display:flex;flex-direction:column;gap:0;}
.review-item{padding:28px 0;border-bottom:1px solid var(--border);}
.review-item:first-child{border-top:1px solid var(--border);}
.ri-top{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:10px;gap:16px;flex-wrap:wrap;}
.ri-author{font-family:'Cormorant Garamond',serif;font-size:17px;color:var(--ivory);}
.ri-meta{font-size:11px;color:var(--muted);letter-spacing:1px;margin-top:4px;}
.ri-stars{color:var(--gold);font-size:12px;letter-spacing:3px;}
.ri-body{font-size:12px;color:var(--muted);line-height:2.2;max-width:640px;}
.ri-verified{display:inline-flex;align-items:center;gap:5px;font-size:10px;letter-spacing:2px;color:#5aaa80;text-transform:uppercase;margin-top:8px;}

.reviews-load-more-wrap{text-align:center;padding:32px 0 8px;}
.btn-load-more-reviews{background:transparent;border:1px solid var(--border);color:var(--muted);font-family:'Montserrat',sans-serif;font-size:11px;letter-spacing:3px;text-transform:uppercase;padding:13px 32px;cursor:pointer;transition:all .25s;}
.btn-load-more-reviews:hover{border-color:var(--gold);color:var(--champagne);}
.no-reviews{text-align:center;padding:48px 24px;border:1px solid var(--border);}
.nr-stars{font-size:28px;color:var(--border);letter-spacing:4px;margin-bottom:14px;}
.nr-sub{font-size:11px;color:var(--muted);letter-spacing:2px;margin-top:6px;}
.nr-icon{font-size:32px;margin-bottom:12px;opacity:.25;}
.nr-text{font-family:'Cormorant Garamond',serif;font-size:18px;color:var(--muted);font-style:italic;margin-bottom:16px;}

/* Review Form Modal */
.review-modal-bg{position:fixed;inset:0;background:var(--overlay-bg);z-index:4000;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .3s;backdrop-filter:blur(8px);padding:20px;}
.review-modal-bg.open{opacity:1;pointer-events:all;}
.review-modal{background:var(--ombre);border:1px solid var(--border);width:100%;max-width:520px;transform:translateY(20px);transition:transform .35s;}
.review-modal-bg.open .review-modal{transform:translateY(0);}
.rm-header{padding:24px 28px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;}
.rm-title{font-family:'Cormorant Garamond',serif;font-size:22px;font-weight:300;}
.rm-close{background:transparent;border:1px solid var(--border);color:var(--muted);width:32px;height:32px;cursor:pointer;font-size:13px;display:flex;align-items:center;justify-content:center;transition:all .2s;}
.rm-close:hover{border-color:var(--gold);color:var(--gold);}
.rm-body{padding:28px;}
.rm-product{display:flex;align-items:center;gap:12px;padding:14px;background:var(--noir);border:1px solid var(--border);margin-bottom:24px;}
.rm-product-thumb{width:40px;height:40px;font-size:20px;display:flex;align-items:center;justify-content:center;}
.rm-product-name{font-family:'Cormorant Garamond',serif;font-size:16px;}
.rm-product-sub{font-size:11px;color:var(--muted);letter-spacing:2px;}
.rm-field{display:flex;flex-direction:column;gap:7px;margin-bottom:18px;}
.rm-label{font-size:10px;letter-spacing:4px;color:var(--gold);text-transform:uppercase;}
.rm-field input,.rm-field textarea{background:var(--noir);border:1px solid var(--border);color:var(--ivory);font-family:'Montserrat',sans-serif;font-size:13px;font-weight:400;padding:13px 15px;outline:none;transition:border-color .2s;width:100%;resize:vertical;}
.rm-field input:focus,.rm-field textarea:focus{border-color:var(--gold);}
.rm-field input::placeholder,.rm-field textarea::placeholder{color:var(--muted);}

/* Star selector */
.star-selector{display:flex;gap:6px;margin-top:4px;}
.star-sel{font-size:26px;cursor:pointer;color:var(--border);transition:color .15s,transform .15s;}
.star-sel:hover,.star-sel.active{color:var(--gold);}
.star-sel:hover{transform:scale(1.15);}
.rating-label{font-size:10px;color:var(--muted);margin-left:8px;font-style:italic;font-family:'Cormorant Garamond',serif;align-self:center;}

.btn-submit-review{width:100%;background:var(--gold);border:1px solid var(--gold);color:var(--noir);font-family:'Montserrat',sans-serif;font-size:10px;letter-spacing:4px;text-transform:uppercase;padding:16px;cursor:pointer;transition:all .3s;margin-top:8px;}
.btn-submit-review:hover{background:var(--champagne);border-color:var(--champagne);}
.rm-note{font-size:11px;color:var(--muted);text-align:center;margin-top:10px;letter-spacing:1px;line-height:1.8;}
/* ══════════════════════════════════════
   FAQ PAGE
══════════════════════════════════════ */
.faq-wrap{max-width:900px;margin:0 auto;padding:120px 48px 100px;}
@media(max-width:600px){.faq-wrap{padding:100px 20px 80px;}}

.faq-back{margin-bottom:48px;}
.faq-back a{font-size:11px;letter-spacing:3px;text-transform:uppercase;color:var(--muted);text-decoration:none;cursor:pointer;transition:color .2s;}
.faq-back a:hover{color:var(--champagne);}

.faq-eyebrow{font-size:11px;letter-spacing:8px;color:var(--gold);text-transform:uppercase;margin-bottom:16px;}
.faq-headline{font-family:'Cormorant Garamond',serif;font-size:clamp(48px,8vw,96px);font-weight:300;line-height:.95;margin-bottom:20px;}
.faq-headline em{font-style:italic;color:var(--champagne);}
.faq-intro{font-size:15px;color:var(--muted);line-height:1.85;max-width:600px;margin-bottom:72px;font-family:'Cormorant Garamond',serif;font-style:italic;}

/* Category label */
.faq-category{font-size:10px;letter-spacing:6px;color:var(--gold);text-transform:uppercase;margin-bottom:0;padding:0 0 16px;border-bottom:1px solid var(--border);margin-top:64px;}
.faq-category:first-of-type{margin-top:0;}

/* Accordion items */
.faq-list{margin-top:0;}
.faq-item{border-bottom:1px solid var(--border);overflow:hidden;}
.faq-question{
  width:100%;background:transparent;border:none;
  display:flex;align-items:center;justify-content:space-between;gap:24px;
  padding:28px 0;cursor:pointer;text-align:left;
  transition:all .2s;
}
.faq-question:hover .fq-text{color:var(--ivory);}
.fq-text{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(18px,2.5vw,22px);
  font-weight:400;color:var(--champagne);
  line-height:1.3;transition:color .25s;
}
.fq-icon{
  flex-shrink:0;width:32px;height:32px;
  border:1px solid var(--border);
  display:flex;align-items:center;justify-content:center;
  color:var(--gold);font-size:16px;
  transition:all .35s cubic-bezier(.4,0,.2,1);
}
.faq-item.open .fq-icon{
  transform:rotate(45deg);
  border-color:var(--gold);
  background:rgba(168,148,94,.08);
}
.faq-item.open .fq-text{color:var(--ivory);}

.faq-answer{
  max-height:0;overflow:hidden;
  transition:max-height .45s cubic-bezier(.4,0,.2,1), opacity .35s ease;
  opacity:0;
}
.faq-item.open .faq-answer{opacity:1;}
.fa-inner{
  padding:0 48px 28px 0;
  font-size:15px;color:var(--muted);
  line-height:1.85;
}
@media(max-width:480px){.fa-inner{padding:0 0 24px;}}
.fa-inner strong{color:var(--champagne);font-weight:500;}
.fa-inner em{font-style:italic;color:var(--ivory);}

/* Still have questions */
.faq-cta{margin-top:80px;padding:48px;border:1px solid var(--border);background:var(--ombre);text-align:center;}
.faq-cta-title{font-family:'Cormorant Garamond',serif;font-size:clamp(28px,4vw,40px);margin-bottom:12px;}
.faq-cta-title em{font-style:italic;color:var(--champagne);}
.faq-cta-sub{font-size:12px;color:var(--muted);margin-bottom:32px;line-height:2;}
.faq-cta-btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;}
/* ══════════════════════════════════════════════════════
   THE SCENTS PAGE
══════════════════════════════════════════════════════ */
#scents-page { min-height: 100vh; }

/* ── SCENTS HERO BANNER ── */
.scents-hero {
  padding: 140px 80px 80px;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: flex-end;
  gap: 40px;
  border-bottom: 1px solid var(--border);
  position: relative;
  overflow: hidden;
}
@media(max-width:768px){ .scents-hero{ padding: 120px 24px 48px; grid-template-columns:1fr; } }
.scents-hero::before {
  content:'';
  position: absolute;
  top: 0; right: 0;
  width: 50%;
  height: 100%;
  background: radial-gradient(ellipse at 80% 30%, rgba(168,148,94,.06), transparent 70%);
  pointer-events: none;
}
.sh-left {}
.sh-eyebrow {
  font-size: 10px;
  letter-spacing: 8px;
  color: var(--gold);
  text-transform: uppercase;
  margin-bottom: 16px;
  display: flex;
  align-items: center;
  gap: 12px;
}
.sh-eyebrow::before {
  content: '';
  width: 32px;
  height: 1px;
  background: var(--gold);
  display: inline-block;
}
.sh-title {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(56px, 9vw, 120px);
  font-weight: 300;
  line-height: .88;
  letter-spacing: -2px;
  margin-bottom: 24px;
}
.sh-title em { font-style: italic; color: var(--champagne); }
.sh-desc {
  font-family: 'Cormorant Garamond', serif;
  font-size: 16px;
  color: var(--muted);
  font-style: italic;
  line-height: 2;
  max-width: 420px;
}
.sh-count {
  text-align: right;
  flex-shrink: 0;
}
.sh-count-num {
  font-family: 'Cormorant Garamond', serif;
  font-size: 80px;
  color: var(--border);
  line-height: 1;
  font-weight: 300;
}
.sh-count-label {
  font-size: 10px;
  letter-spacing: 4px;
  color: var(--muted);
  text-transform: uppercase;
}

/* ── CONTROLS BAR ── */
.scents-controls {
  padding: 24px 80px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  border-bottom: 1px solid var(--border);
  background: var(--noir);
  backdrop-filter: blur(8px);
  position: sticky;
  top: var(--nav-h, 60px);
  z-index: 50;
  flex-wrap: wrap;
  transition: top .35s cubic-bezier(.4,0,.2,1);
}
.nav-hidden-mode .scents-controls { top: 0; }
@media(max-width:768px){
  .filter-pills{
    overflow-x:auto;
    flex-wrap:nowrap;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }
  .filter-pills::-webkit-scrollbar{display:none;}
}

/* Filter pills */
.filter-pills {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: nowrap;
  flex: 1;
  overflow-x: auto;
  scrollbar-width: none;
}
.filter-pills::-webkit-scrollbar{display:none;}
@media(max-width:768px){
  .filter-pills {
    overflow-x: auto;
    flex-wrap: nowrap;
    scrollbar-width: none;
    -ms-overflow-style: none;
    padding-bottom: 2px;
  }
  .filter-pills::-webkit-scrollbar { display: none; }
}
.fp-label {
  font-size: 7px;
  letter-spacing: 4px;
  color: var(--muted);
  text-transform: uppercase;
  margin-right: 4px;
}
.fp-pill {
  background: transparent;
  border: 1px solid var(--border);
  color: var(--muted);
  font-family: 'Montserrat', sans-serif;
  font-size: 10px;
  letter-spacing: 3px;
  text-transform: uppercase;
  padding: 8px 16px;
  cursor: pointer;
  transition: all .2s;
  white-space: nowrap;
}
.fp-pill:hover { border-color: rgba(168,148,94,.5); color: var(--champagne); }
.fp-pill.active { border-color: var(--gold); color: var(--gold); background: rgba(168,148,94,.08); }

/* Sort + View controls */
.scents-right-controls {
  display: flex;
  align-items: center;
  gap: 16px;
}
.sort-select {
  background: transparent;
  border: 1px solid var(--border);
  color: var(--muted);
  font-family: 'Montserrat', sans-serif;
  font-size: 10px;
  letter-spacing: 2px;
  text-transform: uppercase;
  padding: 8px 14px;
  cursor: pointer;
  outline: none;
  transition: border-color .2s;
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%236a6050'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 10px center;
  padding-right: 28px;
}
.sort-select:focus,
.sort-select:hover { border-color: rgba(168,148,94,.5); color: var(--champagne); }
.sort-select option { background: #1E1A12; color: var(--ivory); }

.view-toggle {
  display: flex;
  gap: 4px;
}
.vt-btn {
  background: transparent;
  border: 1px solid var(--border);
  color: var(--muted);
  width: 34px;
  height: 34px;
  cursor: pointer;
  transition: all .2s;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
}
.vt-btn.active { border-color: var(--gold); color: var(--gold); background: rgba(168,148,94,.08); }
.vt-btn:hover { border-color: rgba(168,148,94,.5); color: var(--champagne); }

/* Results count */
.scents-results-bar {
  padding: 20px 80px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media(max-width:768px){ .scents-results-bar{ padding: 16px 20px; } }
.srb-count {
  font-size: 11px;
  letter-spacing: 3px;
  color: var(--muted);
  text-transform: uppercase;
}
.srb-count span { color: var(--champagne); }
.srb-clear {
  background: transparent;
  border: none;
  color: var(--muted);
  font-size: 11px;
  letter-spacing: 2px;
  text-transform: uppercase;
  cursor: pointer;
  transition: color .2s;
  padding: 0;
  display: none;
}
.srb-clear.show { display: block; }
.srb-clear:hover { color: var(--gold); }

/* ── PRODUCT GRID ── */
.scents-grid-wrap {
  padding: 32px 80px 120px;
  max-width: 1400px;
  margin: 0 auto;
}
@media(max-width:768px){ .scents-grid-wrap{ padding: 16px 20px 80px; } }

.scents-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
  transition: all .3s;
}
.scents-grid.view-list {
  grid-template-columns: 1fr;
  gap: 16px;
}
@media(max-width:1024px){ .scents-grid{ grid-template-columns: repeat(2, 1fr); gap: 24px; } }
@media(max-width:600px){ .scents-grid{ grid-template-columns: 1fr; gap: 20px; } .scents-grid.view-list{ gap: 14px; } }

/* GRID CARD */
.sc-card {
  position: relative;
  background: var(--ombre);
  border: 1px solid var(--border);
  overflow: hidden;
  cursor: pointer;
  transition: border-color .3s, transform .35s cubic-bezier(.25,.46,.45,.94);
  animation: sc-fadein .4s ease both;
  display: flex;
  flex-direction: column;
}
.sc-card:hover { border-color: rgba(168,148,94,.5); transform: translateY(-4px); z-index: 2; }
@keyframes sc-fadein {
  from { opacity: 0; transform: translateY(16px); }
  to   { opacity: 1; transform: translateY(0); }
}
/* staggered animation delays */
.sc-card:nth-child(1){animation-delay:.05s}
.sc-card:nth-child(2){animation-delay:.1s}
.sc-card:nth-child(3){animation-delay:.15s}
.sc-card:nth-child(4){animation-delay:.2s}
.sc-card:nth-child(5){animation-delay:.25s}
.sc-card:nth-child(6){animation-delay:.3s}

.sc-card-visual {
  height: 280px;
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}
.sc-card-visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  inset: 0;
  transition: transform .6s cubic-bezier(.25,.46,.45,.94);
}
.sc-card:hover .sc-card-visual img { transform: scale(1.06); }
.sc-card-emoji {
  font-size: 72px;
  filter: drop-shadow(0 12px 40px rgba(168,148,94,.25));
  transition: transform .4s cubic-bezier(.25,.46,.45,.94);
  position: relative;
  z-index: 1;
}
.sc-card:hover .sc-card-emoji { transform: scale(1.1) translateY(-8px); }
.sc-card-glow {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 80%;
  height: 60%;
  background: radial-gradient(ellipse, rgba(168,148,94,.15), transparent);
  pointer-events: none;
}
/* tag badge */
.sc-card-badge {
  position: absolute;
  top: 16px;
  left: 16px;
  background: color-mix(in srgb, var(--noir) 85%, transparent);
  border: 1px solid var(--border);
  color: var(--gold);
  font-size: 7px;
  letter-spacing: 3px;
  text-transform: uppercase;
  padding: 5px 10px;
  backdrop-filter: blur(4px);
}
/* quick view overlay */
.sc-card-overlay {
  position: absolute;
  inset: 0;
  background: color-mix(in srgb, var(--noir) 75%, transparent);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity .3s;
  backdrop-filter: blur(2px);
}
.sc-card:hover .sc-card-overlay { opacity: 1; }
.sc-card-overlay-btn {
  background: var(--gold);
  border: none;
  color: var(--noir);
  font-family: 'Montserrat', sans-serif;
  font-size: 11px;
  letter-spacing: 4px;
  text-transform: uppercase;
  padding: 14px 28px;
  cursor: pointer;
  transition: background .2s;
}
.sc-card-overlay-btn:hover { background: var(--champagne); }

.sc-card-body {
  padding: 24px 24px 28px;
  border-top: 1px solid var(--border);
  display: flex;
  flex-direction: column;
  flex: 1;
}
.sc-card-tag {
  font-size: 7px;
  letter-spacing: 4px;
  color: var(--gold);
  text-transform: uppercase;
  margin-bottom: 8px;
}
.sc-card-name {
  font-family: 'Cormorant Garamond', serif;
  font-size: 22px;
  font-weight: 400;
  color: var(--ivory);
  margin-bottom: 2px;
  line-height: 1.1;
}
.sc-card-name em { color: var(--champagne); font-style: italic; }
.sc-card-mood {
  font-family: 'Cormorant Garamond', serif;
  font-size: 15px;
  color: var(--muted);
  font-style: italic;
  margin-bottom: 16px;
  line-height: 1.55;
}
.sc-card-notes {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  margin-bottom: 18px;
}
.sc-note-chip {
  background: rgba(168,148,94,.08);
  border: 1px solid rgba(168,148,94,.2);
  color: var(--muted);
  font-size: 7px;
  letter-spacing: 2px;
  text-transform: uppercase;
  padding: 4px 10px;
}
.sc-card-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: auto;
  padding-top: 16px;
}
.sc-card-rating {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 4px;
}
.sc-card-rating-stars { color: var(--gold); font-size: 10px; letter-spacing: 2px; }
.sc-card-rating-count { font-size: 11px; color: var(--muted); letter-spacing: 1px; }
.sc-card-price {
  font-family: 'Cormorant Garamond', serif;
  font-size: 22px;
  color: var(--champagne);
}
.sc-card-size {
  font-size: 11px;
  color: var(--muted);
  letter-spacing: 1px;
  margin-top: 2px;
}
.sc-card-btn {
  background: transparent;
  border: 1px solid var(--border);
  color: var(--muted);
  font-family: 'Montserrat', sans-serif;
  font-size: 10px;
  letter-spacing: 3px;
  text-transform: uppercase;
  padding: 10px 18px;
  cursor: pointer;
  transition: all .25s;
}
.sc-card-btn:hover { border-color: var(--gold); color: var(--gold); }

/* LIST VIEW card */
.scents-grid.view-list .sc-card {
  display: grid;
  grid-template-columns: 200px 1fr;
  transform: none !important;
}
.scents-grid.view-list .sc-card:hover { transform: none !important; border-color: rgba(168,148,94,.5); }
.scents-grid.view-list .sc-card-visual { height: 200px; }
.scents-grid.view-list .sc-card-body {
  padding: 32px 36px;
  border-top: none;
  border-left: 1px solid var(--border);
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.scents-grid.view-list .sc-card-overlay { display: none; }
@media(max-width:600px){
  .scents-grid.view-list .sc-card { grid-template-columns: 100px 1fr; }
  .scents-grid.view-list .sc-card-visual { height: 100px; }
  .scents-grid.view-list .sc-card-body { border-left: 1px solid var(--border); border-top: none; padding: 14px 16px; }
  .scents-grid.view-list .sc-card-name { font-size: 17px; }
  .scents-grid.view-list .sc-card-mood { font-size: 11px; margin-bottom: 8px; }
  .scents-grid.view-list .sc-card-notes { display: none; }
  .scents-grid.view-list .sc-card-btn { padding: 8px 12px; font-size: 7px; }
}

/* ── MOBILE FILTER DRAWER ── */
.mf-trigger-bar{display:none;}
.mf-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:1100;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);opacity:0;transition:opacity .3s;}
.mf-overlay.open{display:block;opacity:1;}
.mf-drawer{position:fixed;bottom:0;left:0;right:0;z-index:1101;background:var(--noir);border-top:1px solid var(--border);transform:translateY(100%);transition:transform .4s cubic-bezier(.25,.8,.25,1);max-height:85vh;display:flex;flex-direction:column;border-radius:16px 16px 0 0;}
.mf-drawer.open{transform:translateY(0);}
.mf-drawer-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 16px;border-bottom:1px solid var(--border);}
.mf-drawer-title{font-family:'Cormorant Garamond',serif;font-size:22px;font-weight:400;color:var(--ivory);}
.mf-drawer-close{background:none;border:none;color:var(--muted);font-size:18px;cursor:pointer;padding:4px 8px;transition:color .2s;}
.mf-drawer-close:hover{color:var(--ivory);}
.mf-drawer-body{flex:1;overflow-y:auto;padding:20px 24px;-webkit-overflow-scrolling:touch;}
.mf-section{margin-bottom:28px;}
.mf-section:last-child{margin-bottom:12px;}
.mf-section-label{font-size:10px;letter-spacing:5px;color:var(--gold);text-transform:uppercase;margin-bottom:14px;}
.mf-chips{display:flex;gap:8px;flex-wrap:wrap;}
.mf-chip{background:transparent;border:1px solid var(--border);color:var(--muted);font-family:'Montserrat',sans-serif;font-size:11px;letter-spacing:2px;text-transform:uppercase;padding:10px 20px;cursor:pointer;transition:all .25s;}
.mf-chip:hover{border-color:rgba(168,148,94,.4);color:var(--champagne);}
.mf-chip.active{border-color:var(--gold);color:var(--gold);background:rgba(168,148,94,.1);}
.mf-sort-opts{display:flex;flex-direction:column;gap:2px;}
.mf-sort-opt{background:transparent;border:none;color:var(--muted);font-family:'Montserrat',sans-serif;font-size:11px;letter-spacing:1px;padding:12px 16px;cursor:pointer;transition:all .2s;text-align:left;border-left:2px solid transparent;}
.mf-sort-opt:hover{color:var(--champagne);}
.mf-sort-opt.active{color:var(--gold);border-left-color:var(--gold);background:rgba(168,148,94,.05);}
.mf-view-opts{display:flex;gap:8px;}
.mf-view-opt{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;background:transparent;border:1px solid var(--border);color:var(--muted);font-family:'Montserrat',sans-serif;font-size:10px;letter-spacing:2px;text-transform:uppercase;padding:12px;cursor:pointer;transition:all .25s;}
.mf-view-opt:hover{border-color:rgba(168,148,94,.4);}
.mf-view-opt.active{border-color:var(--gold);color:var(--gold);background:rgba(168,148,94,.08);}
.mf-drawer-footer{display:flex;gap:12px;padding:16px 24px 28px;border-top:1px solid var(--border);}
.mf-clear-btn{flex:1;background:transparent;border:1px solid var(--border);color:var(--muted);font-family:'Montserrat',sans-serif;font-size:11px;letter-spacing:3px;text-transform:uppercase;padding:14px;cursor:pointer;transition:all .2s;}
.mf-clear-btn:hover{border-color:var(--gold);color:var(--champagne);}
.mf-apply-btn{flex:2;background:var(--gold);border:none;color:var(--noir);font-family:'Montserrat',sans-serif;font-size:11px;letter-spacing:4px;text-transform:uppercase;padding:14px;cursor:pointer;transition:opacity .2s;}
.mf-apply-btn:hover{opacity:.85;}
/* Trigger bar */
.mf-trigger-bar{position:sticky;top:var(--nav-h, 56px);z-index:50;padding:10px 16px;display:flex;align-items:center;justify-content:space-between;background:var(--noir);border-bottom:1px solid var(--border);transition:top .35s cubic-bezier(.4,0,.2,1);}
.nav-hidden-mode .mf-trigger-bar{top:0;}
.mf-trigger-btn{display:flex;align-items:center;gap:8px;background:transparent;border:1px solid var(--border);color:var(--muted);font-family:'Montserrat',sans-serif;font-size:11px;letter-spacing:3px;text-transform:uppercase;padding:9px 16px;cursor:pointer;transition:all .2s;}
.mf-trigger-btn:hover{border-color:var(--gold);color:var(--gold);}
.mf-trigger-btn svg{opacity:.6;}
.mf-count{background:var(--gold);color:var(--noir);font-size:10px;font-weight:600;padding:1px 6px;border-radius:8px;margin-left:2px;}
.mf-trigger-right{display:flex;align-items:center;gap:8px;}
.mf-result-count{font-size:11px;color:var(--muted);letter-spacing:1px;}
/* Light theme */
[data-theme="light"] .mf-drawer{background:var(--panel-bg);}
[data-theme="light"] .mf-apply-btn{background:var(--gold);color:#fff;}
/* Desktop: hide mobile drawer, show controls */
@media(min-width:769px){.mf-trigger-bar{display:none !important;}.mf-drawer{display:none !important;}.mf-overlay{display:none !important;}}
/* Mobile: hide desktop controls, show trigger */
@media(max-width:768px){.scents-controls{display:none !important;}.mf-trigger-bar{display:flex;}}

/* Empty state */
.scents-empty {
  padding: 100px 20px;
  text-align: center;
  grid-column: 1 / -1;
}
.se-icon { font-size: 48px; margin-bottom: 20px; opacity: .2; }
.se-title {
  font-family: 'Cormorant Garamond', serif;
  font-size: 32px;
  color: var(--muted);
  font-style: italic;
  margin-bottom: 10px;
}
.se-sub { font-size: 10px; color: var(--muted); letter-spacing: 2px; opacity: .6; }
.se-sub { font-size: 10px; color: var(--muted); letter-spacing: 2px; opacity: .6; }

/* ══════════════════════════════════════════════════════
   THEME TOGGLE BUTTON
══════════════════════════════════════════════════════ */
.theme-toggle {
  position: relative;
  width: 48px;
  height: 26px;
  background: transparent;
  border: 1px solid var(--border);
  border-radius: 13px;
  cursor: none;
  padding: 0;
  flex-shrink: 0;
  transition: border-color .3s, background .3s;
  overflow: hidden;
}
.theme-toggle:hover { border-color: var(--gold); }
.theme-toggle-track {
  position: absolute;
  inset: 0;
  border-radius: 13px;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 5px;
}
.theme-toggle-icon {
  font-size: 11px;
  line-height: 1;
  transition: opacity .3s;
  pointer-events: none;
  z-index: 1;
}
.theme-toggle-icon.dark-icon { opacity: 1; }
.theme-toggle-icon.light-icon { opacity: 0.4; }
[data-theme="light"] .theme-toggle-icon.dark-icon { opacity: 0.4; }
[data-theme="light"] .theme-toggle-icon.light-icon { opacity: 1; }
.theme-toggle-knob {
  position: absolute;
  top: 3px;
  left: 3px;
  width: 18px;
  height: 18px;
  background: var(--gold);
  border-radius: 50%;
  transition: transform .3s cubic-bezier(.34,1.56,.64,1), background .3s;
  pointer-events: none;
  z-index: 2;
}
[data-theme="light"] .theme-toggle-knob {
  transform: translateX(22px);
}
@media(max-width:768px){ .theme-toggle { cursor: pointer; } }

/* ── LIGHT THEME OVERRIDES ─────────────────────────── */
/* Elements that need more than just variable swaps */
[data-theme="light"] body::before { opacity: 0.18; }

/* Hero title contrast */
[data-theme="light"] .hero-title { color: #3D3833; }
[data-theme="light"] .hero-title em { color: #8B6B20; }
[data-theme="light"] .hero-eyebrow { color: #A8873A; }
[data-theme="light"] .hero-maison { color: #9A8E82; }
[data-theme="light"] .hero-scroll span { color: #9A8E82; }

/* Nav in light mode */
[data-theme="light"] nav {
  background: linear-gradient(to bottom, color-mix(in srgb,#F8F5F0 95%,transparent), transparent);
}
[data-theme="light"] nav.scrolled {
  background: rgba(248,245,240,.97);
}
[data-theme="light"] .mobile-menu {
  background: #F0EBE3;
  border-right: 1px solid #D8D0C4;
}
[data-theme="light"] .mobile-menu::before { display: none; }
[data-theme="light"] .hamburger .bar { background: #6a5c4a; }
[data-theme="light"] .mob-cart-icon { color: #6a5c4a; }

/* Buttons */
[data-theme="light"] .btn-primary {
  border-color: #A8873A;
  color: #A8873A;
}
[data-theme="light"] .btn-primary::before {
  background: #A8873A;
}
[data-theme="light"] .btn-primary:hover span { color: #F8F5F0; }
[data-theme="light"] .nav-cart { color: #8B6B20; border-color: #D8D0C4; }
[data-theme="light"] .nav-cart:hover { background: #A8873A; color: #F8F5F0; border-color: #A8873A; }

/* Cart */
[data-theme="light"] .cart-panel { background: #EDE8E0; border-left-color: #D8D0C4; }
[data-theme="light"] .cart-item { border-bottom-color: #D8D0C4; }
[data-theme="light"] .cart-item-emoji { background: #F0EBE3; }

/* Checkout + forms */
[data-theme="light"] .checkout-modal { background: #EDE8E0; border-color: #D8D0C4; }
[data-theme="light"] .cm-order-summary { background: #F8F5F0; border-color: #D8D0C4; }
[data-theme="light"] .cfield input,
[data-theme="light"] .cfield select,
[data-theme="light"] .cfield textarea { background: #F8F5F0; border-color: #D8D0C4; color: #3D3833; }
[data-theme="light"] .cfield select option { background: #F8F5F0; color: #3D3833; }

/* Product page */
[data-theme="light"] .pv-main { background: #F0EBE3; border-color: #D8D0C4; }
[data-theme="light"] .pv-thumb { background: #F0EBE3; border-color: #D8D0C4; }

/* Search */
[data-theme="light"] .search-input { color: #3D3833; }
[data-theme="light"] .search-input::placeholder { color: #9A8E82; }
[data-theme="light"] .search-result { border-color: #D8D0C4; }
[data-theme="light"] .search-result:hover { background: #F0EBE3; }
[data-theme="light"] .search-result-emoji { background: #F0EBE3; border-color: #D8D0C4; }

/* Reviews */
[data-theme="light"] .review-modal-inner { background: #EDE8E0; border-color: #D8D0C4; }
[data-theme="light"] .review-card { background: #F0EBE3; border-color: #D8D0C4; }

/* FAQ */
[data-theme="light"] .faq-item { border-color: #D8D0C4; }
[data-theme="light"] .faq-cta { background: #EDE8E0; border-color: #D8D0C4; }

/* Scents page */
[data-theme="light"] .sc-card { background: #EDE8E0; border-color: #D8D0C4; }
[data-theme="light"] .sc-card-body { border-color: #D8D0C4; }
[data-theme="light"] .sc-card-note { background: #F0EBE3; border-color: #D8D0C4; }
[data-theme="light"] .sc-list-card .sc-card-body { border-left-color: #D8D0C4; }
[data-theme="light"] .sort-select { color: #6a5c4a; }
[data-theme="light"] .sort-select option { background: #F8F5F0; color: #3D3833; }

/* Toast in light mode — dark on light */
[data-theme="light"] .toast { background: #3D3833; color: #F8F5F0; }

/* Carousel cards */
[data-theme="light"] .carousel-card { background: #EDE8E0; border-color: #D8D0C4; }

/* Featured section */
[data-theme="light"] .fi-notes .note-item { background: transparent; }
[data-theme="light"] .fi-label { color: #A8873A; }

/* pd notes */
[data-theme="light"] .pd-note { background: #F0EBE3; border-color: #D8D0C4; }

/* Footer */
[data-theme="light"] footer { border-top-color: #D8D0C4; background: #DDD5C8; }
[data-theme="light"] .footer-bottom { border-top-color: #D8D0C4; background: #DDD5C8; border-top: none; }
[data-theme="light"] .footer-ornament { background: #DDD5C8; }
[data-theme="light"] .social-btn { border-color: #D8D0C4; color: #9A8E82; }

/* Footer */
[data-theme="light"] footer { border-top-color: #D8D0C4; background: #DDD5C8; }
[data-theme="light"] .footer-bottom { border-top-color: #D8D0C4; background: #DDD5C8; border-top: none; }
[data-theme="light"] .footer-ornament { background: #DDD5C8; }
[data-theme="light"] .social-btn { border-color: #D8D0C4; color: #9A8E82; }

/* ══ TRACK ORDER PAGE ════════════════════════════════ */
.track-wrap{max-width:860px;margin:0 auto;padding:120px 48px 80px;}
.track-header{margin-bottom:48px;}
.track-search-box{background:var(--ombre);border:1px solid var(--border);padding:36px 40px;margin-bottom:40px;}
.track-search-label{font-size:11px;color:var(--muted);letter-spacing:2px;margin-bottom:20px;}
.track-input-row{display:flex;gap:12px;margin-bottom:16px;}
.track-input{flex:1;background:var(--noir);border:1px solid var(--border);color:var(--ivory);font-family:'Montserrat',sans-serif;font-size:14px;font-weight:400;padding:14px 18px;outline:none;transition:border-color .2s;letter-spacing:1px;}
.track-input:focus{border-color:var(--gold);}
.track-input::placeholder{color:var(--muted);}
.track-search-btn{white-space:nowrap;flex-shrink:0;}
.track-hint{font-size:11px;color:var(--muted);letter-spacing:1px;}
/* ── JOURNEY ROADMAP ── */
.tc-journey{margin-bottom:40px;}
.tc-journey-title{font-size:10px;letter-spacing:4px;color:var(--champagne);text-transform:uppercase;margin-bottom:16px;text-align:center;}
.tc-road-canvas-wrap{position:relative;width:100%;border-radius:4px;overflow:hidden;}
#tc-road-canvas{display:block;width:100%;height:200px;}
.tc-stage-labels{display:flex;justify-content:space-between;padding:10px 20px 0;margin-top:4px;}
.tc-slabel{display:flex;flex-direction:column;align-items:center;gap:4px;flex:1;}
.tc-slabel-dot{width:8px;height:8px;border-radius:50%;background:var(--border);transition:background .4s;}
.tc-slabel-dot.done{background:var(--gold);}
.tc-slabel-dot.current{background:var(--gold);box-shadow:0 0 8px var(--gold);animation:dotPulse 1.5s ease-in-out infinite;}
@keyframes dotPulse{0%,100%{box-shadow:0 0 8px var(--gold);}50%{box-shadow:0 0 16px var(--gold),0 0 28px rgba(168,148,94,.4);}}
.tc-slabel-text{font-size:7px;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);text-align:center;line-height:1.5;}
.tc-slabel-text.active{color:var(--champagne);}
@media(max-width:700px){#tc-road-canvas{height:140px;}.tc-slabel-text{font-size:6px;letter-spacing:1px;}}
/* Result card */
.track-card{background:var(--ombre);border:1px solid var(--border);padding:36px 40px;}
.tc-order-id{font-family:'Cormorant Garamond',serif;font-size:28px;color:var(--ivory);margin-bottom:4px;}
.tc-date{font-size:11px;color:var(--muted);letter-spacing:2px;margin-bottom:28px;}
.tc-status-row{display:flex;align-items:center;gap:12px;margin-bottom:32px;}
.tc-status-label{font-size:10px;letter-spacing:4px;color:var(--muted);text-transform:uppercase;}
.tc-awb-box{background:var(--noir);border:1px solid var(--border);padding:20px 24px;margin-bottom:32px;}
.tc-awb-label{font-size:10px;letter-spacing:4px;color:var(--gold);text-transform:uppercase;margin-bottom:8px;}
.tc-awb-val{font-family:'Cormorant Garamond',serif;font-size:22px;color:var(--ivory);letter-spacing:2px;}
.tc-awb-courier{font-size:10px;color:var(--muted);margin-top:4px;letter-spacing:1px;}
.tc-track-link{display:inline-block;margin-top:12px;font-size:11px;letter-spacing:3px;text-transform:uppercase;color:var(--gold);text-decoration:none;border-bottom:1px solid var(--gold);padding-bottom:2px;transition:opacity .2s;}
.tc-track-link:hover{opacity:.7;}
/* Shiprocket events */
.tc-events-wrap{margin-top:8px;}
.tc-tl-title{font-size:10px;letter-spacing:4px;color:var(--champagne);text-transform:uppercase;margin-bottom:16px;}
.tl-item{display:flex;gap:16px;padding:12px 0;border-bottom:1px solid var(--border);position:relative;}
.tl-item:last-child{border-bottom:none;}
.tl-dot{width:10px;height:10px;border-radius:50%;background:var(--border);flex-shrink:0;margin-top:3px;}
.tl-dot.active{background:var(--gold);}
.tl-body{flex:1;}
.tl-status{font-size:10px;color:var(--ivory);letter-spacing:1px;margin-bottom:2px;}
.tl-location{font-size:11px;color:var(--muted);letter-spacing:1px;}
.tl-time{font-size:10px;color:var(--muted);margin-top:-6px;}
/* Items */
.tc-items{margin-top:24px;padding-top:24px;border-top:1px solid var(--border);}
.tc-items-title{font-size:10px;letter-spacing:4px;color:var(--muted);text-transform:uppercase;margin-bottom:14px;}
.tc-item-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--border);font-size:11px;}
.tc-item-row:last-child{border-bottom:none;}
.tc-item-name{color:var(--ivory);font-family:'Cormorant Garamond',serif;font-size:14px;line-height:1.3;}
.tc-item-meta{font-size:11px;color:var(--muted);letter-spacing:1px;margin-top:4px;}
.tc-item-price{color:var(--champagne);font-family:'Cormorant Garamond',serif;font-size:15px;}
.tc-not-found{padding:40px;text-align:center;background:var(--ombre);border:1px solid var(--border);}
.tc-nf-icon{font-size:32px;margin-bottom:12px;}
.tc-nf-text{font-family:'Cormorant Garamond',serif;font-size:22px;color:var(--ivory);margin-bottom:8px;}
.tc-nf-sub{font-size:10px;color:var(--muted);letter-spacing:1px;}
.tc-refresh-btn{background:transparent;border:1px solid var(--border);color:var(--muted);font-family:'Montserrat',sans-serif;font-size:10px;letter-spacing:3px;text-transform:uppercase;padding:8px 16px;cursor:pointer;transition:all .2s;margin-top:16px;}
.tc-refresh-btn:hover{border-color:var(--gold);color:var(--gold);}
.tc-loading{padding:40px;text-align:center;color:var(--muted);font-size:11px;letter-spacing:2px;}
/* ── Delivered Celebration Popup ── */
.delivered-popup-overlay{position:fixed;top:0;left:0;right:0;bottom:0;z-index:999991;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.6);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);opacity:0;animation:dpPopIn .6s cubic-bezier(.16,1,.3,1) forwards;}
.delivered-popup{background:#0C0B08;border:1px solid rgba(168,148,94,.35);padding:52px 48px;text-align:center;max-width:420px;width:90%;position:relative;overflow:hidden;transform:scale(.85) translateY(30px);animation:dpCardIn .6s cubic-bezier(.16,1,.3,1) .1s forwards;opacity:0;}
@media(max-width:480px){.delivered-popup{padding:36px 28px;max-width:340px;}.dp-title{font-size:26px !important;}.dp-checkmark{width:52px;height:52px;}.dp-checkmark svg{width:22px;height:22px;}.dp-message{font-size:13px !important;margin-bottom:20px !important;}}
.delivered-popup::before{content:'';position:absolute;inset:-1px;background:linear-gradient(135deg,rgba(168,148,94,.15),transparent 50%,rgba(168,148,94,.08));pointer-events:none;}
.dp-checkmark{width:64px;height:64px;margin:0 auto 28px;border:2px solid #A8945E;border-radius:50%;display:flex;align-items:center;justify-content:center;position:relative;}
.dp-checkmark svg{width:28px;height:28px;stroke:#A8945E;stroke-width:2.5;fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:30;stroke-dashoffset:30;animation:dpCheck .5s ease .5s forwards;}
.dp-glow{position:absolute;width:100%;height:100%;border-radius:50%;box-shadow:0 0 24px rgba(168,148,94,.4),0 0 48px rgba(168,148,94,.15);animation:dpGlow 2s ease-in-out infinite;}
.dp-title{font-family:'Cormorant Garamond',serif;font-size:32px;font-weight:300;color:#FAF8F3;margin-bottom:8px;letter-spacing:1px;}
.dp-subtitle{font-size:11px;letter-spacing:5px;text-transform:uppercase;color:#A8945E;margin-bottom:24px;}
.dp-message{font-family:'Cormorant Garamond',serif;font-size:15px;color:#6a6050;line-height:2;font-style:italic;margin-bottom:28px;}
.dp-review-btn{display:inline-block;border:1px solid #A8945E;color:#A8945E;background:transparent;font-family:'Montserrat',sans-serif;font-size:11px;letter-spacing:4px;text-transform:uppercase;padding:14px 36px;cursor:pointer;transition:all .3s;text-decoration:none;}
.dp-review-btn:hover{background:#A8945E;color:#0C0B08;}
.dp-dismiss{font-size:10px;letter-spacing:3px;color:#4a4040;text-transform:uppercase;margin-top:16px;cursor:pointer;transition:color .2s;}
.dp-dismiss:hover{color:#6a6050;}
@keyframes dpPopIn{to{opacity:1;}}
@keyframes dpCardIn{to{opacity:1;transform:scale(1) translateY(0);}}
@keyframes dpCheck{to{stroke-dashoffset:0;}}
@keyframes dpGlow{0%,100%{box-shadow:0 0 24px rgba(168,148,94,.4),0 0 48px rgba(168,148,94,.15);}50%{box-shadow:0 0 32px rgba(168,148,94,.6),0 0 64px rgba(168,148,94,.25);}}
.delivered-popup-overlay.fade-out{animation:dpPopOut .8s ease forwards;}
.delivered-popup-overlay.fade-out .delivered-popup{animation:dpCardOut .6s ease forwards;}
@keyframes dpPopOut{to{opacity:0;}}
@keyframes dpCardOut{to{opacity:0;transform:scale(.9) translateY(-20px);}}
[data-theme="light"] .delivered-popup{background:#FAF8F3;border-color:rgba(168,148,94,.3);}
[data-theme="light"] .dp-title{color:#0C0B08;}
[data-theme="light"] .dp-message{color:#8a7e6e;}
[data-theme="light"] .delivered-popup-overlay{background:rgba(255,255,255,.5);}

[data-theme="light"] .track-search-box{background:var(--ombre);border-color:var(--border);}
[data-theme="light"] .track-input{background:var(--input-bg);}
[data-theme="light"] .track-card{background:var(--ombre);border-color:var(--border);}
[data-theme="light"] .tc-awb-box{background:var(--input-bg);border-color:var(--border);}
@media(max-width:700px){
  .track-wrap{padding:90px 16px 48px;}
  .track-search-box{padding:24px 20px;}
  .track-input-row{flex-direction:column;}
  .track-card{padding:24px 20px;}

}


                600px  (large phone)
                480px  (phone — already handled above)
                380px  (small phone)
══════════════════════════════════════════════════════ */

/* ── TABLET LANDSCAPE (≤1100px) ── */
@media(max-width:1100px){
  .featured{ padding:100px 48px; gap:56px; }
  footer{ padding:72px 48px 40px; }
  .footer-bottom{ padding:20px 48px; }
  .scents-hero{ padding:140px 48px 72px; }
  .scents-controls{ padding:20px 48px; }
  .scents-results-bar{ padding:16px 48px; }
  .scents-grid-wrap{ padding:0 48px 100px; }
  .sh-count-num{ font-size:60px; }
}

/* ── TABLET PORTRAIT (≤900px) ── */
@media(max-width:900px){
  /* Nav */
  nav{ padding:18px 24px; }

  /* Hero */
  .hero-title{ font-size: clamp(48px, 12vw, 80px); }
  .hero-eyebrow{ letter-spacing:5px; }

  /* Featured / New Arrival */
  .featured{ padding:72px 24px; gap:40px; }
  .featured-3d{ height:380px; }
  .featured-img-wrap{ height:380px; }
  .fi-title{ font-size:clamp(32px,6vw,48px); }

  /* Carousel */
  .carousel-section{ padding:60px 0 80px; }
  .cs-header{ padding:0 24px; }

  /* Product page */
  .product-wrap{ grid-template-columns:1fr; padding:40px 24px; gap:32px; }
  .pv-main{ height:380px; }
  .pd-notes-grid{ grid-template-columns:repeat(3,1fr); gap:8px; }
  .pd-actions{ flex-wrap:wrap; }
  .pd-actions .btn-primary{ flex:1; min-width:140px; text-align:center; }

  /* Checkout */
  .checkout-modal{ max-width:100%; margin:0 16px; }
  .cfield-row{ grid-template-columns:1fr; }
  .cm-body{ padding:20px 20px; }
  .cm-header{ padding:20px 20px; }

  /* Story */
  .story-wrap{ padding:100px 32px 60px; }
  .story-columns{ grid-template-columns:1fr; gap:32px; }

  /* Contact */
  .contact-wrap{ padding:100px 32px 60px; }

  /* FAQ */
  .faq-wrap{ padding:100px 32px 80px; }
  .faq-cta{ padding:32px 24px; }

  /* Scents page */
  .scents-hero{ padding:120px 24px 56px; }
  .sh-title{ font-size:clamp(48px,10vw,80px); }
  .sh-count-num{ font-size:48px; }
  .scents-controls{ padding:14px 20px; }
  .scents-right-controls{ justify-content:flex-end; }
  .filter-pills{ width:100%; overflow-x:auto; flex-wrap:nowrap; scrollbar-width:none; -webkit-overflow-scrolling:touch; }
  .filter-pills::-webkit-scrollbar{display:none;}
  .scents-grid-wrap{ padding:0 20px 80px; }
  .scents-results-bar{ padding:12px 20px; }

  /* Footer */
  .footer-bottom{ padding:16px 24px; }
}

/* ── LARGE PHONE (≤600px) ── */
@media(max-width:600px){
  /* Nav */
  nav{ padding:16px 16px; }
  .nav-brand{ font-size:18px; letter-spacing:3px; }
  .nav-sub{ display:none; }

  /* Hero */
  .hero-title{ font-size:clamp(42px,13vw,64px); letter-spacing:-0.5px; }
  .hero-content{ padding:0 16px; }

  /* Featured */
  .featured{ padding:56px 16px; gap:32px; }
  .featured-3d,.featured-img-wrap{ height:300px; }
  .fi-title{ font-size:clamp(28px,8vw,40px); }
  .fi-desc{ font-size:11px; }
  .fi-notes{ gap:16px; }
  .fi-price{ font-size:22px; }
  .btn-primary{ padding:16px 32px; font-size:11px; width:100%; text-align:center; }

  /* Carousel */
  .carousel-section{ padding:48px 0 64px; }
  .carousel-card{ width:300px; }
  .cc-visual{ height:200px; }

  /* Product page */
  .pv-main{ height:300px; }
  .pd-notes-grid{ grid-template-columns:1fr; gap:8px; }
  .pd-price{ font-size:28px; }
  .pd-mood{ font-size:15px; }
  .size-opts{ gap:8px; }
  .size-opt{ padding:10px 14px; font-size:11px; }
  .pd-actions{ gap:8px; }
  .pd-actions .btn-primary,.pd-actions .btn-add,.pd-actions .btn-wish{ width:100%; }
  .pd-perks{ gap:10px; }

  /* Review section */
  .reviews-wrap{ padding:40px 16px; }
  .review-form-modal .rfm-inner{ padding:24px 16px; width:calc(100vw - 32px); }
  .rfm-stars{ gap:8px; }
  .rfm-star{ font-size:28px; }

  /* Cart */
  .cart-panel{ width:100%; left:0; right:0; }

  /* Checkout */
  .checkout-modal{ margin:0; border-radius:0; max-height:100vh; }
  .cm-body{ padding:16px 16px; }
  .cm-header{ padding:16px 16px; }

  /* Scents page */
  .scents-hero{ padding:100px 16px 40px; }
  .sh-title{ font-size:clamp(40px,12vw,60px); }
  .sh-desc{ font-size:14px; }
  .sh-count{ display:none; }
  .sc-card-visual{ height:240px; }
  .scents-controls{ padding:10px 12px; top:var(--nav-h, 52px); gap:8px; }
  .scents-right-controls{ gap:6px; }
  .sort-select{ font-size:7px; padding:6px 22px 6px 8px; }
  .fp-pill{ font-size:7px; padding:6px 10px; letter-spacing:2px; }
  .fp-label{ display:none; }
  .scents-grid-wrap{ padding:0 16px 64px; }

  /* Story */
  .story-wrap{ padding:90px 20px 48px; }
  .story-columns{ grid-template-columns:1fr; gap:24px; }
  .story-pull{ font-size:clamp(20px,5vw,28px); padding-left:20px; }
  .story-sig{ flex-direction:column; gap:16px; }
  .story-sig-right{ text-align:left; }

  /* Contact */
  .contact-wrap{ padding:90px 16px 48px; }
  .contact-info{ gap:20px; }
  .ci-block{ gap:12px; }

  /* FAQ */
  .faq-wrap{ padding:90px 16px 64px; }
  .fq-text{ font-size:16px; }
  .faq-cta{ padding:24px 16px; }
  .faq-cta-btns .btn-primary{ width:100%; }

  /* Footer */
  footer{ padding:40px 16px 28px; gap:24px; }
  .footer-brand-name{ font-size:22px; }
  .footer-bottom{ padding:16px 16px; gap:8px; }
  .fb-copy{ font-size:10px; }

  /* Search */
  .search-header{ padding:16px 16px; }
  .search-input-wrap{ padding:24px 16px 16px; }
  .search-body{ padding:0 16px 24px; }
  .search-input{ font-size:clamp(22px,7vw,36px); }

  /* Toast */
  .toast{ font-size:11px; padding:12px 20px; max-width:calc(100vw - 32px); white-space:normal; text-align:center; }
}

/* ── SMALL PHONE (≤420px) ── */
@media(max-width:420px){
  .hero-title{ font-size:clamp(38px,13vw,52px); }
  .nav-brand{ font-size:16px; letter-spacing:2px; }

  .featured-3d,.featured-img-wrap{ height:260px; }
  .fi-title{ font-size:clamp(26px,9vw,36px); }

  .pv-main{ height:260px; }
  .pd-name{ font-size:clamp(28px,8vw,40px); }

  .carousel-card{ width:260px; }
  .cc-visual{ height:180px; }

  .sh-title{ font-size:clamp(36px,12vw,52px); }
  .faq-headline{ font-size:clamp(40px,12vw,64px); }
  .story-headline{ font-size:clamp(44px,12vw,60px); }

  /* Scents list view — compact horizontal like search results */
  .scents-grid.view-list .sc-card{ grid-template-columns:80px 1fr; }
  .scents-grid.view-list .sc-card-visual{ height:80px; }
  .scents-grid.view-list .sc-card-body{ border-left:1px solid var(--border); border-top:none; padding:12px 16px; }
  .scents-grid.view-list .sc-card-badge{ display:none; }
  .scents-grid.view-list .sc-card-notes{ display:none; }
  .scents-grid.view-list .sc-card-footer{ margin-top:auto; }
  .scents-grid.view-list .sc-card-name{ font-size:16px; }
  .scents-grid.view-list .sc-card-mood{ font-size:10px; margin-bottom:6px; }

  .checkout-modal{ max-height:100dvh; }
}

/* ── TOUCH / HOVER STATES ── */
@media(hover:none){
  /* All cursor:none elements should use auto on touch */
  *{ cursor:auto !important; }
  .btn-primary:hover,.nav-cart:hover{ background:transparent; }
  .sc-card-overlay{ display:none; }
  .sc-card::after{content:'Tap to explore →';position:absolute;bottom:0;left:0;right:0;text-align:center;font-size:7px;letter-spacing:3px;text-transform:uppercase;color:var(--muted);padding:8px;opacity:.6;}
  .carousel-card:hover{ transform:none; }
  .sc-card:hover{ transform:none; }
}

/* ── SAFE AREA (iPhone notch/home indicator) ── */
@supports(padding-bottom:env(safe-area-inset-bottom)){
  nav{ padding-left:max(16px,env(safe-area-inset-left)); padding-right:max(16px,env(safe-area-inset-right)); }
  .mobile-menu{ padding-bottom:env(safe-area-inset-bottom); }
  .cart-panel{ padding-bottom:env(safe-area-inset-bottom); }
  footer{ padding-left:max(20px,env(safe-area-inset-left)); padding-right:max(20px,env(safe-area-inset-right)); }
}

/* ── LANDSCAPE PHONE ── */
@media(max-height:500px) and (orientation:landscape){
  .hero{ height:auto; min-height:100vh; padding:80px 20px 40px; }
  .mobile-menu{ overflow-y:auto; }
  .pv-main{ height:240px; }
  .featured-3d,.featured-img-wrap{ height:260px; }
  .checkout-modal{ max-height:95vh; }
}

/* ── HIGH DPI / RETINA ── */
@media(-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){
  .pv-img-thumb{ image-rendering:-webkit-optimize-contrast; }
}

/* (Theme intro popup CSS removed — popup deprecated, light is the default theme.) */

/* ══ COOKIE CONSENT ══════════════════════════════════ */
.cookie-bar{position:fixed;bottom:0;left:0;right:0;z-index:10000;background:var(--ombre);border-top:1px solid var(--border);padding:16px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px;transform:translateY(100%);opacity:0;transition:transform .45s cubic-bezier(.4,0,.2,1),opacity .45s ease;pointer-events:none;}
.cookie-bar.show{transform:translateY(0);opacity:1;pointer-events:auto;}
.cookie-bar-text{font-family:'DM Sans',sans-serif;font-size:11px;color:var(--muted);line-height:1.6;letter-spacing:0.3px;}
.cookie-bar-text a{color:var(--gold);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .2s;}
.cookie-bar-text a:hover{border-bottom-color:var(--gold);}
.cookie-bar-btn{flex-shrink:0;background:transparent;border:1px solid var(--gold);color:var(--gold);font-family:'DM Sans',sans-serif;font-size:10px;letter-spacing:3px;text-transform:uppercase;padding:10px 24px;cursor:pointer;transition:background .25s,color .25s;white-space:nowrap;}
.cookie-bar-btn:hover{background:var(--gold);color:var(--noir);}
@media(max-width:600px){
  .cookie-bar{flex-direction:column;align-items:stretch;gap:12px;padding:16px 20px;}
  .cookie-bar-btn{text-align:center;padding:12px 20px;}
}

/* ════════════════════════════════════════════════════════
   THE JOURNAL  (Gazette editorial · mapped to site vars)
════════════════════════════════════════════════════════ */
#blog-page, #blog-article-page {
  font-family:'EB Garamond', Georgia, serif;
  background: var(--noir);
  color: var(--ivory);
  padding-top: 86px; /* clear fixed nav */
  min-height: 100vh;
}
#blog-page .jo-wrap, #blog-article-page .jo-wrap { max-width: 1400px; margin: 0 auto; }

/* Masthead */
.jo-masthead {
  text-align:center;
  border-top: 3px double var(--ivory);
  border-bottom: 3px double var(--ivory);
  padding: 36px 32px;
  background: var(--noir);
  transition: var(--theme-transition);
}
.jo-orn {
  font-size: 10px; letter-spacing: 0.32em; text-transform: uppercase;
  color: var(--muted); margin-bottom: 10px;
  display:flex; align-items:center; justify-content:center; gap: 16px;
  font-family:'EB Garamond', serif;
}
.jo-orn::before, .jo-orn::after { content:'─ ─ ─'; color: var(--border); letter-spacing:-0.05em; }
.jo-title {
  font-family:'Cormorant Garamond', serif;
  font-size: 92px; font-weight: 300; letter-spacing: 0.12em; line-height: 0.9;
  color: var(--ivory);
}
.jo-title em { font-style: italic; color: var(--champagne); }
.jo-sub {
  font-size: 10px; letter-spacing: 0.38em; text-transform: uppercase;
  color: var(--muted); margin-top: 16px;
  border-top: 1px solid var(--border); padding-top: 12px;
}

/* Dateline */
.jo-dateline {
  display:flex; justify-content:space-between;
  padding: 7px 32px;
  font-size: 10px; letter-spacing: 0.09em; text-transform: uppercase;
  color: var(--muted); font-style: italic;
  border-bottom: 1px solid var(--border);
}

/* Controls */
.jo-controls {
  display:flex; justify-content:space-between; align-items:center;
  padding: 14px 32px;
  border-bottom: 1px solid var(--border);
  gap: 32px;
  background: var(--ombre);
  transition: var(--theme-transition);
}
.jo-search-wrap { position: relative; max-width: 280px; flex: 1; }
.jo-search {
  width: 100%; padding: 8px 24px 8px 0;
  border: none; border-bottom: 1px solid var(--border);
  background: transparent; color: var(--ivory);
  font-family:'EB Garamond', serif; font-size: 14px;
  outline: none; transition: border-color 0.2s;
  cursor: text;
}
.jo-search::placeholder { color: var(--muted); font-style: italic; }
.jo-search:focus { border-bottom-color: var(--gold); }
.jo-search-icon { position: absolute; right: 0; top: 50%; transform: translateY(-50%); color: var(--muted); font-size: 11px; pointer-events:none; }

.jo-pills { display:flex; gap: 7px; flex-wrap: wrap; }
.jo-pill {
  font-size: 10px; letter-spacing: 0.13em; text-transform: uppercase;
  padding: 5px 13px; border: 1px solid var(--border);
  background: transparent; color: var(--muted); cursor: pointer;
  font-family:'EB Garamond', serif; transition: all 0.2s;
}
.jo-pill:hover { color: var(--ivory); border-color: var(--muted); }
.jo-pill.active {
  color: var(--ivory); border-color: var(--gold);
  background: color-mix(in srgb, var(--gold) 10%, transparent);
}

/* Hero (pinned) */
.jo-hero {
  display:grid; grid-template-columns: 1fr 1fr;
  border-bottom: 2px solid var(--ivory);
  cursor: pointer;
}
.jo-hero-img {
  height: 520px; overflow:hidden; background: var(--ombre);
  background-size: cover; background-position: center;
}
.jo-hero-img.placeholder::after {
  content:'✦'; display:flex; align-items:center; justify-content:center;
  height:100%; color: var(--border); font-size: 48px;
}
.jo-hero-body {
  padding: 58px; border-left: 1px solid var(--border);
  display:flex; flex-direction:column; justify-content:space-between;
}
.jo-hero-label {
  font-size: 10px; letter-spacing: 0.22em; text-transform: uppercase;
  color: var(--muted); display:flex; align-items:center; gap: 13px; margin-bottom: 26px;
}
.jo-hero-label::before {
  content:''; width: 28px; height: 1px; background: var(--gold); flex-shrink: 0;
}
.jo-hero-h {
  font-family:'Cormorant Garamond', serif;
  font-size: 52px; font-weight: 400; line-height: 1.1; color: var(--ivory);
  margin-bottom: 22px; flex: 1;
}
.jo-hero-h em { font-style: italic; color: var(--champagne); }
.jo-hero-p {
  font-size: 16px; line-height: 1.9; color: var(--muted);
  margin-bottom: 26px; text-wrap: pretty;
}
.jo-hero-foot {
  display:flex; justify-content:space-between; align-items:flex-end;
  border-top: 1px solid var(--border); padding-top: 16px;
}
.jo-meta { font-size: 11px; color: var(--muted); font-style: italic; }
.jo-meta strong { font-style: normal; color: var(--ivory); font-weight: 500; display:block; margin-bottom: 2px; }
.jo-link {
  font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase;
  color: var(--ivory); text-decoration: none; transition: color 0.2s;
  background: transparent; border: none; cursor: pointer; font-family:'EB Garamond', serif; padding: 0;
}
.jo-link:hover { color: var(--gold); }

/* Section divider */
.jo-sec {
  display:flex; align-items:center; gap: 16px;
  padding: 13px 32px;
  border-top: 2px solid var(--ivory); border-bottom: 1px solid var(--border);
  font-size: 10px; letter-spacing: 0.28em; text-transform: uppercase; color: var(--ivory);
}
.jo-sec-line { flex: 1; height: 1px; background: var(--border); }

/* Grid */
.jo-grid { display:grid; grid-template-columns: 1fr 1px 1fr 1px 1fr; background: var(--noir); transition: var(--theme-transition); }
.jo-grid-div { background: var(--border); }
.jo-col { padding: 36px; cursor: pointer; transition: background 0.2s; }
.jo-col:hover { background: color-mix(in srgb, var(--gold) 4%, transparent); }
.jo-col-img {
  height: 180px; margin-bottom: 20px; background: var(--ombre);
  background-size: cover; background-position: center;
}
.jo-col-img.placeholder::after {
  content:'✦'; display:flex; align-items:center; justify-content:center;
  height:100%; color: var(--border); font-size: 28px;
}
.jo-tag { font-size: 10px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--gold); margin-bottom: 8px; display: block; }
.jo-col-h {
  font-family:'Cormorant Garamond', serif;
  font-size: 26px; font-weight: 400; line-height: 1.2; color: var(--ivory); margin-bottom: 8px;
}
.jo-col-h em { font-style: italic; color: var(--champagne); }
.jo-col-p {
  font-size: 14px; line-height: 1.78; color: var(--muted);
  margin-bottom: 14px; text-wrap: pretty;
}

/* Inner Circle CTA */
.jo-cta {
  display:grid; grid-template-columns: 1fr 1fr; gap: 48px;
  padding: 56px 64px; background: var(--ombre); transition: var(--theme-transition);
  border-top: 2px solid var(--ivory); align-items:center;
}
.jo-cta-h {
  font-family:'Cormorant Garamond', serif;
  font-size: 44px; font-weight: 300; line-height: 1.15; color: var(--ivory);
}
.jo-cta-h em { font-style: italic; color: var(--gold); }
.jo-cta-p {
  font-size: 15px; line-height: 1.82; color: var(--muted);
  font-style: italic; margin-bottom: 22px; text-wrap: pretty;
}
.jo-cta-form { display:flex; }
.jo-cta-in {
  flex: 1; padding: 11px 16px; border: 1px solid var(--border);
  background: var(--noir); color: var(--ivory);
  font-family:'EB Garamond', serif; font-size: 15px;
  outline: none; font-style: italic; transition: border-color 0.2s;
  cursor: text;
}
.jo-cta-in:focus { border-color: var(--gold); }
.jo-cta-btn {
  padding: 11px 22px; background: var(--ivory); color: var(--noir);
  border: 1px solid var(--ivory); font-family:'EB Garamond', serif;
  font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase;
  cursor: pointer; transition: all 0.2s; white-space: nowrap;
}
.jo-cta-btn:hover { background: var(--gold); border-color: var(--gold); color: var(--noir); }

/* Footer strip */
.jo-footer {
  border-top: 1px solid var(--border); padding: 20px 32px;
  display:flex; justify-content:space-between; align-items:center;
  font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--muted);
}

/* Empty state */
.jo-empty {
  padding: 80px 32px; text-align:center; color: var(--muted);
  font-family:'Cormorant Garamond', serif; font-size: 20px; font-style: italic;
}

/* ── ARTICLE PAGE ── */
.jo-art-wrap { max-width: 760px; margin: 0 auto; padding: 48px 32px 120px; }
.jo-art-back { margin-bottom: 32px; }
.jo-art-eyebrow {
  font-size: 10px; letter-spacing: 0.32em; text-transform: uppercase;
  color: var(--gold); margin-bottom: 16px; text-align: center;
}
.jo-art-h1 {
  font-family:'Cormorant Garamond', serif;
  font-size: 64px; font-weight: 300; line-height: 1.08;
  color: var(--ivory); text-align: center; margin-bottom: 16px;
}
.jo-art-h1 em { font-style: italic; color: var(--champagne); }
.jo-art-sub {
  font-size: 18px; line-height: 1.7; color: var(--muted);
  font-style: italic; text-align: center; margin-bottom: 28px;
  font-family:'EB Garamond', serif;
}
.jo-art-meta {
  display:flex; justify-content:center; align-items:center; gap: 20px;
  font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--muted); padding-bottom: 32px;
  border-bottom: 1px solid var(--border); margin-bottom: 48px;
}
.jo-art-meta span.dot { color: var(--border); }
.jo-art-cover { width: 100%; margin-bottom: 48px; background: var(--ombre); }
.jo-art-cover img { width: 100%; display: block; }
.jo-art-body {
  font-family:'EB Garamond', Georgia, serif;
  font-size: 19px; line-height: 1.85; color: var(--ivory);
}
.jo-art-body p { margin-bottom: 24px; text-wrap: pretty; }
.jo-art-body h2 {
  font-family:'Cormorant Garamond', serif; font-weight: 400;
  font-size: 36px; line-height: 1.2; color: var(--ivory);
  margin: 56px 0 20px;
}
.jo-art-body h3 {
  font-family:'Cormorant Garamond', serif; font-weight: 400;
  font-size: 26px; line-height: 1.25; color: var(--ivory);
  margin: 40px 0 16px;
}
.jo-art-body em { font-style: italic; color: var(--champagne); }
.jo-art-body strong { font-weight: 500; color: var(--ivory); }
.jo-art-body a { color: var(--gold); text-decoration: none; border-bottom: 1px solid color-mix(in srgb, var(--gold) 50%, transparent); }
.jo-art-body a:hover { border-bottom-color: var(--gold); }
.jo-art-body blockquote {
  border-left: 2px solid var(--gold);
  margin: 32px 0; padding: 8px 0 8px 28px;
  font-style: italic; color: var(--champagne);
  font-family:'Cormorant Garamond', serif; font-size: 22px; line-height: 1.5;
}
.jo-art-body hr {
  border: none; text-align: center; margin: 48px 0;
  font-size: 10px; letter-spacing: 0.4em; color: var(--muted);
}
.jo-art-body hr::after { content: '✦ ✦ ✦'; }
.jo-art-body figure { margin: 40px 0; }
.jo-art-body figure img { width: 100%; display: block; background: var(--ombre); }
.jo-art-body figcaption {
  font-size: 12px; color: var(--muted); font-style: italic;
  text-align: center; margin-top: 10px; letter-spacing: 0.06em;
}
.jo-art-body ul, .jo-art-body ol { margin: 0 0 24px 28px; }
.jo-art-body li { margin-bottom: 10px; }

/* Related */
.jo-related-wrap {
  max-width: 1200px; margin: 0 auto; padding: 40px 32px 80px;
  border-top: 1px solid var(--border);
}
.jo-related-h {
  font-family:'EB Garamond', serif; font-size: 11px;
  letter-spacing: 0.28em; text-transform: uppercase;
  color: var(--ivory); margin-bottom: 24px; text-align:center;
}
.jo-related-grid { display:grid; grid-template-columns: repeat(3, 1fr); gap: 32px; }

@media (max-width: 900px) {
  #blog-page, #blog-article-page { padding-top: 70px; }
  .jo-title { font-size: 56px; }
  .jo-hero { grid-template-columns: 1fr; }
  .jo-hero-img { height: 300px; }
  .jo-hero-body { padding: 32px; }
  .jo-hero-h { font-size: 36px; }
  .jo-grid { grid-template-columns: 1fr; }
  .jo-grid-div { display: none; }
  .jo-cta { grid-template-columns: 1fr; padding: 32px; gap: 20px; }
  .jo-cta-h { font-size: 30px; }
  .jo-dateline span:nth-child(2) { display: none; }
  .jo-related-grid { grid-template-columns: 1fr; }
  .jo-art-h1 { font-size: 40px; }
  .jo-art-body { font-size: 17px; }
  .jo-art-body h2 { font-size: 28px; }
}
@media (max-width: 600px) {
  .jo-title { font-size: 42px; }
  .jo-controls { flex-direction: column; align-items: stretch; gap: 14px; padding: 14px 20px; }
  .jo-search-wrap { max-width: none; }
  .jo-dateline { padding: 7px 16px; font-size: 11px; }
  .jo-masthead { padding: 28px 16px; }
  .jo-sec { padding: 13px 20px; }
  .jo-col { padding: 28px 20px; }
  .jo-art-wrap { padding: 24px 20px 80px; }
}
