
/* ══════════════════════════════════════════════
   LOGO-MATCHED COLOR SYSTEM
   Logo gold exact: #b18d31
   Light tint:      #c9a84c
   Pale wash:       #f0ddb0
   Deep tone:       #8a6a1a
   Background dark: #16100a
══════════════════════════════════════════════ */
:root{
  --logo:     #b18d31;   /* EXACT logo gold */
  --logo-lt:  #c9a84c;   /* lighter logo tone */
  --logo-dk:  #8a6a1a;   /* darker logo tone  */
  --logo-pale:#f0ddb0;   /* pale wash         */
  --logo-glow:rgba(177,141,49,.35);
  --cream:    #fffaee;
  --warm:     #faf3de;
  --ink:      #1a1105;
  --ink-mid:  #2d1d08;
  --text:     #372008;
  --text-mid: #6a3f10;
  --text-soft:#9a7040;
  --white:    #ffffff;
}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}

/* LENIS smooth scroll override */
html.lenis{height:auto;}
.lenis.lenis-smooth{scroll-behavior:auto;}
.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain;}

body{
  background:var(--cream);
  color:var(--text);
  font-family:'DM Sans',sans-serif;
  font-weight:400;
  overflow-x:hidden;
  cursor:none;
}

/* ── CURSOR ── */
#cur{position:fixed;top:0;left:0;z-index:9999;pointer-events:none;mix-blend-mode:normal;}
#cur-dot{
  position:absolute;
  width:8px;height:8px;
  background:var(--logo);
  border-radius:50%;
  transform:translate(-50%,-50%);
  transition:transform .15s;
}
#cur-ring{
  position:absolute;
  width:36px;height:36px;
  border:1.5px solid rgba(177,141,49,.5);
  border-radius:50%;
  transform:translate(-50%,-50%);
  transition:width .35s,height .35s,border-color .35s,opacity .35s;
}
body:not(:hover) #cur{opacity:0;}

/* ══════════════════════════════════════════════
   NAV
══════════════════════════════════════════════ */
#nav{
  position:fixed;top:0;width:100%;z-index:700;
  padding:1.2rem 4.5rem;
  display:flex;align-items:center;justify-content:space-between;
  transition:all .5s cubic-bezier(.16,1,.3,1);
}
#nav.solid{
  background:rgba(22,16,10,.96);
  border-bottom:1px solid rgba(177,141,49,.12);
  backdrop-filter:blur(20px);
  padding:.95rem 4.5rem;
}
.nav-logo{display:flex;align-items:center;gap:.8rem;}
.nav-logo img{
  height:38px;
  transition:filter .3s;
  /* logo already gold, just ensure visibility */
  filter:drop-shadow(0 0 8px rgba(177,141,49,.2));
}
.nav-wordmark{
  font-family:'Cormorant Garamond',serif;
  font-size:1.1rem;font-weight:600;
  color:var(--logo-pale);letter-spacing:.06em;
  line-height:1.15;
}
.nav-wordmark span{
  display:block;font-family:'DM Sans',sans-serif;
  font-size:.52rem;letter-spacing:.5em;
  color:var(--logo);text-transform:uppercase;
  font-weight:500;margin-top:1px;
}
.nav-links{display:flex;gap:2.5rem;list-style:none;}
.nav-links a{
  color:rgba(240,221,176,.65);
  text-decoration:none;
  font-size:.73rem;letter-spacing:.2em;text-transform:uppercase;font-weight:500;
  position:relative;transition:color .3s;
  padding-bottom:3px;
}
.nav-links a::after{
  content:'';position:absolute;bottom:0;left:0;width:0;height:1px;
  background:var(--logo);transition:width .4s ease;
}
.nav-links a:hover{color:var(--logo-pale);}
.nav-links a:hover::after{width:100%;}
.nav-btn{
  padding:.55rem 1.6rem;
  background:transparent;
  border:1px solid var(--logo);
  color:var(--logo-pale);
  font-size:.68rem;letter-spacing:.25em;text-transform:uppercase;font-weight:600;
  text-decoration:none;cursor:none;
  transition:background .3s,color .3s,box-shadow .3s;
  position:relative;overflow:hidden;
}
.nav-btn::before{
  content:'';position:absolute;inset:0;
  background:var(--logo);
  transform:translateX(-101%);
  transition:transform .35s cubic-bezier(.16,1,.3,1);
}
.nav-btn:hover::before{transform:translateX(0);}
.nav-btn:hover{color:var(--ink);box-shadow:0 4px 20px var(--logo-glow);}
.nav-btn span{position:relative;z-index:1;}

/* ══════════════════════════════════════════════
   HERO — FULLSCREEN IMMERSIVE
══════════════════════════════════════════════ */
#hero{
  position:relative;
  height:100vh;min-height:700px;
  display:flex;
  align-items:center;
  background:var(--ink);
  overflow:hidden;
}

/* ─ HERO BG MOSAIC ─ */
.hero-mosaic{
  position:absolute;inset:0;
  display:grid;
  grid-template-columns:1.1fr .9fr .85fr;
  grid-template-rows:1.2fr .8fr;
  gap:2px;
}
.hm{overflow:hidden;position:relative;}
.hm img{
  width:100%;height:100%;object-fit:cover;
  filter:brightness(.22) saturate(1.2);
  transform:scale(1.12);
  transition:transform 12s cubic-bezier(.16,1,.3,1);
  will-change:transform;
}
.hero-mosaic:hover .hm img{transform:scale(1.17);}

/* Multi-layer overlay for warmth + readability */
.hero-ov1{
  position:absolute;inset:0;
  background:
    radial-gradient(ellipse 55% 70% at 32% 55%,rgba(177,141,49,.14) 0%,transparent 70%),
    radial-gradient(ellipse 30% 50% at 0% 100%,rgba(22,16,10,.9) 0%,transparent 60%),
    linear-gradient(108deg,rgba(22,16,10,.97) 0%,rgba(22,16,10,.75) 42%,rgba(22,16,10,.25) 100%);
}
.hero-ov2{
  position:absolute;inset:0;
  background:
    linear-gradient(to bottom,rgba(22,16,10,.6) 0%,transparent 20%,transparent 60%,rgba(22,16,10,.9) 100%);
}
/* Subtle gold vignette lines */
.hero-lines{
  position:absolute;inset:0;
  background:
    repeating-linear-gradient(0deg,transparent,transparent 79px,rgba(177,141,49,.025) 80px),
    repeating-linear-gradient(90deg,transparent,transparent 79px,rgba(177,141,49,.025) 80px);
  pointer-events:none;
}

/* ─ FLOATING EMBERS ─ */
.ember{
  position:absolute;
  border-radius:50%;
  background:radial-gradient(circle,var(--logo) 0%,transparent 70%);
  animation:ember-float linear infinite;
  opacity:0;pointer-events:none;
}
@keyframes ember-float{
  0%{transform:translateY(0) translateX(0) scale(0);opacity:0;}
  10%{opacity:.7;transform:scale(1);}
  80%{opacity:.25;}
  100%{transform:translateY(-95vh) translateX(var(--ex,30px)) scale(.4);opacity:0;}
}

/* ─ HERO CONTENT ─ */
.hero-body{
  position:relative;z-index:10;
  /* top padding = nav (~72px) + breathing room. bottom = hero-bar (~80px) + breathing */
  padding:6rem 4.5rem 8rem;
  max-width:760px;
  width:68%;          /* leave room for right showcase */
  flex-shrink:0;
}
.hero-eyebrow{
  display:inline-flex;align-items:center;gap:.9rem;
  font-size:.62rem;letter-spacing:.55em;text-transform:uppercase;
  color:var(--logo);font-weight:600;
  margin-bottom:1.4rem;
  opacity:0;animation:h-up .9s .3s cubic-bezier(.16,1,.3,1) forwards;
}
.hero-eyebrow i{display:block;width:38px;height:1px;background:var(--logo);}
.hero-eyebrow i:last-child{transform:scaleX(-1);}

.hero-logo-img{
  display:block;
  height:66px;
  margin-bottom:1.6rem;
  filter:drop-shadow(0 0 30px rgba(177,141,49,.5)) brightness(1.05);
  opacity:0;animation:h-up .9s .48s cubic-bezier(.16,1,.3,1) forwards;
}
.hero-h1{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(3.8rem,8vw,7.8rem);
  font-weight:300;line-height:.9;
  color:var(--white);
  letter-spacing:-.02em;
  opacity:0;animation:h-up 1s .62s cubic-bezier(.16,1,.3,1) forwards;
}
.hero-h1 .line2{
  display:block;
  font-style:italic;font-weight:400;
  color:var(--logo);
  font-size:.62em;
  letter-spacing:.04em;
  margin-top:.5rem;
  text-shadow:0 0 60px rgba(177,141,49,.4);
}
.hero-sub{
  font-size:1.05rem;line-height:1.85;
  color:rgba(240,221,176,.75);
  margin-top:1.4rem;max-width:500px;
  font-weight:300;
  opacity:0;animation:h-up .9s .78s cubic-bezier(.16,1,.3,1) forwards;
}
.hero-pills{
  display:flex;flex-wrap:wrap;gap:.6rem;
  margin-top:1.4rem;
  opacity:0;animation:h-up .9s .9s cubic-bezier(.16,1,.3,1) forwards;
}
.hpill{
  padding:.35rem .95rem;
  border:1px solid rgba(177,141,49,.35);
  background:rgba(177,141,49,.08);
  font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;
  color:var(--logo-pale);font-weight:500;
  backdrop-filter:blur(4px);
}
.hero-cta{
  display:flex;gap:1rem;margin-top:2rem;
  opacity:0;animation:h-up .9s 1.02s cubic-bezier(.16,1,.3,1) forwards;
}
.cta-primary{
  padding:.95rem 2.6rem;
  background:var(--logo);
  color:var(--ink);
  font-size:.72rem;letter-spacing:.28em;text-transform:uppercase;font-weight:700;
  text-decoration:none;cursor:none;
  box-shadow:0 6px 30px rgba(177,141,49,.4);
  transition:background .3s,transform .25s,box-shadow .3s;
  position:relative;overflow:hidden;
}
.cta-primary::after{
  content:'';position:absolute;inset:0;
  background:rgba(255,255,255,.12);
  transform:translateX(-100%) skewX(-15deg);
  transition:transform .6s cubic-bezier(.16,1,.3,1);
}
.cta-primary:hover::after{transform:translateX(200%) skewX(-15deg);}
.cta-primary:hover{background:var(--logo-lt);transform:translateY(-2px);box-shadow:0 10px 40px rgba(177,141,49,.5);}
.cta-secondary{
  padding:.95rem 2.6rem;
  border:1px solid rgba(240,221,176,.3);
  color:rgba(240,221,176,.8);
  font-size:.72rem;letter-spacing:.28em;text-transform:uppercase;font-weight:400;
  text-decoration:none;cursor:none;
  transition:border-color .3s,color .3s,background .3s;
}
.cta-secondary:hover{border-color:var(--logo);color:var(--logo-pale);background:rgba(177,141,49,.06);}

/* ─ HERO RIGHT SHOWCASE ─ */
.hero-right{
  position:absolute;right:0;top:0;bottom:0;
  width:32%;z-index:8;
  display:flex;flex-direction:column;gap:2px;
}
.hright-panel{
  flex:1;overflow:hidden;position:relative;cursor:none;
}
.hright-panel img{
  width:100%;height:100%;object-fit:cover;
  filter:brightness(.45) saturate(1.3);
  transform:scale(1.07);
  transition:transform .8s cubic-bezier(.16,1,.3,1),filter .6s;
}
.hright-panel:hover img{
  filter:brightness(.7) saturate(1.5);
  transform:scale(1.12);
}
.hright-label{
  position:absolute;bottom:0;left:0;right:0;
  padding:.7rem 1.1rem;
  background:linear-gradient(to top,rgba(22,16,10,.95),transparent);
  font-size:.6rem;letter-spacing:.3em;text-transform:uppercase;
  color:var(--logo-pale);font-weight:500;
  transform:translateY(6px);opacity:0;
  transition:transform .4s,opacity .4s;
}
.hright-panel:hover .hright-label{transform:translateY(0);opacity:1;}
/* gradient blend into content area */
.hero-right::before{
  content:'';
  position:absolute;top:0;bottom:0;left:0;width:120px;z-index:2;pointer-events:none;
  background:linear-gradient(to right,var(--ink),transparent);
}

/* ─ HERO BOTTOM BAR ─ */
.hero-bar{
  position:absolute;bottom:0;left:0;right:0;z-index:15;
  background:rgba(22,16,10,.82);
  border-top:1px solid rgba(177,141,49,.15);
  backdrop-filter:blur(16px);
  display:flex;padding:1.3rem 4.5rem;gap:0;
  opacity:0;animation:h-up .8s 1.2s cubic-bezier(.16,1,.3,1) forwards;
}
.hbar-cell{
  flex:1;display:flex;align-items:center;gap:.9rem;
  padding:0 2rem 0 0;
  border-right:1px solid rgba(177,141,49,.1);
}
.hbar-cell:last-child{border-right:none;padding-right:0;padding-left:2rem;}
.hbar-cell:first-child{padding-left:0;}
.hbar-ico{width:34px;height:34px;flex-shrink:0;color:var(--logo);}
.hbar-l{font-size:.57rem;letter-spacing:.28em;text-transform:uppercase;color:var(--text-soft);font-weight:500;}
.hbar-v{font-size:.88rem;font-weight:600;color:var(--white);margin-top:.1rem;}

/* ─ SCROLL CUE ─ */
.scroll-cue{
  position:absolute;left:4.5rem;bottom:7.5rem;z-index:15;
  display:flex;flex-direction:column;align-items:center;gap:.5rem;
  font-size:.55rem;letter-spacing:.4em;text-transform:uppercase;color:rgba(177,141,49,.4);
  opacity:0;animation:h-up .8s 1.4s cubic-bezier(.16,1,.3,1) forwards;
}
.sc-line{
  width:1px;height:52px;
  background:linear-gradient(to bottom,var(--logo),transparent);
  transform-origin:top;animation:sc-pulse 2.5s ease-in-out infinite;
}
@keyframes sc-pulse{
  0%,100%{transform:scaleY(.5);opacity:.35;}
  50%{transform:scaleY(1);opacity:1;}
}
@keyframes h-up{
  from{opacity:0;transform:translateY(32px);}
  to{opacity:1;transform:translateY(0);}
}

/* ══════════════════════════════════════════════
   MARQUEE RIBBON
══════════════════════════════════════════════ */
.marquee{
  background:var(--logo);
  padding:.8rem 0;overflow:hidden;white-space:nowrap;
  border-top:1px solid var(--logo-lt);
  border-bottom:1px solid var(--logo-dk);
}
.marquee-track{
  display:inline-flex;gap:2.5rem;
  animation:marquee 20s linear infinite;
}
@keyframes marquee{to{transform:translateX(-50%);}}
.marquee-item{
  display:inline-flex;align-items:center;gap:.7rem;
  font-size:.68rem;letter-spacing:.35em;text-transform:uppercase;
  font-weight:700;color:var(--ink);
}
.marquee-sep{
  width:4px;height:4px;background:rgba(22,16,10,.35);
  border-radius:50%;flex-shrink:0;
}

/* ══════════════════════════════════════════════
   SECTION GLOBALS
══════════════════════════════════════════════ */
.tag{
  display:inline-flex;align-items:center;gap:.8rem;
  font-size:.6rem;letter-spacing:.5em;text-transform:uppercase;
  font-weight:700;color:var(--logo);margin-bottom:1.2rem;
}
.tag::before{content:'';width:26px;height:2px;background:var(--logo);flex-shrink:0;}
.sh{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(2.2rem,4.2vw,3.8rem);
  font-weight:600;line-height:1.05;
  color:var(--text);
}
.sh em{font-style:italic;color:var(--logo);}
.sh-w{color:var(--white);}
.sp{font-size:.97rem;line-height:1.9;color:var(--text-mid);}
.sp-w{color:rgba(240,221,176,.68);}
.divider{width:56px;height:2px;background:linear-gradient(to right,var(--logo),var(--logo-lt));margin:1.8rem 0;}

/* REVEAL ANIMATIONS */
.rv{opacity:0;transform:translateY(38px);transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1);}
.rv.on{opacity:1;transform:translateY(0);}
.d1{transition-delay:.1s}.d2{transition-delay:.2s}.d3{transition-delay:.3s}.d4{transition-delay:.4s}

/* ══════════════════════════════════════════════
   STORY
══════════════════════════════════════════════ */
#story{
  padding:9rem 4.5rem;
  background:var(--cream);
  position:relative;overflow:hidden;
}
#story::after{
  content:'';position:absolute;right:-80px;top:50%;transform:translateY(-50%);
  width:420px;height:420px;border-radius:50%;
  background:radial-gradient(circle,rgba(177,141,49,.06),transparent 70%);
  pointer-events:none;
}
.story-grid{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1fr 1.1fr;gap:7rem;align-items:center;}

/* ── VIDEO WRAP (replaces story-img-wrap) ── */
.story-vid-wrap{position:relative;}
.story-corner{position:absolute;width:52px;height:52px;border-color:var(--logo);border-style:solid;border-width:0;z-index:3;}
.story-corner.tl{top:-14px;left:-14px;border-top-width:2px;border-left-width:2px;}
.story-corner.br{bottom:-14px;right:-14px;border-bottom-width:2px;border-right-width:2px;}

/* video box */
.story-video-box{
  position:relative;
  width:100%;
  aspect-ratio:16/10;
  background:var(--ink);
  overflow:hidden;
  cursor:none;
}
.story-video-box video{
  width:100%;height:100%;
  object-fit:cover;
  display:block;
  transition:transform .6s cubic-bezier(.16,1,.3,1);
}
.story-video-box:hover video{transform:scale(1.03);}

/* gold frame overlay when paused */
.story-video-box::before{
  content:'';
  position:absolute;inset:0;
  background:linear-gradient(
    135deg,
    rgba(177,141,49,.08) 0%,
    transparent 50%,
    rgba(177,141,49,.05) 100%
  );
  pointer-events:none;z-index:1;
}

/* play/pause overlay */
.vid-overlay{
  position:absolute;inset:0;z-index:4;
  display:flex;align-items:center;justify-content:center;
  background:rgba(22,16,10,.35);
  transition:opacity .4s;
}
.vid-overlay.hidden{opacity:0;pointer-events:none;}
.vid-play-btn{
  width:72px;height:72px;
  border-radius:50%;
  background:var(--logo);
  border:none;cursor:none;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 0 0 12px rgba(177,141,49,.15), 0 8px 40px rgba(177,141,49,.5);
  transition:transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s,background .3s;
  animation:pulse-play 2.5s ease-in-out infinite;
}
@keyframes pulse-play{
  0%,100%{box-shadow:0 0 0 12px rgba(177,141,49,.15),0 8px 40px rgba(177,141,49,.5);}
  50%{box-shadow:0 0 0 22px rgba(177,141,49,.08),0 8px 50px rgba(177,141,49,.6);}
}
.vid-play-btn:hover{
  transform:scale(1.12);
  background:var(--logo-lt);
  box-shadow:0 0 0 18px rgba(177,141,49,.2),0 12px 50px rgba(177,141,49,.6);
  animation:none;
}
.vid-play-btn svg{margin-left:4px;}

/* mute toggle */
.vid-mute-btn{
  position:absolute;bottom:1rem;right:1rem;z-index:5;
  width:36px;height:36px;border-radius:50%;
  background:rgba(22,16,10,.75);
  border:1px solid rgba(177,141,49,.3);
  cursor:none;
  display:flex;align-items:center;justify-content:center;
  color:var(--logo-pale);
  transition:background .3s,border-color .3s;
  backdrop-filter:blur(8px);
}
.vid-mute-btn:hover{background:rgba(177,141,49,.25);border-color:var(--logo);}

/* duration tag */
.vid-duration{
  position:absolute;top:1rem;left:1rem;z-index:5;
  padding:.3rem .8rem;
  background:rgba(22,16,10,.75);
  border:1px solid rgba(177,141,49,.25);
  font-size:.58rem;letter-spacing:.3em;text-transform:uppercase;
  color:var(--logo-pale);font-weight:600;
  backdrop-filter:blur(8px);
}

/* progress bar */
.vid-progress{
  position:absolute;bottom:0;left:0;right:0;z-index:5;
  height:2px;background:rgba(177,141,49,.15);
}
.vid-progress-fill{
  height:100%;
  background:linear-gradient(to right,var(--logo),var(--logo-lt));
  width:0%;
  transition:width .3s linear;
}

.story-badge{
  position:absolute;bottom:-22px;right:-22px;z-index:6;
  width:110px;height:110px;
  background:var(--logo);border-radius:50%;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  box-shadow:0 8px 32px rgba(177,141,49,.45);
}
.story-badge .bn{font-family:'Cormorant Garamond',serif;font-size:2.4rem;font-weight:600;color:var(--ink);line-height:1;}
.story-badge .bl{font-size:.52rem;letter-spacing:.2em;color:rgba(22,16,10,.7);text-transform:uppercase;font-weight:700;}

/* keep old .story-img-wrap as alias in case */
.story-img-wrap{position:relative;}
.story-img{width:100%;aspect-ratio:3/4;object-fit:cover;display:block;}

.story-text{padding-left:.5rem;}
.story-text .sh{margin-bottom:1.2rem;}
.story-text .sp{margin-bottom:.9rem;}
.story-stats{display:flex;gap:2.2rem;margin-top:2rem;padding-top:2rem;border-top:1px solid rgba(177,141,49,.15);}
.sstat{border-left:3px solid var(--logo);padding-left:1.1rem;}
.sstat-n{font-family:'Cormorant Garamond',serif;font-size:2.4rem;font-weight:600;color:var(--logo);line-height:1;}
.sstat-l{font-size:.6rem;letter-spacing:.22em;text-transform:uppercase;color:var(--text-soft);font-weight:600;margin-top:.25rem;}

/* ══════════════════════════════════════════════
   MENU
══════════════════════════════════════════════ */
#menu{
  padding:9rem 4.5rem;
  background:var(--ink-mid);
  position:relative;overflow:hidden;
}
#menu::before{
  content:'';position:absolute;inset:0;
  background:repeating-linear-gradient(0deg,transparent,transparent 79px,rgba(177,141,49,.03) 80px),
  repeating-linear-gradient(90deg,transparent,transparent 79px,rgba(177,141,49,.03) 80px);
  pointer-events:none;
}
.menu-hd{max-width:1180px;margin:0 auto 5rem;display:flex;justify-content:space-between;align-items:flex-end;}
.menu-hd .sh-w{color:var(--white);}
.menu-hd-r{max-width:300px;font-size:.92rem;color:rgba(240,221,176,.5);line-height:1.75;text-align:right;}
.menu-grid{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:2px;}
.mc{
  background:rgba(255,255,255,.02);
  border:1px solid rgba(177,141,49,.08);
  padding:2.6rem 2.2rem;
  position:relative;overflow:hidden;cursor:none;
  transition:background .45s,transform .4s cubic-bezier(.16,1,.3,1),border-color .45s;
}
.mc::after{
  content:'';position:absolute;bottom:0;left:0;width:100%;height:2px;
  background:linear-gradient(to right,var(--logo),var(--logo-lt));
  transform:scaleX(0);transform-origin:left;
  transition:transform .45s cubic-bezier(.16,1,.3,1);
}
.mc:hover{background:rgba(177,141,49,.07);transform:translateY(-6px);border-color:rgba(177,141,49,.28);z-index:2;}
.mc:hover::after{transform:scaleX(1);}
.mc-ico{width:54px;height:54px;color:var(--logo);margin-bottom:1.5rem;}
.mc-cat{font-size:.58rem;letter-spacing:.42em;text-transform:uppercase;color:var(--logo-lt);font-weight:700;margin-bottom:.55rem;}
.mc-name{font-family:'Cormorant Garamond',serif;font-size:1.55rem;font-weight:600;color:var(--white);line-height:1.2;margin-bottom:.65rem;}
.mc-desc{font-size:.86rem;color:rgba(240,221,176,.52);line-height:1.75;}
.mc-price{
  margin-top:1.4rem;font-family:'Cormorant Garamond',serif;
  font-size:1.15rem;font-style:italic;color:var(--logo);
  display:inline-flex;align-items:baseline;gap:.25rem;
}
.mc-price .rs{font-style:normal;font-size:.75rem;font-family:'DM Sans',sans-serif;}
/* Featured */
.mc.feat{background:var(--logo);border-color:var(--logo);grid-row:span 2;}
.mc.feat:hover{background:var(--logo-lt);}
.mc.feat::after{background:rgba(22,16,10,.35);}
.mc.feat .mc-cat{color:rgba(22,16,10,.6);}
.mc.feat .mc-name{color:var(--ink);font-size:2rem;}
.mc.feat .mc-desc{color:rgba(22,16,10,.68);}
.mc.feat .mc-price{color:var(--ink);}
.mc.feat .mc-ico{color:rgba(22,16,10,.7);}

/* ══════════════════════════════════════════════
   ATMOSPHERE
══════════════════════════════════════════════ */
#atm{
  display:grid;grid-template-columns:1fr 1fr;
  min-height:640px;background:var(--ink);
}
.atm-img{position:relative;overflow:hidden;}
.atm-img img{width:100%;height:100%;object-fit:cover;filter:brightness(.4) saturate(1.4);transform:scale(1.05);transition:transform 9s ease;}
.atm-img:hover img{transform:scale(1.09);}
.atm-img-ov{position:absolute;inset:0;background:linear-gradient(to right,transparent 55%,var(--ink) 100%);}
.atm-body{padding:5.5rem 4.5rem;display:flex;flex-direction:column;justify-content:center;}
.atm-body .sh-w{margin-bottom:1.2rem;}
.atm-body .sp-w{margin-bottom:2.5rem;}
.pl-list{display:flex;flex-direction:column;gap:1.1rem;}
.pl{
  display:flex;align-items:flex-start;gap:1.1rem;
  padding:1.2rem 1.4rem;
  border:1px solid rgba(177,141,49,.1);
  cursor:none;
  transition:background .35s,border-color .35s;
}
.pl:hover{background:rgba(177,141,49,.08);border-color:rgba(177,141,49,.3);}
.pl-ico{
  width:42px;height:42px;flex-shrink:0;
  background:rgba(177,141,49,.14);
  display:flex;align-items:center;justify-content:center;
  color:var(--logo);
}
.pl-title{font-family:'Cormorant Garamond',serif;font-size:1.05rem;font-weight:600;color:var(--white);margin-bottom:.25rem;}
.pl-text{font-size:.82rem;color:rgba(240,221,176,.52);line-height:1.65;}

/* ══════════════════════════════════════════════
   GALLERY
══════════════════════════════════════════════ */
#gallery{padding:6rem 4.5rem;background:var(--warm);}
.gallery-hd{max-width:1180px;margin:0 auto 3rem;display:flex;align-items:flex-end;justify-content:space-between;}
.gallery-grid{
  max-width:1180px;margin:0 auto;
  display:grid;
  grid-template-columns:2fr 1fr 1fr;
  grid-template-rows:270px 270px;
  gap:5px;
}
.gc{overflow:hidden;position:relative;cursor:none;}
.gc img{
  width:100%;height:100%;object-fit:cover;
  filter:brightness(.75) saturate(1.1);
  transform:scale(1.04);
  transition:transform .8s cubic-bezier(.16,1,.3,1),filter .6s;
}
.gc:hover img{transform:scale(1.09);filter:brightness(.92) saturate(1.35);}
.gc.tall{grid-row:span 2;}
.gc-lbl{
  position:absolute;bottom:0;left:0;right:0;
  padding:.65rem 1rem;
  background:linear-gradient(to top,rgba(22,16,10,.88),transparent);
  font-size:.62rem;letter-spacing:.28em;text-transform:uppercase;
  color:var(--logo-pale);font-weight:500;
  transform:translateY(100%);transition:transform .45s cubic-bezier(.16,1,.3,1);
}
.gc:hover .gc-lbl{transform:translateY(0);}
/* gold border flash on hover */
.gc::after{
  content:'';position:absolute;inset:0;
  border:2px solid rgba(177,141,49,0);
  transition:border-color .4s;pointer-events:none;
}
.gc:hover::after{border-color:rgba(177,141,49,.4);}

/* ══════════════════════════════════════════════
   TESTIMONIALS
══════════════════════════════════════════════ */
#testi{
  padding:7rem 4.5rem;background:var(--ink);
  position:relative;overflow:hidden;
}
#testi::before{
  content:'';position:absolute;top:-80px;left:50%;transform:translateX(-50%);
  width:700px;height:700px;
  background:radial-gradient(circle,rgba(177,141,49,.05),transparent 65%);
  border-radius:50%;pointer-events:none;
}
.testi-hd{max-width:1180px;margin:0 auto 3.5rem;text-align:center;}
.testi-hd .tag{justify-content:center;}
.testi-hd .tag::before{display:none;}
.testi-hd .tag::after{content:'';width:26px;height:2px;background:var(--logo);}
.testi-hd .sh-w{color:var(--white);}
.testi-wrap{overflow:hidden;position:relative;}
.testi-wrap::before,.testi-wrap::after{
  content:'';position:absolute;top:0;bottom:0;width:180px;z-index:2;pointer-events:none;
}
.testi-wrap::before{left:0;background:linear-gradient(to right,var(--ink),transparent);}
.testi-wrap::after{right:0;background:linear-gradient(to left,var(--ink),transparent);}
.testi-track{display:flex;gap:1.4rem;animation:tscroll 30s linear infinite;width:max-content;}
@keyframes tscroll{to{transform:translateX(-50%);}}
.tc{
  min-width:355px;
  background:rgba(255,255,255,.028);
  border:1px solid rgba(177,141,49,.1);
  padding:2rem 2.2rem;
  transition:border-color .3s,background .3s;
}
.tc:hover{border-color:rgba(177,141,49,.3);background:rgba(177,141,49,.05);}
.tc-stars{color:var(--logo);font-size:.8rem;letter-spacing:.08em;margin-bottom:.8rem;}
.tc-q{
  font-family:'Cormorant Garamond',serif;font-size:1.05rem;font-style:italic;
  color:var(--white);line-height:1.75;margin-bottom:1.1rem;
}
.tc-a{font-size:.62rem;letter-spacing:.25em;text-transform:uppercase;color:var(--text-soft);display:flex;align-items:center;gap:.5rem;}
.tc-a::before{content:'—';color:var(--logo);}

/* ══════════════════════════════════════════════
   VISIT
══════════════════════════════════════════════ */
#visit{padding:9rem 4.5rem;background:var(--cream);}
.visit-grid{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:6rem;align-items:start;}
.visit-info .sh{margin-bottom:2.2rem;}
.ic{
  display:flex;align-items:flex-start;gap:1.1rem;
  padding:1.4rem;margin-bottom:.9rem;
  border:1px solid rgba(177,141,49,.22);
  transition:border-color .3s,background .3s;cursor:none;
}
.ic:hover{border-color:var(--logo);background:rgba(177,141,49,.04);}
.ic-ico{
  width:46px;height:46px;flex-shrink:0;
  background:var(--logo);
  display:flex;align-items:center;justify-content:center;
  color:var(--ink);
}
.ic-lbl{font-size:.58rem;letter-spacing:.32em;text-transform:uppercase;color:var(--logo);font-weight:700;margin-bottom:.35rem;}
.ic-val{font-size:.95rem;color:var(--text);line-height:1.65;}
.map{position:relative;aspect-ratio:1;background:var(--ink-mid);overflow:hidden;}
.map::before{
  content:'';position:absolute;inset:0;
  background:repeating-linear-gradient(0deg,transparent,transparent 39px,rgba(177,141,49,.07) 40px),
  repeating-linear-gradient(90deg,transparent,transparent 39px,rgba(177,141,49,.07) 40px);
}
.map-svg{position:absolute;inset:0;}
.map-pin{position:absolute;top:50%;left:50%;transform:translate(-50%,-60%);display:flex;flex-direction:column;align-items:center;gap:.5rem;}
.map-dot{
  width:16px;height:16px;background:var(--logo);border-radius:50%;
  animation:mpulse 2s ease-in-out infinite;
  box-shadow:0 0 0 0 rgba(177,141,49,.6);
}
@keyframes mpulse{0%,100%{box-shadow:0 0 0 0 rgba(177,141,49,.6);}50%{box-shadow:0 0 0 20px rgba(177,141,49,0);}}
.map-lbl{
  background:rgba(22,16,10,.92);border:1px solid rgba(177,141,49,.32);
  padding:.45rem .9rem;font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--logo-pale);white-space:nowrap;
}
.map-addr{position:absolute;bottom:1.2rem;left:0;right:0;text-align:center;font-size:.62rem;color:rgba(240,221,176,.3);letter-spacing:.1em;}

/* ══════════════════════════════════════════════
   FOOTER
══════════════════════════════════════════════ */
footer{background:#0c0804;padding:4.5rem 4.5rem 2.5rem;border-top:1px solid rgba(177,141,49,.1);}
.ft{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr;gap:4rem;padding-bottom:3rem;border-bottom:1px solid rgba(177,141,49,.08);}
.ft-brand img{height:44px;margin-bottom:1.2rem;filter:brightness(1.05);}
.ft-brand p{font-size:.86rem;color:var(--text-soft);line-height:1.8;max-width:275px;}
.ft-col h4{font-family:'Cormorant Garamond',serif;font-size:1rem;font-weight:600;color:var(--white);margin-bottom:1.2rem;letter-spacing:.04em;}
.ft-col ul{list-style:none;}
.ft-col li{margin-bottom:.55rem;}
.ft-col a{font-size:.83rem;color:var(--text-soft);text-decoration:none;transition:color .3s;letter-spacing:.02em;}
.ft-col a:hover{color:var(--logo);}
.ft-bot{max-width:1180px;margin:2rem auto 0;display:flex;justify-content:space-between;align-items:center;}
.ft-bot p{font-size:.68rem;color:rgba(154,112,64,.35);letter-spacing:.12em;}

/* ══════════════════════════════════════════════
   RESPONSIVE
══════════════════════════════════════════════ */
@media(max-width:1050px){
  #nav{padding:1rem 2rem;}
  #nav.solid{padding:.8rem 2rem;}
  .nav-links{display:none;}
  .hero-body{padding:6rem 2rem 8rem;}
  .hero-bar{padding:1rem 2rem;gap:1.2rem;flex-wrap:wrap;}
  .hbar-cell{border-right:none;padding:0;}
  .hero-right{display:none;}
  #story,.story-grid,.visit-grid{display:block;}
  #story{padding:5rem 2rem;}
  .story-grid .story-img-wrap{margin-bottom:4rem;}
  #menu{padding:5rem 2rem;}
  .menu-hd{flex-direction:column;align-items:flex-start;gap:1rem;}
  .menu-hd-r{text-align:left;}
  .menu-grid{grid-template-columns:1fr;}
  .mc.feat{grid-row:span 1;}
  #atm{grid-template-columns:1fr;}
  .atm-img{height:300px;}
  .atm-body{padding:4rem 2rem;}
  #gallery{padding:5rem 2rem;}
  .gallery-hd{flex-direction:column;align-items:flex-start;gap:1rem;}
  .gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:auto;}
  .gc.tall{grid-row:span 1;}
  #testi{padding:5rem 2rem;}
  #visit{padding:5rem 2rem;}
  .visit-grid{display:block;}
  .visit-info{margin-bottom:3rem;}
  footer{padding:4rem 2rem 2rem;}
  .ft{grid-template-columns:1fr;gap:2.5rem;}
  .ft-bot{flex-direction:column;gap:.5rem;text-align:center;}
  .scroll-cue{left:2rem;}
}
