/* =========================================================
   LE CHAI — tokens
   ========================================================= */
:root{
  /* ---- light theme surfaces (body copy, cards, page background) ---- */
  --bg:         #FFFFFF;   /* page background — white */
  --bg-soft:    #FBF4E9;   /* alternating warm-cream section band */
  --ink:        #241A12;   /* primary text — warm near-black */
  --ink-soft:   #6B5B4D;   /* secondary / muted text */
  --line:       rgba(36,26,18,.1);  /* default hairline border on light bg */

  /* ---- branded "dark" zones: hero, footer, subhero banner, delivery ---- */
  --brand:      #01330E;   /* Le Chai logo green, exact brand color */
  --brand-lt:   #0E4A26;   /* lighter green for hover/edges */
  --night:      #08150E;   /* near-black pine — hero bg / scrim / photo badges */
  --masala:     #FBF4E9;   /* story section surface (now light, matches --bg-soft) */
  --cream:      #F6ECDA;   /* cardamom cream — text/elements on the dark zones above */

  /* ---- accents ---- */
  --saffron:      #D9821C;  /* turmeric / saffron accent */
  --saffron-deep: #A8590E;  /* deepened saffron — for small text/links on white */
  --amber:        #B5581D;  /* chai amber, gradient partner */
  --amber-deep:   #7A3A12;
  --sage-deep:    #0E4A26;  /* used by ways/featured icon accents */



  --font-display: "Fraunces", "Georgia", serif;
  --font-script:  "Marck Script", cursive;
  --font-body:    "Jost", "Segoe UI", sans-serif;

  --nav-h: 84px;
  --ease: cubic-bezier(.22,.9,.3,1);
}

*,*::before,*::after{ box-sizing: border-box; }
html{ scroll-behavior: smooth; }
body{
  margin:0;
  background: var(--bg);
  color: var(--ink);
  font-family: var(--font-body);
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
a{ color:inherit; text-decoration:none; }
img,video{ max-width:100%; display:block; }

@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  *{ animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; }
}

/* =========================================================
   BUTTONS
   ========================================================= */
.btn{
  display:inline-flex; align-items:center; justify-content:center;
  padding: 15px 30px;
  font-family: var(--font-body);
  font-size: 15px; font-weight: 500; letter-spacing:.02em;
  border-radius: 999px;
  cursor:pointer; border:1px solid transparent;
  transition: transform .35s var(--ease), box-shadow .35s var(--ease), background .35s var(--ease), color .35s var(--ease);
  white-space: nowrap;
}
.btn--cta{
  background: linear-gradient(120deg, var(--saffron), var(--amber));
  color: white;
 
}
.btn--cta:hover{ transform: translateY(-2px); box-shadow: 0 16px 34px -10px rgba(227,146,43,.7); }
.btn--ghost{
  background: transparent;
  border-color: rgba(36,26,18,.25);
  color: var(--ink);
  backdrop-filter: blur(2px);
}
.btn--ghost:hover{ background: rgba(36,26,18,.05); border-color: rgba(36,26,18,.5); }
/* on the photo-backed hero, ghost buttons need the light-on-dark treatment */
.hero .btn--ghost{ border-color: rgba(246,236,218,.4); color: var(--cream); }
.hero .btn--ghost:hover{ background: rgba(246,236,218,.1); border-color: rgba(246,236,218,.75); }

/* =========================================================
   NAV — white header, multi-color links
   ========================================================= */
.nav{
  position: fixed; top:0; left:0; right:0; z-index: 100;
  height: var(--nav-h);
  display:flex; align-items:center;
  background: #FFFFFF;
  border-bottom: 1px solid rgba(36,26,18,.08);
  box-shadow: 0 4px 20px -12px rgba(36,26,18,.18);
  transition: background .4s var(--ease), height .4s var(--ease), box-shadow .4s var(--ease);
}
.nav.is-scrolled{
  background: rgba(255,255,255,.96);
  backdrop-filter: blur(14px) saturate(140%);
  height: 68px;
  box-shadow: 0 8px 26px -14px rgba(36,26,18,.22);
}
.nav__inner{
  width:100%;
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 clamp(20px, 4vw, 56px);
  display:flex; align-items:center; gap: clamp(16px,3vw,48px);
}

.brand{ display:flex; align-items:center; gap:10px; margin-right:auto; }
.brand__mark{
  height: 70px;
  width: auto;
  display:block;
  
  
}


.nav.is-scrolled .brand__mark{ height: 48px; }

.nav__links{ display:flex; align-items:center; gap: clamp(18px, 2.4vw, 34px); }
.nav__links a{
  position:relative;
  font-size: 15px; font-weight: 500; color: var(--ink-soft);
  padding: 6px 0;
  transition: color .3s var(--ease);
}
/* give each link its own accent color, on-brand but distinct */
.nav__links a:nth-child(1){ color: var(--ink); }
.nav__links a:nth-child(2){ color: var(--saffron-deep); }
.nav__links a:nth-child(3){ color: var(--sage-deep); }
.nav__links a:nth-child(4){ color: var(--amber-deep); }
.nav__links a:nth-child(5){ color: var(--ink-soft); }

.nav__links a::after{
  content:""; position:absolute; left:0; right:100%; bottom:0; height:1px;
  background: var(--saffron); transition: right .35s var(--ease);
}
.nav__links a:hover{ color: var(--brand); }
.nav__links a:hover::after{ right:0; }
.nav__links a.is-active{ color: var(--brand); }

.nav__cta{ padding: 11px 24px; font-size:14px; }
.nav__burger{ display:none; }

@media (max-width: 980px){
  .nav__links{ display:none; }
  .nav__cta.nav__cta{ display:none; }
  .nav__burger{
    display:flex; flex-direction:column; justify-content:center; gap:5px;
    width:38px; height:38px; background:none; border:none; cursor:pointer;
  }
  .nav__burger span{ width:100%; height:2px; background: var(--ink); border-radius:2px; transition: transform .3s var(--ease), opacity .3s var(--ease); }
  .nav__burger[aria-expanded="true"] span:nth-child(1){ transform: translateY(7px) rotate(45deg); }
  .nav__burger[aria-expanded="true"] span:nth-child(2){ opacity:0; }
  .nav__burger[aria-expanded="true"] span:nth-child(3){ transform: translateY(-7px) rotate(-45deg); }

  .nav__mobile{
    position:fixed; top: var(--nav-h); left:0; right:0;
    display:flex; flex-direction:column; gap:2px;
    background: rgba(15,9,5,.97);
    backdrop-filter: blur(14px);
    padding: 10px 24px 26px;
    transform: translateY(-12px);
    opacity:0; pointer-events:none;
    transition: opacity .3s var(--ease), transform .3s var(--ease);
    border-bottom: 1px solid rgba(246,236,218,.1);
  }
  .nav__mobile.is-open{ opacity:1; pointer-events:auto; transform:none; }
  .nav__mobile a{ padding: 14px 4px; font-size:16px; border-bottom: 1px solid rgba(246,236,218,.08); color: var(--cream); }
  .nav__mobile .btn{ margin-top:14px; width:100%; }
}
@media (min-width:981px){ .nav__mobile{ display:none; } }

/* =========================================================
   HERO
   ========================================================= */
.hero{
  position: relative;
  min-height: 100svh;
  display:flex; flex-direction:column; justify-content:center;
  overflow:hidden;
  padding-top: var(--nav-h);
}

.hero__media{
  position:absolute; inset:0; z-index:0;
  background:
    radial-gradient(120% 90% at 15% 25%, rgba(20,60,36,.9), transparent 60%),
    linear-gradient(120deg, var(--brand) 0%, var(--night) 70%);
}
.hero__video{
  width:100%; height:100%; object-fit:cover; object-position:center 40%;
  filter: saturate(1.08) contrast(1.03);
  animation: kenBurns 22s ease-in-out infinite alternate;
  background: transparent;
}
@keyframes kenBurns{
  0%{ transform: scale(1); }
  100%{ transform: scale(1.08); }
}
.hero__scrim{
  position:absolute; inset:0;
  background:
    linear-gradient(100deg, rgba(3,13,8,.94) 8%, rgba(4,18,11,.72) 34%, rgba(6,24,15,.32) 58%, rgba(6,24,15,.55) 100%),
    linear-gradient(to top, rgba(2,9,6,.85) 0%, rgba(2,9,6,0) 34%, rgba(2,9,6,.15) 100%);
}
.hero__grain{
  position:absolute; inset:0; opacity:.05; mix-blend-mode:overlay; pointer-events:none;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='120' height='120'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
}

.steam-path{ stroke: var(--cream); opacity:.16; }
.steam-path--1{ animation: steamRise 9s ease-in-out infinite; }
.steam-path--2{ animation: steamRise 11s ease-in-out infinite 1.4s; }
.steam-path--3{ animation: steamRise 10s ease-in-out infinite 2.6s; }
@keyframes steamRise{
  0%{ transform: translateY(10px); opacity:0; }
  15%{ opacity:.22; }
  50%{ transform: translateY(-30px); opacity:.16; }
  85%{ opacity:.06; }
  100%{ transform: translateY(-70px); opacity:0; }
}

.hero__content{
  position:relative; z-index:2;
  width:100%; max-width: 1400px; margin:0 auto;
  padding: 64px clamp(20px,4vw,56px) 40px;
}

.eyebrow{
  display:inline-flex; align-items:center; gap:9px;
  font-size: 13px; letter-spacing:.14em; text-transform:uppercase;
  color: var(--cream);
  background: rgba(246,236,218,.08);
  border: 1px solid rgba(246,236,218,.18);
  padding: 8px 18px 8px 14px;
  border-radius: 999px;
  margin: 0 0 28px;
}
.eyebrow__dot{
  width:7px; height:7px; border-radius:50%;
  background: var(--saffron);
  box-shadow: 0 0 0 4px rgba(227,146,43,.22);
  animation: pulseDot 2.4s ease-in-out infinite;
}
@keyframes pulseDot{ 0%,100%{ transform:scale(1); } 50%{ transform:scale(1.35); } }

/* ---- headline / word reveal ---- */
.headline{
  margin: 0 0 22px;
  font-family: var(--font-display);
  font-weight: 600;
  font-size: clamp(30px, 5.4vw, 66px);
  line-height: 1.08;
  letter-spacing: -.01em;
  max-width: 15ch;
  perspective: 800px;
  color: var(--cream);
}
.headline__line{ display:block; overflow:hidden; padding-bottom: .1em; }
.headline__line--script{
  font-family: var(--font-script);
  font-weight: 400;
  color: #D9821C;
  font-size: 1.16em;
  line-height: 1;
  margin-top: 2px;
}

.word{
  display: inline-block;
  transform-origin: left bottom;
  transform: translate3d(-14px, 14px, 0) rotateX(-18deg) scale(.95);
  opacity: 0;
  filter: blur(3px);
  will-change: transform, opacity, filter;
  animation: wordIn .85s cubic-bezier(.16,1,.3,1) forwards;
}
@keyframes wordIn{
  60%{ filter: blur(0); }
  to{ transform: translate3d(0,0,0) rotateX(0) scale(1); opacity:1; filter: blur(0); }
}
@keyframes scriptGlow{
  0%,100%{ text-shadow: 0 0 14px rgba(79,143,91,.32); }
  50%{ text-shadow: 0 0 26px rgba(79,143,91,.65); }
}

.word-mask{ display:inline-block; overflow:hidden; vertical-align:top; }

@keyframes wordIn{
  55%{ filter: blur(0); }
  to{ transform: translate3d(0,0,0) rotateX(0) scale(1); opacity:1; filter: blur(0); }
}

.word--scroll{
  transform: translate3d(-18px, 16px, 0) scale(.97);
  filter: blur(4px);
  animation-name: wordInSoft;
  animation-duration: .75s;
  animation-play-state: paused;
}
@keyframes wordInSoft{
  60%{ filter: blur(0); }
  to{ transform: translate3d(0,0,0) scale(1); opacity:1; filter: blur(0); }
}
[data-word-group].is-visible .word--scroll{
  animation-play-state: running;
}

.hero__tagline{
  display:flex; align-items:center; gap:14px;
  font-family: var(--font-script);
  font-size: clamp(20px, 2.2vw, 26px);
  color: var(--saffron);
  margin: 0 0 22px;
}
.tagline-rule{ width:38px; height:1px; background: linear-gradient(90deg, transparent, rgba(227,146,43,.6)); }
.hero__tagline .tagline-rule:last-child{ background: linear-gradient(90deg, rgba(227,146,43,.6), transparent); }
.tagline-text{ position:relative; white-space:nowrap; }
.tagline-text::after{
  content:"";
  display:inline-block;
  width:2px; height: .9em;
  background: var(--saffron);
  margin-left:3px;
  vertical-align: -0.12em;
  animation: caretBlink 1s steps(1) infinite;
}
@keyframes caretBlink{ 0%,49%{ opacity:1; } 50%,100%{ opacity:0; } }

.hero__sub{
  max-width: 46ch;
  font-size: clamp(15.5px, 1.6vw, 18px);
  line-height: 1.7;
  color: rgba(246,236,218,.82);
  font-weight: 300;
  margin: 0 0 38px;
}

.hero__actions{ display:flex; flex-wrap:wrap; gap: 16px; margin-bottom: 52px; }

.hero__trust{ display:flex; align-items:center; gap: clamp(16px,2.4vw,30px); flex-wrap:wrap; }
.trust__item{ display:flex; flex-direction:column; gap:2px; }
.trust__item strong{ font-family: var(--font-display); font-size: 22px; font-weight:600; color: var(--cream); }
.trust__item span{ font-size: 12.5px; letter-spacing:.04em; color: rgba(246,236,218,.6); text-transform:uppercase; }
.trust__divider{ width:1px; height:30px; background: rgba(246,236,218,.18); }

.reveal-up{
  opacity:0; transform: translateY(18px);
  animation: revealUp .9s var(--ease) forwards;
  animation-delay: var(--d, .2s);
}
@keyframes revealUp{ to{ opacity:1; transform:none; } }

.hero__scroll{
  position:relative; z-index:2;
  margin: 0 auto 34px;
  display:flex; flex-direction:column; align-items:center; gap:10px;
  opacity:0; animation: revealUp 1s var(--ease) forwards; animation-delay: 1.9s;
}
.hero__scroll span{ font-size:11px; letter-spacing:.22em; text-transform:uppercase; color: rgba(246,236,218,.55); }
.hero__scroll-line{ width:1px; height:46px; background: rgba(246,236,218,.2); overflow:hidden; }
.hero__scroll-line i{
  display:block; width:100%; height:16px; background: var(--saffron);
  animation: scrollDrip 2.1s ease-in-out infinite;
}
@keyframes scrollDrip{
  0%{ transform: translateY(-16px); }
  60%{ transform: translateY(46px); }
  100%{ transform: translateY(46px); }
}

@media (max-width: 640px){
  .hero__content{ padding-top: 40px; }
  .hero__actions .btn{ width:100%; }
  .hero__scroll{ display:none; }
}

/* =========================================================
   SCROLL REVEAL (generic)
   ========================================================= */
[data-reveal]{
  opacity:0;
  transform: translateY(34px);
  transition: opacity .9s var(--ease), transform .9s var(--ease);
}
[data-reveal="left"]{ transform: translateX(-70px); }
[data-reveal="right"]{ transform: translateX(70px); }
[data-reveal].is-visible{ opacity:1; transform:none; }
[data-reveal].is-visible .stagger > *{ opacity:1; transform:none; }

/* =========================================================
   SHARED SECTION SCAFFOLDING
   ========================================================= */
.section{ position:relative; background: var(--bg); padding: 108px clamp(20px,5vw,56px); }
.section--divider{ border-top: 1px solid rgba(36,26,18,.08); }
.section__inner{ max-width: 1280px; margin:0 auto; }
.section__head{ max-width: 640px; margin: 0 0 56px; }
.kicker{
  font-size:13px; letter-spacing:.16em; text-transform:uppercase;
  color: var(--saffron-deep); font-weight:600; margin: 0 0 14px;
}
.kicker--light{ color:#F6D9A6; }
.section__title{
    font-family: var(--font-script);
  font-size: 30px; 
  margin: 0 0 16px; color: var(--ink);
}
.section__title em{
  font-family: var(--font-script); font-style:normal;
  color: var(--saffron); font-size: 1.06em; font-weight:400;
}
.section__title--light{ color:#fff; }
.section__title--light em{ color:#FBD48A; }
.section__sub{ color: var(--ink-soft); font-weight:400; line-height:1.75; font-size:16px; }
.section__sub--light{ color: rgba(255,255,255,.78); max-width: 46ch; margin-left:auto; margin-right:auto; }

/* =========================================================
   BLENDS
   ========================================================= */
.blends{ background: var(--bg-soft); }
.blends .section__head{ margin-left:auto; margin-right:auto; text-align:center; }
.blend-grid{
  display:grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 22px;
}
.blend-card{
  position:relative;
  background: #FFFFFF;
  border: 1px solid rgba(36,26,18,.08);
  border-radius: 18px;
  padding: 28px 26px 30px;
  overflow:hidden;
  box-shadow: 0 2px 14px rgba(36,26,18,.045);
  transition: transform .5s var(--ease), border-color .5s var(--ease), box-shadow .5s var(--ease);
}
.blend-card::before{
  content:""; position:absolute; top:0; left:0; right:0; height:3px;
  background: var(--tint, var(--saffron));
}
.blend-card:hover{
  transform: translateY(-8px);
  border-color: rgba(217,130,28,.35);
  box-shadow: 0 22px 40px -18px rgba(36,26,18,.18);
}
.blend-card__top{ display:flex; align-items:center; justify-content:space-between; margin-bottom:18px; }
.blend-card__icon{ width:34px; height:34px; color: var(--tint, var(--saffron)); }
.blend-card__price{ font-family: var(--font-display); font-weight:600; color: var(--ink); font-size:15px; }
.blend-card h3{ font-family: var(--font-display); font-weight:600; font-size:21px; margin:0 0 8px; color: var(--ink); }
.blend-card p{ margin:0; color: var(--ink-soft); font-size:14.5px; line-height:1.65; font-weight:400; }

/* =========================================================
   SNACKS — menu-board list (distinct from the blend cards)
   ========================================================= */
.snacks{ background: var(--bg); }
.snacks .section__head{ margin-left:auto; margin-right:auto; text-align:center; }
.snack-list{ max-width: 760px; margin: 0 auto; border-top: 1px solid rgba(36,26,18,.12); }
.snack-row{
  display:flex; align-items:center; gap:18px;
  padding: 24px 4px;
  border-bottom: 1px solid rgba(36,26,18,.12);
}
.snack-row__icon{ width:28px; height:28px; min-width:28px; color: var(--saffron-deep); }
.snack-row__name{ font-family: var(--font-display); font-weight:600; font-size:18px; color: var(--ink); white-space:nowrap; }
.snack-row__leader{
  flex:1; height:0; min-width: 24px;
  border-bottom: 1px dotted rgba(36,26,18,.28);
  transform: translateY(-4px);
}
.snack-row__desc{ color: var(--ink-soft); font-size:14px; font-weight:400; text-align:right; max-width: 40%; }

@media (max-width: 620px){
  .snack-row{ flex-wrap:wrap; }
  .snack-row__leader{ display:none; }
  .snack-row__desc{ max-width:none; text-align:left; flex-basis:100%; margin-left:46px; }
}

/* =========================================================
   EXPLORE OUR MENU — two-column price list with round photo
   badges, a dotted leader line to the price, and a short
   descriptor beneath each item
   ========================================================= */
.menu-explore{ background: var(--bg-soft); }
.menu-explore__head{ margin-left:auto; margin-right:auto; text-align:center; }

.menu-explore__grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  column-gap: clamp(40px, 6vw, 88px);
  row-gap: 0;
}
.menu-explore__col{
  display:flex; flex-direction:column;
  border-top: 1px solid rgba(36,26,18,.12);
}

.menu-row{
  display:flex;
  align-items:flex-start;
  gap:18px;
  padding: 22px 2px;
  border-bottom: 1px solid rgba(36,26,18,.12);
  transition: transform .35s var(--ease);
}
.menu-row:hover{ transform: translateY(-2px); }

.menu-row__photo{
  width:58px; height:58px; min-width:58px;
  border-radius:50%;
  display:flex; align-items:center; justify-content:center;
 
  
  
}
.menu-row__photo svg{ width:26px; height:26px; }

.menu-row__body{ flex:1; min-width:0; padding-top: 4px; }
.menu-row__top{ display:flex; align-items:baseline; gap:8px; }
.menu-row__name{
  font-family: var(--font-display); font-weight:600; font-size:18px;
  color: var(--ink); white-space:nowrap;
}
.menu-row__dots{
  flex:1; min-width:16px; height:0;
  border-bottom: 1px dotted rgba(36,26,18,.3);
  transform: translateY(-5px);
}
.menu-row__price{
  font-family: var(--font-display); font-weight:700; font-size:17px;
  color: var(--saffron-deep); white-space:nowrap;
}
.menu-row__desc{
  margin: 6px 0 0; color: var(--ink-soft); font-size:14px;
  font-weight:400; line-height:1.55;
}

.menu-explore__cta{ text-align:center; margin-top: 48px; }

@media (max-width: 760px){
  .menu-explore__grid{ grid-template-columns: 1fr; }
  .menu-explore__col + .menu-explore__col{ border-top:none; }
}

/* =========================================================
   THE BREW & THE CRUNCH — large image + icon list
   ========================================================= */
.pillars{ background: var(--bg); }
.pillars__inner{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(40px, 6vw, 84px);
  align-items:center;
}

.pillars__visual{
  position:relative;
  display:flex;
  justify-content:center;
}
.pillars__image-wrap{
  width:100%;
  max-width:520px;
  aspect-ratio: 4 / 5;
  max-height:650px;
  border-radius:24px;
  overflow:hidden;
}
.pillars__image-wrap img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  display:block;
}.pillars__image-wrap1{
  width:100%;
  max-width:520px;
  aspect-ratio: 4 / 5;
  max-height:650px;
  border-radius:24px;
  overflow:hidden;
}
.pillars__image-wrap1 img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  display:block;
}
.pillars__image-wrap1 img{
  width:100%;
  height:80%;
  object-fit:cover;
  object-position:center;
  display:block;
}

.pillars__badge{
  position:absolute;
  top:26px; left:26px;
  z-index:2;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  text-align:center;
  width:104px; height:104px;
  border-radius:50%;
  background: rgba(8,21,14,.88);
  border:1px solid rgba(255,255,255,.25);
  backdrop-filter: blur(6px);
}
.pillars__badge span{ font-family:var(--font-display); font-weight:700; font-size:20px; color:var(--saffron); line-height:1; }
.pillars__badge em{ font-style:normal; font-size:10.5px; font-weight:500; color:rgba(246,236,218,.75); line-height:1.35; margin-top:4px; }

.pillars__copy .kicker{ margin-bottom:14px; }
.pillars__copy .section__title{ margin-bottom:14px; }
.pillars__copy .section__sub{ margin-bottom:38px; max-width:48ch; }

.pillars__list{ list-style:none; margin:0 0 38px; padding:0; display:flex; flex-direction:column; gap:30px; }
.pillars__item{ display:flex; align-items:flex-start; gap:22px; }
.pillars__item-icon{
  width:52px; height:52px; min-width:52px;
  border-radius:14px;
  background: rgba(217,130,28,.08);
  border:1px solid rgba(217,130,28,.18);
  display:flex; align-items:center; justify-content:center;
  color:var(--saffron-deep);
}
.pillars__item-icon svg{ width:26px; height:26px; }
.pillars__item-text h3{ font-family:var(--font-display); font-weight:600; font-size:19px; margin:0 0 8px; color:var(--ink); }
.pillars__item-text p{ margin:0; color:var(--ink-soft); font-size:15px; line-height:1.7; font-weight:400; }
.pillars__cta{ margin-top:4px; }

@media (max-width: 860px){
  .pillars__inner{ grid-template-columns:1fr; text-align:center; }
  .pillars__visual{ order:-1; margin-bottom:8px; }
  .pillars__image-wrap{ max-width:380px; margin:0 auto; }
  .pillars__badge{ left:auto; right:20px; }
  .pillars__item{ text-align:left; }
}

/* =========================================================
   WAYS TO TAKE YOUR BREAK — flanking columns + center visual
   ========================================================= */
.ways{ background: var(--bg); }
.ways .section__head{ margin-left:auto; margin-right:auto; text-align:center; }

.ways-grid{
  display:grid;
  grid-template-columns: 1fr minmax(320px, 480px) 1fr;  /* wider center column */
  align-items:center;                                    /* was: stretch */
  gap: clamp(32px, 5vw, 72px);
}

.ways-visual{
  display:flex; align-items:center; justify-content:center;
  overflow:visible;                                      /* don't clip the image */
}

.ways-cup{
  width:100%;
  height:auto;              /* keep the image's natural proportions */
  max-height:640px;
  object-fit:contain;       /* show the whole image, no cropping */
  object-position:center;
  border-radius:20px;
}

.ways-col{ display:flex; flex-direction:column; justify-content:center; gap:0; }
.ways-col--left,
.ways-col--right{ border-top: 1px solid rgba(36,26,18,.12); }

.ways-item{
  display:flex;
  align-items:flex-start;
  gap:20px;
  padding: 36px 2px;
  border-bottom: 1px solid rgba(36,26,18,.12);
  opacity:0;
  transform: translateY(28px) scale(.95);
  transition: opacity .6s var(--ease), transform .6s var(--ease);
}
.ways-col--left .ways-item{ text-align:right; flex-direction:row-reverse; }
.ways-grid.is-visible .ways-item{ opacity:1; transform:none; }

.ways-col--left .ways-item:nth-child(1){ transition-delay: .05s; }
.ways-col--left .ways-item:nth-child(2){ transition-delay: .18s; }
.ways-col--left .ways-item:nth-child(3){ transition-delay: .31s; }
.ways-col--right .ways-item:nth-child(1){ transition-delay: .12s; }
.ways-col--right .ways-item:nth-child(2){ transition-delay: .25s; }
.ways-col--right .ways-item:nth-child(3){ transition-delay: .38s; }

.ways-item__icon{
  transition: transform .5s var(--ease), background .3s var(--ease);
}
.ways-item:hover .ways-item__icon{ transform: scale(1.12) rotate(-6deg); }
.ways-item__icon{
  width:44px; height:44px; min-width:44px;
  border-radius:50%;
  background: rgba(79,143,91,.08);
  border: 1px solid rgba(79,143,91,.2);
  display:flex; align-items:center; justify-content:center;
  color: var(--sage-deep);
}
.ways-item__icon svg{ width:20px; height:20px; }

.ways-item__text h3{
  font-family: var(--font-display); font-weight:600; font-size:19px;
  margin:0 0 8px; color: var(--ink);
}
.ways-item__text p{
  margin:0; color: var(--ink-soft); font-size:14.5px; font-weight:400; line-height:1.65;
}

.ways-visual{
  display:flex; align-items:stretch; justify-content:center;
  overflow:hidden;
}
.ways-cup{
  width: 100%; height:100%;
  max-width: none;
  object-fit: cover;
  object-position: center;
}
.ways-visual img{
  opacity:0;
  transform: scale(.88);
  transition: opacity .8s var(--ease) .15s, transform .8s var(--ease) .15s;
}
.ways-grid.is-visible .ways-visual img{ opacity:1; transform:none; }
@media (max-width: 900px){
  .ways-grid{ grid-template-columns:1fr; }
  .ways-visual{ order:-1; margin-bottom: 8px; }
  .ways-cup{ max-width: 320px; width:100%; height:auto; }
  .ways-col--left .ways-item{ text-align:left; flex-direction:row; }
  .ways-col--left{ border-top:none; }
  .ways-col--right{ border-top: 1px solid rgba(36,26,18,.12); }
}

/* =========================================================
   STORY
   ========================================================= */
.story{ background: var(--masala); }
.story__inner{ display:grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items:start; }
.story__copy p{ color: var(--ink-soft); line-height:1.8; font-weight:400; font-size:16px; margin:0 0 18px; }
.story__link{
  display:inline-flex; align-items:center; gap:8px; color: var(--saffron-deep);
  font-weight:600; margin-top:8px;
}
.story__link span{ transition: transform .3s var(--ease); }
.story__link:hover span{ transform: translateX(5px); }

.story__process{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:26px; }
.process-step{ display:flex; gap:20px; align-items:flex-start; }
.process-step__num{
  font-family: var(--font-display); font-weight:600; font-size:15px;
  color: var(--ink); background: linear-gradient(120deg, var(--saffron), var(--amber));
  width:40px; height:40px; min-width:40px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
}
.process-step h4{ margin:2px 0 6px; font-family: var(--font-display); font-weight:600; font-size:17px; color: var(--ink); }
.process-step p{ margin:0; color: var(--ink-soft); font-size:14.5px; font-weight:400; line-height:1.6; }

@media (max-width: 860px){ .story__inner{ grid-template-columns: 1fr; gap:44px; } }

/* =========================================================
   CAFÉS
   ========================================================= */
.cafes{ background: var(--bg); }
.cafes .section__head{ text-align:center; margin-left:auto; margin-right:auto; }
.city-grid{
  display:grid; grid-template-columns: repeat(auto-fit, minmax(160px,1fr));
  gap:16px; margin-bottom: 46px;
}
.city-card{
  background: #FFFFFF;
  border: 1px solid rgba(36,26,18,.08);
  border-radius: 14px;
  padding: 26px 20px;
  text-align:center;
  box-shadow: 0 2px 12px rgba(36,26,18,.045);
  transition: transform .4s var(--ease), box-shadow .4s var(--ease), border-color .4s var(--ease);
}
.city-card:hover{ transform: translateY(-5px); box-shadow: 0 16px 30px -14px rgba(36,26,18,.2); border-color: rgba(217,130,28,.35); }
.city-card h3{ font-family: var(--font-display); font-weight:600; font-size:19px; margin:0 0 6px; color: var(--ink); }
.city-card span{ font-size:13px; color: var(--ink-soft); letter-spacing:.03em; }
.cafes__cta{ text-align:center; }

/* =========================================================
   DELIVERY (banner)
   ========================================================= */
.delivery{
  background: linear-gradient(120deg, var(--brand), var(--brand-lt));
  text-align:center;
  overflow:hidden;
}
.delivery__inner{ position:relative; z-index:2; max-width:620px; }
.delivery__steam{ position:absolute; left:6%; bottom:0; width:160px; height:100%; opacity:.35; pointer-events:none; }
.delivery__steam svg{ width:100%; height:100%; }
.delivery .hero__actions{ justify-content:center; margin-bottom:0; }
.btn--ghost-light{ border-color: rgba(255,255,255,.45); color:#fff; }
.btn--ghost-light:hover{ background: rgba(255,255,255,.1); border-color:#fff; }

/* =========================================================
   TESTIMONIALS
   ========================================================= */
.testimonials{ background: var(--bg-soft); }
.testimonials .section__head{ text-align:center; margin-left:auto; margin-right:auto; }
.testimonial-grid{ display:grid; grid-template-columns: repeat(auto-fit, minmax(260px,1fr)); gap:22px; }
.testimonial-card{
  background: #FFFFFF;
  border: 1px solid rgba(36,26,18,.08);
  border-radius: 16px;
  padding: 30px 26px;
  margin:0;
  box-shadow: 0 2px 14px rgba(36,26,18,.05);
  transition: transform .4s var(--ease), border-color .4s var(--ease), box-shadow .4s var(--ease);
}
.testimonial-card:hover{ transform: translateY(-6px); border-color: rgba(217,130,28,.35); box-shadow: 0 18px 32px -16px rgba(36,26,18,.2); }
.stars{ color: var(--saffron-deep); letter-spacing:2px; font-size:14px; margin-bottom:14px; }
.testimonial-card blockquote{
  margin:0 0 20px; font-family: var(--font-display); font-style:italic; font-weight:400;
  font-size:16.5px; line-height:1.65; color: var(--ink);
}
.testimonial-card figcaption{ font-size:13.5px; color: var(--ink-soft); }
.testimonial-card figcaption span{ color: rgba(36,26,18,.45); }

/* =========================================================
   JOIN / NEWSLETTER
   ========================================================= */
.join{ background: var(--bg); text-align:center; }
.join__inner{ max-width:560px; }
.join__form{
  display:flex; gap:12px; margin-top: 30px; flex-wrap:wrap; justify-content:center;
}
.join__form input{
  flex:1; min-width:220px;
  background: #FFFFFF;
  border: 1px solid rgba(36,26,18,.16);
  border-radius: 999px;
  padding: 15px 22px;
  color: var(--ink); font-family: var(--font-body); font-size:15px;
  outline:none;
  box-shadow: 0 2px 8px rgba(36,26,18,.03);
  transition: border-color .3s var(--ease), box-shadow .3s var(--ease);
}
.join__form input::placeholder{ color: rgba(36,26,18,.4); }
.join__form input:focus{ border-color: var(--saffron); box-shadow: 0 0 0 3px rgba(217,130,28,.14); }

/* =========================================================
   FOOTER
   ========================================================= */
.footer{ background: var(--brand); padding: 72px clamp(20px,5vw,56px) 0; }
.footer__inner{
  max-width:1280px; margin:0 auto;
  display:grid; grid-template-columns: 1.6fr 1fr 1fr 1fr; gap: 40px;
  padding-bottom: 56px;
  border-bottom: 1px solid rgba(246,236,218,.12);
}
.footer__mark{ height:52px; width:auto; margin-bottom:16px; }
.footer__brand p{ color: rgba(246,236,218,.6); font-size:14px; line-height:1.6; max-width:32ch; margin:0 0 20px; font-weight:300; }
.footer__social{ display:flex; gap:14px; }
.footer__social a{
  width:36px; height:36px; border-radius:50%;
  border:1px solid rgba(246,236,218,.25);
  display:flex; align-items:center; justify-content:center;
  color: var(--cream);
  transition: background .3s var(--ease), border-color .3s var(--ease), transform .3s var(--ease);
}
.footer__social a:hover{ background: var(--saffron); border-color: var(--saffron); color: var(--ink); transform: translateY(-3px); }

.footer__col h5{ font-size:13px; letter-spacing:.12em; text-transform:uppercase; color: rgba(246,236,218,.5); margin:0 0 18px; font-weight:500; }
.footer__col{ display:flex; flex-direction:column; gap:12px; }
.footer__col a{ color: rgba(246,236,218,.78); font-size:14.5px; transition: color .3s var(--ease); }
.footer__col a:hover{ color: var(--saffron); }
.footer__hours{ color: rgba(246,236,218,.5); font-size:13.5px; }

.footer__bottom{
  max-width:1280px; margin:0 auto;
  display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:10px;
  padding: 24px 0 30px;
  font-size:13px; color: rgba(246,236,218,.5);
}
.footer__tagline{ font-family: var(--font-script); color: var(--saffron); font-size:17px; }

@media (max-width: 900px){
  .footer__inner{ grid-template-columns: 1fr 1fr; }
}
@media (max-width: 560px){
  .footer__inner{ grid-template-columns: 1fr; }
}

/* =========================================================
   multi-page additions (nav active state, page headers,
   featured product section, gallery grid, contact line)
   ========================================================= */

.subhero{
  position: relative;
  padding: calc(var(--nav-h) + 64px) clamp(20px,5vw,56px) 64px;
  background:
    radial-gradient(120% 90% at 15% 15%, rgba(20,60,36,.9), transparent 60%),
    linear-gradient(120deg, var(--brand) 0%, var(--night) 75%);
  text-align:center;
  overflow:hidden;
}
.subhero__scrim{
  position:absolute; inset:0;
  background: linear-gradient(to bottom, rgba(2,9,6,.2), rgba(2,9,6,.6));
  pointer-events:none;
}
.subhero__inner{ position:relative; z-index:1; max-width:680px; margin:0 auto; }

.featured{ background: var(--bg-soft); }
.featured__inner{
  display:grid; grid-template-columns: .8fr 1.2fr;
  gap: clamp(40px,6vw,72px);
  align-items:center;
}

.featured__visual{
  position:relative;
  display:flex;
  justify-content:center;
  padding: 26px 30px 26px 6px;
}
.featured__visual .pillars__image-wrap{
  border: none;
  box-shadow: none;
  border-radius: 20px;
}
.btn--cta-green{
  background: linear-gradient(120deg, var(--brand), var(--brand-lt));
  color: var(--cream);
  box-shadow: 0 10px 26px -8px rgba(1,51,14,.5);
}
.btn--cta-green:hover{
  transform: translateY(-2px);
  box-shadow: 0 16px 34px -10px rgba(1,51,14,.65);
  color: #fff;
}

.featured__vertical-label{
  position:absolute;
  left:-6px;
  top:50%;
  transform: translateY(-50%) rotate(180deg);
  writing-mode: vertical-rl;
  font-size:12px;
  letter-spacing:.2em;
  text-transform:uppercase;
  color: rgba(36,26,18,.4);
  white-space:nowrap;
}
.featured__image-wrap{
  position:relative;
  width: min(100%, 380px);
  aspect-ratio: 4 / 5;
  border-radius: 26px;
  overflow:hidden;
  border: 1px solid rgba(36,26,18,.1);
  box-shadow: 0 40px 80px -30px rgba(36,26,18,.35);
  transition: transform .6s var(--ease);
}
.featured__image-wrap:hover{ transform: translateY(-6px); }
.featured__image-wrap img{ width:100%; height:100%; object-fit:cover; display:block; }

.featured__badge{
  position:absolute;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  border-radius:50%;
  opacity:0;
  transform: scale(.6);
}
.featured__visual.is-visible .featured__badge{
  animation: badgePop .55s var(--ease) forwards;
  animation-delay: var(--pop-delay, .2s);
}
@keyframes badgePop{ to{ opacity:1; transform:scale(1); } }

.featured__badge--stat{
  top: 8px;
  right: -10px;
  width:86px; height:86px;
  background: rgba(8,21,14,.92);
  border: 1px solid rgba(246,236,218,.18);
  backdrop-filter: blur(6px);
}
.featured__badge--stat .featured__badge-num{
  font-family: var(--font-display); font-weight:600; font-size:21px; color: var(--saffron); line-height:1.1;
}
.featured__badge--stat .featured__badge-sub{
  font-size:10px; letter-spacing:.04em; text-transform:uppercase; color: rgba(246,236,218,.6); margin-top:2px;
}

.featured__badge--years{
  left: -18px;
  bottom: 18px;
  width:116px; height:116px;
  background: linear-gradient(140deg, var(--saffron), var(--amber));
  box-shadow: 0 18px 34px -14px rgba(227,146,43,.55);
}
.featured__badge--years .featured__badge-num{
  font-family: var(--font-display); font-weight:700; font-size:25px; color: var(--ink); line-height:1;
}
.featured__badge--years .featured__badge-label{
  font-size:11.5px; font-weight:500; color: var(--ink); line-height:1.3; margin-top:5px;
}

@media (max-width: 860px){
  .featured__inner{ grid-template-columns: 1fr; text-align:center; }
  .featured__visual{ order:-1; margin-bottom:26px; padding: 26px 0 34px; }
  .featured__vertical-label{ display:none; }
  .featured__image-wrap{ width:min(100%,300px); }
  .featured__badge--stat{ top:-10px; right:6%; }
  .featured__badge--years{ left:6%; bottom:-16px; }
}

.featured__copy .section__title{ margin-bottom:18px; }
.featured__copy .section__sub{ margin-bottom:34px; max-width:52ch; }
.kicker--arrow{ display:inline-flex; align-items:center; gap:9px; }
.kicker__arrow{ display:inline-block; transition: transform .3s var(--ease); }
.featured__copy .kicker{
  color: var(--sage-deep);
  opacity:0;
  transform: translateY(10px);
  transition: opacity .6s var(--ease), transform .6s var(--ease);
}
[data-word-group].is-visible .kicker{ opacity:1; transform:none; transition-delay:.05s; }

.featured__bottom{
  display:grid;
  grid-template-columns: 1fr auto 1fr;
  gap: clamp(24px,4vw,44px);
  align-items:start;
}
.featured__checklist-col{ display:flex; flex-direction:column; gap:28px; }

.featured__list{
  list-style:none; margin:0; padding:0;
  display:flex; flex-direction:column; gap:14px;
}
.featured__list li{
  display:flex; align-items:flex-start; gap:12px;
  font-size:15.5px; color: var(--ink-soft); font-weight:400; line-height:1.5;
  opacity:0;
  transform: translateY(14px);
  transition: opacity .6s var(--ease), transform .6s var(--ease);
}
.featured__list-icon{
  display:flex; align-items:center; justify-content:center;
  width:22px; height:22px; min-width:22px; border-radius:50%;
  background: rgba(79,143,91,.14);
  color: var(--sage-deep);
  font-size:12px; font-weight:700;
  margin-top:1px;
}
[data-word-group].is-visible .featured__list li{ opacity:1; transform:none; }
[data-word-group].is-visible .featured__list li:nth-child(1){ transition-delay:.3s; }
[data-word-group].is-visible .featured__list li:nth-child(2){ transition-delay:.4s; }
[data-word-group].is-visible .featured__list li:nth-child(3){ transition-delay:.5s; }

.featured__cta{
  align-self: flex-start;
  display:inline-flex; align-items:center; gap:10px;
  opacity:0;
  transform: translateY(10px);
  transition: opacity .55s var(--ease), transform .55s var(--ease);
}
.featured__cta-arrow{ display:inline-block; transition: transform .3s var(--ease); }
.featured__cta:hover .featured__cta-arrow{ transform: translateX(5px); }
[data-word-group].is-visible .featured__cta{ opacity:1; transform:none; transition-delay:.6s; }

.featured__bottom-divider{
  width:1px;
  align-self: stretch;
  background: rgba(36,26,18,.12);
}

.featured__info-col{ display:flex; flex-direction:column; gap:22px; }
.featured__info-item,
.featured__founder{
  display:flex; align-items:center; gap:14px;
  opacity:0;
  transform: translateY(12px);
  transition: opacity .55s var(--ease), transform .55s var(--ease);
}
.featured__info-col.is-visible .featured__info-item,
.featured__info-col.is-visible .featured__founder{ opacity:1; transform:none; }
.featured__info-col.is-visible .featured__info-item:nth-child(1){ transition-delay:.25s; }
.featured__info-col.is-visible .featured__info-item:nth-child(2){ transition-delay:.38s; }
.featured__info-col.is-visible .featured__founder{ transition-delay:.52s; }

.featured__info-icon{
  width:44px; height:44px; min-width:44px; border-radius:50%;
  background: rgba(79,143,91,.08);
  border: 1px solid rgba(79,143,91,.2);
  display:flex; align-items:center; justify-content:center;
  color: var(--sage-deep);
}
.featured__info-text{ display:flex; flex-direction:column; gap:3px; }
.featured__info-label{ font-size:12px; letter-spacing:.06em; text-transform:uppercase; color: rgba(36,26,18,.5); }
.featured__info-value{ font-family: var(--font-display); font-weight:600; font-size:15.5px; color: var(--ink); }

.featured__founder{
  padding-top: 14px;
  border-top: 1px solid rgba(36,26,18,.1);
}
.featured__founder-avatar{
  width:44px; height:44px; min-width:44px; border-radius:50%;
  background: linear-gradient(140deg, var(--saffron), var(--amber));
  display:flex; align-items:center; justify-content:center;
  color: var(--ink);
}
.featured__founder strong{ display:block; font-family: var(--font-display); font-weight:600; font-size:15px; color: var(--ink); }
.featured__founder span{ font-size:13px; color: rgba(36,26,18,.55); }

@media (max-width: 760px){
  .featured__bottom{ grid-template-columns: 1fr; }
  .featured__bottom-divider{ width:60%; height:1px; margin: 6px auto; }
  .featured__checklist-col{ align-items:center; text-align:left; }
  .featured__info-col{ align-items:center; }
  .featured__info-item, .featured__founder{ text-align:left; }
}

/* =========================================================
   PARALLAX BREAK
   ========================================================= */
.parallax{
  position: relative;
  min-height: 540px;
  display:flex; align-items:center; justify-content:center;
  text-align:center;
  background-image:
    linear-gradient(to bottom, rgba(2,9,6,.72), rgba(2,9,6,.78)),
    url("images/p.jpeg");
  background-attachment: fixed;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  overflow: hidden;
  padding: 100px clamp(20px,5vw,56px);
  animation: parallaxZoom 18s ease-in-out infinite alternate;
}
@keyframes parallaxZoom{
  0%{ background-size: cover; }
  100%{ background-size: 112% auto; }
}

.parallax__steam{
  position:absolute; left:8%; bottom:0; width:60px; height:70%;
  opacity:.4; pointer-events:none; z-index:1;
}
.parallax__steam svg{ width:100%; height:100%; }

.parallax__inner{ position:relative; z-index:2; max-width:640px; margin:0 auto; }

.parallax__eyebrow,
.parallax__title,
.parallax__divider,
.parallax__sub,
.parallax__inner .btn{
  opacity:0;
  transform: translateY(24px);
  transition: opacity .8s var(--ease), transform .8s var(--ease);
  transition-delay: var(--d, 0s);
}
.parallax.is-visible .parallax__eyebrow,
.parallax.is-visible .parallax__title,
.parallax.is-visible .parallax__divider,
.parallax.is-visible .parallax__sub,
.parallax.is-visible .parallax__inner .btn{
  opacity:1;
  transform:none;
}
.parallax.is-visible .parallax__divider{
  transition: opacity .5s var(--ease) var(--d,0s), transform .6s var(--ease) var(--d,0s);
}

.parallax__eyebrow{
  font-size:13px; letter-spacing:.16em; text-transform:uppercase;
  color: var(--saffron); font-weight:600; margin:0 0 16px;
}
.parallax__title{
  font-family: var(--font-display); font-weight:600;
  font-size: clamp(32px, 5vw, 54px);
  letter-spacing:.03em;
  line-height:1.15;
  color: var(--cream);
  margin:0 0 28px;
}
.parallax__divider{
  display:flex; align-items:center; justify-content:center; gap:16px;
  margin: 0 0 30px;
  transform: translateY(24px) scaleX(.7);
}
.parallax.is-visible .parallax__divider{ transform: none; }
.parallax__divider-line{ width:70px; height:1px; background: rgba(246,236,218,.35); }
.parallax__divider-icon{ width:24px; height:24px; color: var(--saffron); }
.parallax__sub{
  font-size: clamp(15.5px,1.6vw,18px); line-height:1.75;
  color: rgba(246,236,218,.8); font-weight:300;
  margin: 0 0 42px;
}

@media (max-width: 760px){
  .parallax{ background-attachment: scroll; min-height: 440px; padding: 80px 24px; animation:none; }
}

/* ---- gallery page ---- */
.gallery-section{ background: var(--bg); padding-top: 90px; }
.gallery-grid{
  display:grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}
.gallery-item{
  position:relative; margin:0;
  border-radius: 16px;
  overflow:hidden;
  border: 1px solid rgba(36,26,18,.08);
  box-shadow: 0 2px 14px rgba(36,26,18,.06);
  aspect-ratio: 1 / 1;
}
.gallery-item--wide{ grid-column: span 3; aspect-ratio: 16 / 9; }
.gallery-item img{ width:100%; height:100%; object-fit:cover; transition: transform .6s var(--ease); }
.gallery-item:hover img{ transform: scale(1.05); }
.gallery-item figcaption{
  position:absolute; left:0; right:0; bottom:0;
  padding: 16px 18px;
  font-size: 13.5px; color: var(--cream);
  background: linear-gradient(to top, rgba(2,9,6,.85), transparent);
}
@media (max-width: 760px){
  .gallery-grid{ grid-template-columns: repeat(2, 1fr); }
  .gallery-item--wide{ grid-column: span 2; }
}
@media (max-width: 480px){
  .gallery-grid{ grid-template-columns: 1fr; }
  .gallery-item--wide{ grid-column: span 1; }
}

/* ---- contact page: direct-contact line under the form ---- */
.contact-direct{
  margin-top: 22px;
  font-size: 14px;
  color: var(--ink-soft);
}
.contact-direct a{ color: var(--saffron-deep); font-weight:600; }
.contact-direct a:hover{ text-decoration: underline; }


/* =========================================================
   MENU BANDS — alternating full-width sections, screenshot style
   ========================================================= */
.menu-bands{ background: var(--bg); }

.menu-band{ padding: 100px clamp(20px,5vw,56px) 84px; }
.menu-band--light{ background: var(--bg); }
.menu-band--soft{ background: var(--bg-soft); border-top: 1px solid rgba(36,26,18,.08); }

.menu-band__head{
  max-width: 620px;
  margin: 0 auto 54px;
  text-align: center;
}
.section__title--band{
  text-transform: uppercase;
  letter-spacing: .04em;
  font-size: clamp(24px, 3vw, 36px);
}
.section__title--band em{ text-transform: none; }

.menu-band__divider{
  display:flex; align-items:center; justify-content:center; gap:14px;
  margin: 18px 0 22px;
}
.menu-band__divider-line{ width:52px; height:1px; background: rgba(36,26,18,.22); }
.menu-band__divider svg{ width:20px; height:20px; color: var(--saffron-deep); }

.menu-band .section__sub{ max-width: 46ch; margin: 0 auto; text-align:center; }

.menu-band__cta{ padding: 56px clamp(20px,5vw,56px) 96px; background: var(--bg-soft); text-align:center; }

.menu-explore.menu-band--soft{ background: var(--bg-soft); }
.menu-explore.menu-band--light{ background: var(--bg); }
/* =========================================================
   APPEND TO styles.css — supports the upgraded testimonials,
   newsletter, and footer markup. Reuses existing tokens
   (--brand, --saffron, --cream, --font-display, .steam-path)
   so it inherits the rest of the page automatically.
   ========================================================= */

/* ---- testimonials: white background ---- */
.testimonials{ background: var(--bg); }
.testimonials__head{ text-align:center; margin-left:auto; margin-right:auto; }

.testimonials__stats{
  display:flex; align-items:center; justify-content:center;
  gap: clamp(24px, 4vw, 56px);
  margin: 0 0 48px;
  padding: 30px clamp(24px, 4vw, 48px);
  background: #FFFFFF;
  border: 1px solid rgba(36,26,18,.08);
  border-radius: 18px;
  box-shadow: 0 2px 14px rgba(36,26,18,.045);
}
.testimonials__stat{ display:flex; flex-direction:column; align-items:center; gap:4px; }
.testimonials__stat--big .stars{ margin: 2px 0 4px; justify-content:center; }
.testimonials__stat-num{ font-family: var(--font-display); font-weight:700; font-size:28px; color: var(--ink); }
.testimonials__stat-num em{ font-style:normal; font-size:.55em; color: var(--ink-soft); font-weight:500; }
.testimonials__stat-label{ font-size:12px; letter-spacing:.05em; text-transform:uppercase; color: var(--ink-soft); white-space:nowrap; }
.testimonials__stat-divider{ width:1px; height:44px; background: rgba(36,26,18,.12); }

.testimonials__breakdown{ display:flex; flex-direction:column; gap:5px; min-width:160px; }
.breakdown__row{ display:flex; align-items:center; gap:8px; font-size:11px; color: var(--ink-soft); }
.breakdown__row span{ width:8px; text-align:right; }
.breakdown__bar{ flex:1; height:5px; border-radius:3px; background: rgba(36,26,18,.08); overflow:hidden; }
.breakdown__bar i{ display:block; height:100%; border-radius:3px; background: linear-gradient(90deg, var(--saffron), var(--amber)); }

@media (max-width:760px){
  .testimonials__stats{ flex-wrap:wrap; gap:22px 28px; }
  .testimonials__stat-divider{ display:none; }
  .testimonials__breakdown{ order:3; width:100%; }
}

/* ---- testimonial cards ---- */
.testimonial-card{
  position:relative;
  padding: 36px 28px 24px;
  background:#FFFFFF;
  border:1px solid rgba(36,26,18,.08);
  border-radius:16px;
  box-shadow: 0 2px 14px rgba(36,26,18,.045);
}
.testimonial-card__quote{
  position:absolute; top:6px; left:24px;
  font-family: var(--font-display); font-size:52px; line-height:1; font-weight:600;
  color: rgba(217,130,28,.18);
}
.testimonial-card .stars{ display:flex; gap:3px; color: var(--saffron-deep); margin-bottom:14px; }
.testimonial-card blockquote{ margin: 0 0 20px; color: var(--ink); line-height:1.55; }

.testimonial-card figcaption{ display:flex; align-items:center; gap:12px; font-size:13.5px; color: var(--ink-soft); }
.testimonial-card__avatar{
  width:38px; height:38px; min-width:38px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  background: linear-gradient(140deg, var(--saffron), var(--amber));
  color: white; font-family: var(--font-display); font-weight:700; font-size:14px;
}
.testimonial-card__who{ display:flex; flex-direction:column; gap:1px; }
.testimonial-card__who strong{ display:flex; align-items:center; gap:5px; color: var(--ink); font-weight:600; font-size:14px; }
.testimonial-card__who .verified{ color: var(--saffron-deep); }
.testimonial-card__who span{ color: rgba(36,26,18,.45); }

.testimonial-card__helpful{
  display:flex; align-items:center; gap:6px;
  margin-top:16px; padding-top:14px;
  border-top:1px solid rgba(36,26,18,.08);
  font-size:12px; color: rgba(36,26,18,.4);
}
.testimonial-card__helpful svg{ color: var(--saffron-deep); }

/* ---- auto-scrolling carousel ---- */
/* ---- step carousel: one card at a time ---- */
.testimonial-carousel{ position: relative; }
.testimonial-track{
  display:flex;
  gap: 24px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  padding: 4px 12px 8px;
  -ms-overflow-style: none;
  scrollbar-width: none;
}
.testimonial-track::-webkit-scrollbar{ display:none; }

.testimonial-card{
  flex: 0 0 100%;
  max-width: 460px;
  scroll-snap-align: center;
}
@media (min-width: 640px){
  .testimonial-card{ flex-basis: calc(50% - 12px); }
}
@media (min-width: 980px){
  .testimonial-card{ flex-basis: calc(33.333% - 16px); }
}

.testimonial-dots{
  display:flex; justify-content:center; gap:8px; margin-top:22px;
}
.testimonial-dots button{
  width:8px; height:8px; border-radius:50%;
  border:none; padding:0; cursor:pointer;
  background: rgba(36,26,18,.18);
  transition: background .25s, transform .25s;
}
.testimonial-dots button.is-active{
  background: var(--saffron-deep);
  transform: scale(1.3);
}

@keyframes testimonial-scroll{
  from{ transform: translateX(0); }
  to{ transform: translateX(-50%); }
}

@media (prefers-reduced-motion: reduce){
  .testimonial-track{ animation: none; }
  .testimonial-carousel{ overflow-x: auto; }
}

/* ---- newsletter: centered, no card background ---- */
.join{ padding: 64px clamp(20px,5vw,56px) 108px; background: var(--bg); }

.join__panel{
  position:relative;
  max-width: 560px;
  margin:0 auto;
  text-align:center;
}

.join__steam{ position:absolute; right:6%; top:0; width:56px; height:100%; opacity:.12; pointer-events:none; }
.join__steam .steam-path{ stroke: var(--brand); }

.join__copy .kicker{ justify-content:center; }
.join__copy .section__title{ margin-bottom:14px; }
.join__sub{
  margin: 0 auto 34px;
  max-width: 42ch;
  color: var(--ink-soft);
}

.join__form{ display:flex; flex-direction:column; gap:14px; align-items:center; }

.join__field{
  display:flex;
  flex-direction:column;
  gap:8px;
  width:100%;
  max-width: 380px;
  text-align:left;
}
.join__field-label{
  font-size:12px; letter-spacing:.08em; text-transform:uppercase;
  color: rgba(36,26,18,.5);
}

.join__form input{
  width:100%;
  background: #FFFFFF;
  border: 1px solid rgba(36,26,18,.16);
  border-radius: 999px;
  padding: 15px 22px;
  color: var(--ink);
  font-family: var(--font-body);
  font-size: 15px;
  outline:none;
  box-shadow: 0 2px 8px rgba(36,26,18,.03);
  transition: border-color .3s var(--ease), box-shadow .3s var(--ease);
}
.join__form input::placeholder{ color: rgba(36,26,18,.4); }
.join__form input:focus{ border-color: var(--saffron); box-shadow: 0 0 0 3px rgba(217,130,28,.14); }

.join__form .btn--cta{
  width:100%;
  max-width: 380px;
}

.join__privacy{
  margin: 4px 0 0;
  font-size: 12.5px;
  color: rgba(36,26,18,.45);
}

.join__copy .word--scroll{
  animation-duration: .45s !important;
  animation-timing-function: linear !important;
}
.footer{
  padding-top: 70px;
  background: #FAF6EF;
  color: #1a1a1a;
  border-top: 1px solid rgba(0,0,0,.06);
}

.footer__inner{
  grid-template-columns: 1.15fr 1fr 1fr 1.1fr;
  column-gap: 40px;
}

.footer__brand p{
  max-width: 30ch;
  color: rgba(0,0,0,.55);
  line-height: 1.7;
}

.footer__mark{
  width: 90px;
  height: 90px;
  border-radius: 50%;
  border: 1px solid rgba(0,0,0,.08);
  margin-bottom: 18px;
  background: #fff;
}

/* --- social icons --- */
.footer__social{ display:flex; gap:12px; margin-top: 22px; }
.footer__social a{
  width:38px; height:38px;
  display:flex; align-items:center; justify-content:center;
  border-radius:50%;
  color: #1a1a1a;
  border: 1px solid rgba(0,0,0,.12);
  background: #fff;
  transition: transform .3s var(--ease), background .3s var(--ease), color .3s var(--ease), border-color .3s var(--ease), box-shadow .3s var(--ease);
}
.footer__social a:hover{
  color: #fff;
  background: #D9821C;
  border-color: #D9821C;
  transform: translateY(-3px);
  box-shadow: 0 8px 16px rgba(217,130,28,.22);
}

/* --- column headings --- */
.footer__col h5{
  color: #1a1a1a;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-size: 12.5px;
  margin-bottom: 20px;
  position: relative;
  padding-bottom: 10px;
}
.footer__col h5::after{
  content:"";
  position:absolute; left:0; bottom:0;
  width: 26px; height: 2px;
  background: #D9821C;
  border-radius: 2px;
}

/* --- links --- */
.footer__col a{
  display:block;
  color: rgba(0,0,0,.6);
  font-size: 14.5px;
  margin-bottom: 13px;
  width: fit-content;
  position: relative;
  transition: color .3s var(--ease), transform .3s var(--ease);
}
.footer__col a::after{
  content:"";
  position:absolute; left:0; bottom:-2px;
  width:0; height:1px;
  background:#D9821C;
  transition: width .3s var(--ease);
}
.footer__col a:hover{ color:#1a1a1a; transform: translateX(3px); }
.footer__col a:hover::after{ width:100%; }

/* --- Get In Touch --- */
.footer__touch-item{
  display:flex !important;
  align-items:center;
  gap:12px;
  margin-bottom: 16px;
  color: rgba(0,0,0,.62);
  font-size: 14px;
}

.footer__touch-icon{
  width: 32px; height: 32px; min-width: 32px;
  display:flex; align-items:center; justify-content:center;
  border-radius: 50%;
  border: 1px solid rgba(0,0,0,.12);
  background: #fff;
  color: #D9821C;
  transition: background .3s var(--ease), border-color .3s var(--ease), transform .3s var(--ease), color .3s var(--ease);
}

a.footer__touch-item:hover{ color:#1a1a1a; }
a.footer__touch-item:hover .footer__touch-icon{
  background: #D9821C;
  border-color: #D9821C;
  color: #fff;
  transform: translateY(-2px);
}

.footer__touch-item--static{ color: rgba(0,0,0,.48); }
.footer__touch-item--static .footer__touch-icon{ color: rgba(0,0,0,.35); }

/* --- bottom row --- */
.footer__bottom{
  display:grid;
  grid-template-columns: 1fr auto 1fr;
  align-items:center;
  gap: 12px;
  margin-top: 56px;
  padding: 26px 0;
  border-top: 1px solid rgba(0,0,0,.08);
  color: rgba(0,0,0,.48);
  font-size: 13.5px;
}
.footer__bottom > span:first-child{ justify-self:start; }

.footer__totop{
  justify-self:center;
  display:flex; align-items:center; gap:6px;
  color: rgba(0,0,0,.5);
  transition: color .3s var(--ease);
}
.footer__totop-arrow{ display:inline-block; transition: transform .3s var(--ease); }
.footer__totop:hover{ color: #D9821C; }
.footer__totop:hover .footer__totop-arrow{ transform: translateY(-3px); }

.footer__tagline{
  justify-self:end;
  font-family: var(--font-display);
  color:#D9821C;
  font-weight:600;
}

@media (max-width: 700px){
  .footer__inner{ grid-template-columns: 1fr 1fr; row-gap:36px; }
}
@media (max-width: 560px){
  .footer__bottom{ grid-template-columns: 1fr; text-align:center; gap:14px; }
  .footer__bottom > span:first-child,
  .footer__totop,
  .footer__tagline{ justify-self:center; }
}

/* =========================================================
   PROFESSIONAL ADDITIONS — paste at the very END of styles.css
   ========================================================= */

/* ---- fonts: same as the original site (Fraunces + Inter) ---- */
:root{ --font-body: "Inter", system-ui, sans-serif; }
body{ font-family: var(--font-body); }

/* ---- global polish ---- */
:focus-visible{ outline:2px solid var(--saffron); outline-offset:3px; border-radius:6px; }
::selection{ background:rgba(217,130,28,.25); }
.section__title{ font-size: clamp(30px, 3.6vw, 44px); line-height:1.15; }
.menu-explore__head, .menu-explore{ text-align:left; }
.menu-explore__head{ text-align:center; }

/* ---- highlight strip ---- */
.strip{ background:var(--brand); padding:0 clamp(20px,5vw,56px); }
.strip__inner{
  max-width:1280px; margin:0 auto; padding:28px 0;
  display:grid; grid-template-columns:repeat(4,1fr); gap:20px;
}
.strip__item{ text-align:center; padding:0 10px; border-right:1px solid rgba(246,236,218,.15); }
.strip__item:last-child{ border-right:none; }
.strip__item strong{ display:block; font-family:var(--font-display); font-weight:600; font-size:17px; color:var(--cream); }
.strip__item span{ display:block; margin-top:4px; font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:rgba(246,236,218,.6); }
@media (max-width:760px){
  .strip__inner{ grid-template-columns:1fr 1fr; }
  .strip__item:nth-child(2){ border-right:none; }
}

/* ---- signature picks ---- */
.pick__tag{
  font-size:11px; font-weight:600; letter-spacing:.08em; text-transform:uppercase;
  padding:6px 12px; border-radius:999px;
  background:rgba(217,130,28,.12); color:var(--saffron-deep);
}

/* ---- menu preview ---- */
#menu-preview{ background:var(--bg-soft); }
#menu-preview .menu-row{ padding:20px 2px; }
#menu-preview .menu-row__body{ padding-top:0; }

/* ---- how it works ---- */
.process{ background:var(--bg); }
.steps{ display:grid; grid-template-columns:repeat(3,1fr); gap:28px; max-width:1000px; margin:0 auto; }
.step{
  text-align:center; padding:36px 26px;
  background:#fff; border:1px solid var(--line); border-radius:18px;
  box-shadow:0 2px 14px rgba(36,26,18,.045);
  transition:transform .4s var(--ease), box-shadow .4s var(--ease);
}
.step:hover{ transform:translateY(-6px); box-shadow:0 20px 36px -18px rgba(36,26,18,.2); }
.step__num{
  display:inline-flex; align-items:center; justify-content:center;
  width:52px; height:52px; border-radius:50%; margin-bottom:18px;
  font-family:var(--font-display); font-weight:700; color:#fff;
  background:linear-gradient(120deg,var(--saffron),var(--amber));
}
.step h3{ margin:0 0 8px; font-family:var(--font-display); font-size:19px; color:var(--ink); }
.step p{ margin:0; color:var(--ink-soft); font-size:15px; line-height:1.65; }
@media (max-width:760px){ .steps{ grid-template-columns:1fr; } }

/* ---- catering banner ---- */
.delivery .section__title--light{ margin-bottom:14px; }
.delivery .btn--cta{ box-shadow:0 10px 26px -8px rgba(0,0,0,.4); }

/* ---- testimonials: a single clean list ---- */
.testimonial-card{ max-width:none; }
.testimonial-card .stars{ color:var(--saffron); letter-spacing:3px; font-size:15px; }

/* ---- visit us ---- */
.visit{ background:var(--bg-soft); }
.visit__inner{ display:grid; grid-template-columns:1fr 1.2fr; gap:clamp(32px,5vw,72px); align-items:center; }
.visit__list{ list-style:none; margin:24px 0 32px; padding:0; }
.visit__list li{
  display:flex; flex-direction:column; gap:3px;
  padding:16px 0; border-bottom:1px solid var(--line);
}
.visit__list strong{ font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:var(--saffron-deep); font-weight:600; }
.visit__list span, .visit__list a{ font-size:16px; color:var(--ink); }
.visit__list a:hover{ color:var(--saffron-deep); }
.visit__map{
  border-radius:22px; overflow:hidden; min-height:380px;
  border:1px solid var(--line); box-shadow:0 24px 50px -28px rgba(36,26,18,.35);
}
.visit__map iframe{ width:100%; height:100%; min-height:380px; border:0; display:block; }
@media (max-width:860px){ .visit__inner{ grid-template-columns:1fr; } }

/* ---- FAQ ---- */
.faq{ background:var(--bg); }
.faq__list{ max-width:780px; margin:0 auto; }
.faq details{ border-bottom:1px solid var(--line); }
.faq details:first-child{ border-top:1px solid var(--line); }
.faq summary{
  list-style:none; cursor:pointer;
  display:flex; justify-content:space-between; align-items:center; gap:20px;
  padding:22px 4px;
  font-family:var(--font-display); font-weight:600; font-size:18px; color:var(--ink);
}
.faq summary::-webkit-details-marker{ display:none; }
.faq summary::after{
  content:"+"; font-size:26px; font-weight:400; color:var(--saffron-deep);
  transition:transform .3s var(--ease);
}
.faq details[open] summary::after{ transform:rotate(45deg); }
.faq details p{ margin:0; padding:0 4px 24px; color:var(--ink-soft); line-height:1.75; font-size:15.5px; max-width:64ch; }

/* ---- back-to-top button visibility on mobile footer ---- */
@media (max-width:560px){ .footer__inner{ grid-template-columns:1fr; } }

/* ---- signature picks: image cards ---- */
.blend-card--img{ padding:0; display:flex; flex-direction:column; }
.blend-card--img::before{ z-index:2; }
.blend-card__media{ position:relative; aspect-ratio:4 / 3; overflow:hidden; background:var(--bg-soft); }
.blend-card__media img{
  width:100%; height:100%; object-fit:cover; display:block;
  transition:transform .7s var(--ease);
}
.blend-card--img:hover .blend-card__media img{ transform:scale(1.07); }
.blend-card__media .pick__tag{
  position:absolute; top:16px; left:16px; z-index:2;
  background:rgba(255,255,255,.95); box-shadow:0 4px 12px rgba(36,26,18,.15);
}
.blend-card__body{ padding:22px 24px 26px; }
.blend-card--img .blend-card__top{ align-items:baseline; gap:12px; margin-bottom:10px; }
.blend-card--img h3{ margin:0; font-size:20px; }
.blend-card--img .blend-card__price{ white-space:nowrap; color:var(--saffron-deep); }

/* ---- signature picks: 3 neat, roomy boxes ---- */
#picks .blend-grid{
  grid-template-columns:repeat(3, 1fr);
  gap:32px;
  max-width:1120px;
  margin:0 auto;
}
#picks .blend-card--img{
  border-radius:20px;
  background:#fff;
  border:1px solid var(--line);
  box-shadow:0 10px 30px -18px rgba(36,26,18,.25);
  height:100%;
}
#picks .blend-card__media{ aspect-ratio:4 / 3; }
#picks .blend-card__body{ padding:26px 28px 32px; display:flex; flex-direction:column; flex:1; }
#picks .blend-card--img h3{ font-size:22px; }
#picks .blend-card--img p{ font-size:15.5px; line-height:1.7; }
@media (max-width:980px){
  #picks .blend-grid{ grid-template-columns:repeat(2, 1fr); gap:24px; }
}
@media (max-width:620px){
  #picks .blend-grid{ grid-template-columns:1fr; max-width:420px; }
}

/* ---- signature picks: clean image-first style (no border, no radius, no card bg) ---- */
#picks .blend-card--img,
#picks .blend-card--img:hover{
  background:transparent;
  border:none;
  border-radius:0;
  box-shadow:none;
  transform:none;
  overflow:visible;
}
#picks .blend-card--img::before{ display:none; }
#picks .blend-grid{ gap:40px; max-width:1200px; }
#picks .blend-card__media{
  aspect-ratio:4 / 5;
  border-radius:0;
  background:none;
  overflow:hidden;
}
#picks .blend-card__media img{ border-radius:0; }
#picks .blend-card__media .pick__tag{
  top:18px; left:18px; border-radius:0;
  background:#fff; box-shadow:none; color:var(--ink);
}
#picks .blend-card__body{ padding:22px 0 0; }
#picks .blend-card--img .blend-card__top{
  justify-content:space-between; padding-bottom:10px;
  border-bottom:1px solid var(--line); margin-bottom:12px;
}

/* ---- brew & crunch: bigger content, smaller image ---- */
.pillars__inner{
  grid-template-columns:1.25fr .75fr;
  gap:clamp(40px,6vw,88px);
  align-items:center;
}
.pillars__visual .pillars__image-wrap{
  max-width:400px;
  aspect-ratio:4 / 5;
  max-height:500px;
}
.pillars__copy .section__title{ font-size:clamp(34px,4vw,50px); }
.pillars__copy .section__sub{ font-size:17.5px; max-width:54ch; margin-bottom:44px; }
.pillars__list{ gap:34px; margin-bottom:44px; }
.pillars__item{ gap:24px; }
.pillars__item-icon{ width:60px; height:60px; min-width:60px; border-radius:16px; }
.pillars__item-icon svg{ width:28px; height:28px; }
.pillars__item-text h3{ font-size:22px; margin-bottom:10px; }
.pillars__item-text p{ font-size:16.5px; line-height:1.75; }
.pillars__badge{ top:18px; left:18px; width:92px; height:92px; }
@media (max-width:860px){
  .pillars__inner{ grid-template-columns:1fr; }
  .pillars__visual .pillars__image-wrap{ max-width:340px; }
}

/* ---- brew & crunch: balanced sizes (final) ---- */
.pillars__inner{ grid-template-columns:1.1fr .9fr; gap:clamp(36px,5vw,72px); }
.pillars__visual .pillars__image-wrap{ max-width:440px; max-height:550px; }
.pillars__copy .section__title{ font-size:clamp(28px,3vw,38px); }
.pillars__copy .section__sub{ font-size:16px; max-width:50ch; margin-bottom:34px; }
.pillars__list{ gap:26px; margin-bottom:34px; }
.pillars__item{ gap:20px; }
.pillars__item-icon{ width:52px; height:52px; min-width:52px; border-radius:14px; }
.pillars__item-icon svg{ width:25px; height:25px; }
.pillars__item-text h3{ font-size:19px; margin-bottom:6px; }
.pillars__item-text p{ font-size:15px; line-height:1.7; }
.pillars__badge{ width:96px; height:96px; }

/* =========================================================
   FINAL POLISH — colours, rhythm & details
   Paste at the very END of styles.css (overrides earlier blocks)
   ========================================================= */

/* ---- 1. colour fixes ---- */
:root{
  --cta-a:#C9741A;   /* darker saffron so white button text is readable */
  --cta-b:#A8500F;
  --gold:#E8A33D;    /* bright accent for use on dark green only */
}
.btn--cta{ background:linear-gradient(120deg,var(--cta-a),var(--cta-b)); color:#fff; box-shadow:0 8px 20px -10px rgba(168,80,15,.6); }
.btn--cta:hover{ box-shadow:0 16px 30px -10px rgba(168,80,15,.7); }
.testimonial-card__who span,
.testimonial-card__helpful{ color:rgba(36,26,18,.62); }
.footer__touch-item--static{ color:rgba(0,0,0,.62); }
.featured__info-label{ color:rgba(36,26,18,.62); }

/* ---- 2. one nav colour (was 5 different colours) ---- */
.nav__links a,
.nav__links a:nth-child(n){ color:var(--ink); }
.nav__links a:hover,
.nav__links a.is-active{ color:var(--brand); }
.nav__links a.is-active::after{ right:0; background:var(--saffron); height:2px; }

/* ---- 3. alternating section backgrounds (no two same colours in a row) ---- */
.featured{ background:var(--bg-soft); }
.blends#picks{ background:var(--bg); }
.ways{ background:var(--bg-soft); }
.pillars{ background:var(--bg); }
#menu-preview{ background:var(--bg-soft); }
.process{ background:var(--bg); }
.testimonials{ background:var(--bg-soft); }
.visit{ background:var(--bg); }
.faq{ background:var(--bg-soft); }
.join{ background:var(--bg); }
.testimonial-card,
.step{ background:#fff; }

/* ---- 4. heading ornament on centred sections ---- */
#picks .kicker,
.process .kicker,
.faq .kicker,
.testimonials .kicker,
.ways .kicker,
.menu-explore__head .kicker,
.join .kicker{
  display:inline-flex; align-items:center; gap:14px; justify-content:center;
}
#picks .kicker::before, #picks .kicker::after,
.process .kicker::before, .process .kicker::after,
.faq .kicker::before, .faq .kicker::after,
.testimonials .kicker::before, .testimonials .kicker::after,
.ways .kicker::before, .ways .kicker::after,
.menu-explore__head .kicker::before, .menu-explore__head .kicker::after,
.join .kicker::before, .join .kicker::after{
  content:""; width:30px; height:1px; background:var(--saffron);
}
.ways .section__head, .faq .section__head, .process .section__head{ text-align:center; margin-left:auto; margin-right:auto; }

/* ---- 5. highlight strip: gold accent line ---- */
.strip{ border-top:3px solid var(--saffron); background:linear-gradient(120deg,var(--brand),var(--brand-lt)); }
.strip__item strong{ color:var(--gold); }

/* ---- 6. catering banner: soft glow ---- */
.delivery{
  background:
    radial-gradient(600px 300px at 85% 0%, rgba(232,163,61,.18), transparent 70%),
    linear-gradient(120deg,var(--brand),var(--brand-lt));
}
.delivery .section__title--light em{ color:var(--gold); }

/* ---- 7. cards, steps, FAQ details ---- */
.step{ border-top:3px solid var(--saffron); }
.step__num{ background:linear-gradient(120deg,var(--cta-a),var(--cta-b)); }
.testimonial-card{ border-top:3px solid var(--saffron); }
.testimonial-card__avatar{ background:linear-gradient(140deg,var(--brand),var(--brand-lt)); color:var(--cream); }
.faq summary:hover{ color:var(--saffron-deep); }
.faq details[open]{ background:rgba(255,255,255,.7); }
.faq details[open] summary{ color:var(--brand); }
.visit__map{ border-radius:0; box-shadow:18px 18px 0 -2px rgba(217,130,28,.18); }

/* ---- 8. menu preview rows ---- */
#menu-preview .menu-row:hover .menu-row__name{ color:var(--saffron-deep); }
#menu-preview .menu-row__price{ color:var(--brand); }

/* ---- 9. footer ---- */
.footer{ border-top:3px solid var(--saffron); }

/* ---- 10. floating WhatsApp button ---- */
.wa-float{
  position:fixed; right:22px; bottom:22px; z-index:90;
  display:flex; align-items:center; gap:10px;
  background:var(--brand); color:var(--cream);
  padding:13px 20px 13px 16px; border-radius:999px;
  font-size:14px; font-weight:600; letter-spacing:.02em;
  box-shadow:0 14px 30px -10px rgba(1,51,14,.55);
  transition:transform .3s var(--ease), box-shadow .3s var(--ease), background .3s var(--ease);
}
.wa-float:hover{ transform:translateY(-3px); background:var(--brand-lt); box-shadow:0 18px 36px -10px rgba(1,51,14,.65); }
.wa-float svg{ width:20px; height:20px; color:var(--gold); }
@media (max-width:560px){ .wa-float span{ display:none; } .wa-float{ padding:14px; } }

/* ---- 11. scrollbar + selection to match brand ---- */
html{ scrollbar-color:var(--saffron) var(--bg-soft); }
::selection{ background:rgba(217,130,28,.28); color:var(--ink); }

/* ---- highlight strip: refined (final) ---- */
.strip{
  background:var(--night);
  border-top:1px solid rgba(246,236,218,.08);
  border-bottom:1px solid rgba(246,236,218,.08);
  padding:0 clamp(20px,5vw,56px);
}
.strip__inner{
  max-width:1280px; margin:0 auto; padding:34px 0;
  display:grid; grid-template-columns:repeat(4,1fr); gap:0;
}
.strip__item{
  display:flex; align-items:center; gap:16px;
  padding:4px 28px; border-right:1px solid rgba(246,236,218,.12); text-align:left;
}
.strip__item:first-child{ padding-left:0; }
.strip__item:last-child{ border-right:none; }
.strip__icon{
  width:46px; height:46px; min-width:46px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  color:var(--gold);
  border:1px solid rgba(232,163,61,.4);
  background:rgba(232,163,61,.07);
}
.strip__icon svg{ width:22px; height:22px; }
.strip__text strong{
  display:block; font-family:var(--font-display); font-weight:600;
  font-size:17px; color:var(--cream); line-height:1.25;
}
.strip__text span{
  display:block; margin-top:3px; font-size:12.5px; letter-spacing:.04em;
  color:rgba(246,236,218,.6);
}
@media (max-width:980px){
  .strip__inner{ grid-template-columns:1fr 1fr; row-gap:22px; padding:28px 0; }
  .strip__item:nth-child(2){ border-right:none; }
  .strip__item:nth-child(3){ padding-left:0; }
}
@media (max-width:520px){
  .strip__inner{ grid-template-columns:1fr; }
  .strip__item{ border-right:none; padding:0; }
}

/* ---- strip icon fix: an older ".strip__item span" rule was breaking the icon circle ---- */
.strip__item > .strip__icon{
  display:flex; align-items:center; justify-content:center;
  margin:0; padding:0;
  width:46px; height:46px; min-width:46px;
  font-size:0; letter-spacing:0; line-height:0;
  text-transform:none;
  color:var(--gold);
}
.strip__item > .strip__icon svg{
  display:block; width:22px; height:22px; flex:none;
}
.strip__text strong{ color:var(--cream); }

/* ---- testimonial avatar: initials were invisible (an older rule coloured them dark) ---- */
.testimonial-card figcaption .testimonial-card__avatar{
  color:var(--cream);
  font-family:var(--font-display);
  font-weight:600; font-size:14px; letter-spacing:.04em;
  background:linear-gradient(140deg,var(--brand),var(--brand-lt));
  box-shadow:0 0 0 3px rgba(217,130,28,.22);
}
.testimonial-card__quote{ color:rgba(217,130,28,.3); }
.testimonial-card{ display:flex; flex-direction:column; }
.testimonial-card figcaption{ margin-top:auto; }
.testimonial-track{ align-items:stretch; padding-top:12px; padding-bottom:16px; }

/* =========================================================
   MENU AT A GLANCE — one favourite per category
   ========================================================= */
#menu-preview .section__head{ max-width:620px; }
#menu-preview .section__sub{ margin:0 auto; }
.mgrid{
  display:grid; grid-template-columns:repeat(3,1fr);
  gap:24px; max-width:1180px; margin:0 auto;
}
.mcard{
  position:relative; display:flex; flex-direction:column;
  padding:26px 28px 24px;
  background:#fff;
  border:1px solid var(--line);
  border-bottom:3px solid transparent;
  box-shadow:0 2px 14px rgba(36,26,18,.04);
  overflow:hidden;
  transition:transform .4s var(--ease), box-shadow .4s var(--ease), border-color .4s var(--ease);
}
.mcard:hover{
  transform:translateY(-6px);
  border-bottom-color:var(--saffron);
  box-shadow:0 22px 38px -20px rgba(36,26,18,.25);
}
.mcard__num{
  position:absolute; right:20px; bottom:34px;
  font-family:var(--font-display); font-weight:700; font-size:64px; line-height:1;
  color:rgba(217,130,28,.08); pointer-events:none;
}
.mcard__top{
  display:flex; justify-content:space-between; align-items:center; gap:10px;
  padding-bottom:14px; margin-bottom:18px; border-bottom:1px solid var(--line);
}
.mcard__cat{
  font-size:12px; font-weight:600; letter-spacing:.12em; text-transform:uppercase;
  color:var(--saffron-deep);
}
.mcard__count{ font-size:12px; color:rgba(36,26,18,.55); white-space:nowrap; }
.mcard__name{
  margin:0 0 6px; font-family:var(--font-display); font-weight:600;
  font-size:22px; line-height:1.25; color:var(--ink);
}
.mcard__serv{ margin:0 0 22px; font-size:14px; color:var(--ink-soft); }
.mcard__bottom{
  margin-top:auto; display:flex; justify-content:space-between; align-items:baseline;
  position:relative; z-index:1;
}
.mcard__price{ font-family:var(--font-display); font-weight:700; font-size:22px; color:var(--brand); }
.mcard__more{ font-size:13.5px; font-weight:600; color:var(--saffron-deep); }
.mcard__more i{ font-style:normal; display:inline-block; transition:transform .3s var(--ease); }
.mcard:hover .mcard__more i{ transform:translateX(5px); }
@media (max-width:980px){ .mgrid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:620px){ .mgrid{ grid-template-columns:1fr; gap:18px; } }


/* ---------- A day at Le Chai ---------- */
.day{ background:var(--bg-soft, #FBF4E9); }

.day__head{ max-width:620px; margin:0 auto 64px; text-align:center; }
.day__kicker{
  display:inline-flex; align-items:center; gap:14px;
  margin:0 0 14px;
  font-size:13px; font-weight:600; letter-spacing:.16em; text-transform:uppercase;
  color:var(--saffron-deep, #A8590E);
}
.day__kicker::before,
.day__kicker::after{ content:""; width:30px; height:1px; background:var(--saffron, #D9821C); }
.day__title{
  margin:0 0 14px;
  font-family:var(--font-display, "Fraunces", Georgia, serif);
  font-weight:600; font-size:clamp(30px, 3.6vw, 44px); line-height:1.15;
  color:var(--ink, #241A12);
}
.day__title em{ font-style:italic; color:var(--saffron-deep, #A8590E); }
.day__lead{ margin:0; color:var(--ink-soft, #6B5B4D); font-size:16px; line-height:1.75; }

.day__grid{
  position:relative;
  display:grid; grid-template-columns:repeat(4, 1fr);
  gap:24px;
  max-width:1200px; margin:0 auto;
}
/* line running through the markers */
.day__grid::before{
  content:""; position:absolute; top:28px; left:12%; right:12%;
  height:1px; background:repeating-linear-gradient(90deg, rgba(36,26,18,.28) 0 6px, transparent 6px 12px);
}

.day__item{
  position:relative;
  display:flex; flex-direction:column; align-items:center; text-align:center;
  padding:0 8px;
  opacity:0; transform:translateY(24px);
  animation:dayIn .8s var(--ease, ease) forwards;
  animation-delay:calc(var(--i) * .12s + .1s);
}
@keyframes dayIn{ to{ opacity:1; transform:none; } }

.day__marker{
  position:relative; z-index:1;
  padding:0 14px;
  background:var(--bg-soft, #FBF4E9);   /* hides the line behind the icon */
  margin-bottom:22px;
}
.day__icon{
  width:56px; height:56px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  color:#fff;
  background:linear-gradient(140deg, var(--brand, #01330E), var(--brand-lt, #0E4A26));
  box-shadow:0 0 0 6px rgba(217,130,28,.16), 0 12px 22px -10px rgba(1,51,14,.6);
  transition:transform .4s var(--ease, ease), box-shadow .4s var(--ease, ease);
}
.day__icon svg{ width:24px; height:24px; }
.day__item:hover .day__icon{ transform:translateY(-4px) scale(1.06); box-shadow:0 0 0 8px rgba(217,130,28,.22), 0 16px 26px -10px rgba(1,51,14,.65); }

.day__time{
  margin:0 0 6px;
  font-family:var(--font-display, "Fraunces", Georgia, serif);
  font-weight:700; font-size:30px; line-height:1;
  color:var(--saffron-deep, #A8590E);
}
.day__item h3{
  margin:0 0 10px;
  font-family:var(--font-display, "Fraunces", Georgia, serif);
  font-weight:600; font-size:20px; color:var(--ink, #241A12);
}
.day__text{
  margin:0 0 18px; max-width:28ch;
  font-size:15px; line-height:1.7; color:var(--ink-soft, #6B5B4D);
}
.day__tag{
  margin-top:auto;
  padding:6px 14px; border-radius:999px;
  background:#fff; border:1px solid rgba(36,26,18,.1);
  font-size:12px; font-weight:600; letter-spacing:.04em;
  color:var(--brand, #01330E);
}

@media (max-width:980px){
  .day__grid{ grid-template-columns:repeat(2, 1fr); row-gap:48px; }
  .day__grid::before{ display:none; }
}
@media (max-width:560px){
  .day__grid{ grid-template-columns:1fr; }
  .day__head{ margin-bottom:44px; }
}
@media (prefers-reduced-motion:reduce){
  .day__item{ animation:none; opacity:1; transform:none; }
}

