﻿:root{
  --forest:#16281c; --forest2:#1e3a26; --cream:#f5f0e6; --cream2:#ece2cf;
  --terra:#c67b4e; --gold:#d4a574; --ink:#141310; --muted:#8a8474;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Inter',sans-serif;background:var(--cream);color:var(--ink);overflow-x:hidden}
h1,h2,h3,.big{font-family:'Fraunces',serif;line-height:1.02}
.big{font-size:clamp(2rem,5vw,4.2rem);letter-spacing:-.02em;margin:.5rem 0 1rem}
.big em{font-style:italic;color:var(--terra)}
.big.light,.eyebrow.light,.lede.light{color:var(--cream)}
.eyebrow{letter-spacing:.28em;text-transform:uppercase;font-size:.72rem;color:var(--terra);font-weight:700;margin-bottom:.6rem}
.lede{max-width:640px;color:#4c463a;font-size:1.05rem}
section{padding:90px 6vw;position:relative}
/* NAV */
.nav{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:14px 4vw;background:rgba(22,40,28,.82);backdrop-filter:blur(12px);color:var(--cream)}
.brand{color:var(--cream);text-decoration:none;font-weight:900;letter-spacing:.12em;display:flex;align-items:center}
.brand span{color:var(--gold);font-weight:400}
.brand-logo{height:40px;width:auto;display:block}
.links a{color:var(--cream);text-decoration:none;margin:0 10px;font-size:.85rem;opacity:.85}
.links a:hover{opacity:1;color:var(--gold)}
.table-pill{border:1px solid var(--gold);border-radius:99px;padding:6px 12px;font-size:.72rem;letter-spacing:.08em;margin-right:10px}
.cart-btn{background:var(--gold);color:#222;text-decoration:none;padding:8px 16px;border-radius:99px;font-weight:700}
.cart-btn b{background:#222;color:#fff;border-radius:99px;padding:1px 8px;margin-left:6px}
/* HERO */
.hero{height:100vh;min-height:640px;padding:0;overflow:hidden;background:#000;color:#fff}
.hero-slides{position:absolute;inset:0}
.slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity 1.4s ease;transform:scale(1.06)}
.slide.active{opacity:1;transform:scale(1)}
.slide span{position:absolute;bottom:26px;left:30px;font-size:.8rem;letter-spacing:.2em;text-transform:uppercase;background:rgba(0,0,0,.45);padding:6px 12px;border-radius:99px}
.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.35),rgba(0,0,0,.15) 40%,rgba(0,0,0,.72))}
.hero-copy{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:0 6vw 12vh}
.hero-copy h1{font-size:clamp(3rem,9vw,7.5rem);font-weight:900}
.hero-logo{width:min(540px,80vw);height:auto;display:block;margin:14px 0 4px;filter:drop-shadow(0 6px 24px rgba(0,0,0,.5))}
.hero-copy h2{font-size:clamp(1.4rem,3.4vw,2.6rem);color:var(--gold);letter-spacing:.06em;margin:.4rem 0}
.tagline{letter-spacing:.3em;text-transform:uppercase;font-size:.8rem;opacity:.9}
.hero-kicker{letter-spacing:.3em;text-transform:uppercase;font-size:.75rem;color:var(--gold)}
.hero-cta{display:flex;gap:12px;margin-top:18px;flex-wrap:wrap}
.btn{display:inline-block;padding:13px 26px;border-radius:99px;text-decoration:none;font-weight:700;font-size:.9rem}
.btn.gold{background:var(--gold);color:#20180f}
.btn.ghost{border:1px solid #fff;color:#fff}
.hero-dots{position:absolute;right:4vw;bottom:12vh;display:flex;gap:8px}
.hero-dots i{width:8px;height:8px;border-radius:99px;background:rgba(255,255,255,.35);cursor:pointer}
.hero-dots i.on{background:var(--gold);width:26px}
/* FEEL */
.feel{background:var(--cream)}
.collage{display:grid;grid-template-columns:repeat(12,1fr);gap:14px;margin-top:34px}
.collage figure{position:relative;overflow:hidden;border-radius:18px;box-shadow:0 20px 60px rgba(0,0,0,.14)}
.collage img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s ease}
.collage figure:hover img{transform:scale(1.06)}
.collage figcaption{position:absolute;left:12px;bottom:10px;background:rgba(0,0,0,.55);color:#fff;padding:5px 12px;border-radius:99px;font-size:.72rem;letter-spacing:.2em}
.c1{grid-column:1/6;height:420px;transform:rotate(-1.5deg)}
.c2{grid-column:6/10;height:320px;margin-top:50px;transform:rotate(1deg)}
.c3{grid-column:10/13;height:440px;transform:rotate(-1deg)}
.c4{grid-column:2/7;height:300px;margin-top:-30px}
.c5{grid-column:7/12;height:340px;margin-top:10px;transform:rotate(.8deg)}
/* PAUSE */
.pause{background:#0e1a11;color:var(--cream);overflow:hidden;min-height:80vh;display:flex;align-items:center}
.pause-bg{position:absolute;inset:0;background:url('https://images.unsplash.com/photo-1554118811-1e0d58224f24?q=80&w=1600&auto=format&fit=crop') center/cover;opacity:.35}
.pause-inner{position:relative;z-index:2}
.pause-type{font-size:clamp(2.6rem,9vw,7rem);display:flex;gap:2vw;align-items:baseline;flex-wrap:wrap}
.tor{font-size:clamp(1rem,2.4vw,1.6rem);color:var(--gold);letter-spacing:.4em}
.pause-sub{font-size:clamp(1.2rem,2.6vw,2rem);font-style:italic;color:var(--gold);margin-top:10px}
.pause-note{opacity:.7;margin-top:8px}
/* DISCOVER */
.discover{background:#111;color:var(--cream)}
.flavour-grid{display:grid;grid-template-columns:280px 1fr;gap:26px;margin-top:26px}
.ing-list{display:flex;flex-direction:column;gap:10px}
.ing-list button{background:transparent;border:1px solid #3a3a3a;color:#fff;padding:13px 16px;border-radius:14px;text-align:left;font-size:1rem;cursor:pointer;transition:.25s}
.ing-list button.active,.ing-list button:hover{background:var(--gold);color:#222;border-color:var(--gold)}
.flavour-stage{position:relative}
.flavour-stage img{width:100%;height:440px;object-fit:cover;border-radius:20px}
.flavour-cards{display:flex;gap:12px;margin-top:14px;flex-wrap:wrap}
.fcard{background:#1d1d1d;border:1px solid #333;border-radius:14px;padding:12px 14px;min-width:210px;flex:1}
.fcard b{display:block;margin-bottom:4px}
.fcard small{opacity:.7}
.fcard button{margin-top:8px;background:var(--gold);border:0;border-radius:99px;padding:8px 14px;font-weight:700;cursor:pointer}
/* LAB */
.lab{background:var(--cream2)}
.lab-row{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:26px}
.lab-card{background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 14px 40px rgba(0,0,0,.1)}
.lab-card img{width:100%;height:240px;object-fit:cover}
.lab-card h3,.lab-card p{padding:0 16px}
.lab-card h3{padding-top:12px}
.lab-card p{padding-bottom:16px;color:#6b6455}
/* MALAWI */
.malawi{background:var(--forest);color:var(--cream);overflow:hidden}
.malawi-pattern{position:absolute;inset:0;opacity:.12;background-image:radial-gradient(var(--gold) 1.5px,transparent 1.5px),radial-gradient(var(--gold) 1.5px,transparent 1.5px);background-size:34px 34px;background-position:0 0,17px 17px}
.malawi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:26px;position:relative}
.malawi-grid img{width:100%;height:300px;object-fit:cover;border-radius:16px;border:1px solid rgba(212,165,116,.35)}
/* INDULGE */
.indulge{padding:0;background:#000;color:#fff}
.indulge-track{display:flex;overflow:hidden}
.ind-slide{min-width:100%;height:78vh;background-size:cover;background-position:center;display:flex;flex-direction:column;justify-content:flex-end;padding:6vw;position:relative}
.ind-slide::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(0,0,0,.75))}
.ind-slide h2,.ind-slide p{position:relative;z-index:2;max-width:70%;margin-right:auto}
.ind-slide h2{font-size:clamp(3rem,8vw,6rem);margin-bottom:8px}
.ind-slide p{font-size:clamp(1rem,2.5vw,1.4rem);opacity:.9}
.ind-nav{position:absolute;bottom:26px;right:4vw;display:flex;gap:10px;z-index:10}
.ind-nav button{background:rgba(255,255,255,.15);color:#fff;border:1px solid #fff;border-radius:99px;width:52px;height:52px;font-size:1.3rem;cursor:pointer;transition:background .2s,border-color .2s}
.ind-nav button:hover{background:var(--gold);border-color:var(--gold)}
/* MENU */
.menu{background:var(--cream)}
.menu-filters{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0 22px}
.menu-filters button{border:1px solid #c9bfa9;background:#fff;border-radius:99px;padding:9px 18px;cursor:pointer}
.menu-filters button.active{background:var(--forest);color:#fff;border-color:var(--forest)}
.product-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:18px}
.pcard{background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 12px 34px rgba(0,0,0,.09);position:relative;transition:transform .3s}
.pcard:hover{transform:translateY(-5px)}
.pcard img{width:100%;height:220px;object-fit:cover}
.badge{position:absolute;top:12px;left:12px;background:var(--forest);color:var(--gold);font-size:.68rem;letter-spacing:.15em;padding:6px 12px;border-radius:99px}
.pbody{padding:16px}
.pbody h3{font-size:1.25rem;margin-bottom:6px}
.pbody p{font-size:.88rem;color:#6b6455;min-height:40px}
.prow{display:flex;justify-content:space-between;align-items:center;margin-top:12px}
.add{background:var(--terra);color:#fff;border:0;border-radius:99px;padding:10px 16px;font-weight:700;cursor:pointer}
/* MOOD */
.mood{background:#141310;color:var(--cream)}
.mood-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:22px}
.mood-card{background:#1f1d18;border:1px solid #333;border-radius:20px;padding:26px 18px;color:#fff;cursor:pointer;transition:.25s}
.mood-card:hover{transform:translateY(-4px);border-color:var(--gold)}
.mood-card span{font-size:2.2rem}
.mood-card h3{margin:10px 0 6px;letter-spacing:.12em}
.mood-card p{opacity:.7;font-size:.88rem}
.mood-result{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin-top:18px}
/* DAY */
.timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:30px;border-top:2px solid var(--forest)}
.tstep{padding:22px 18px;border-left:2px solid var(--forest);position:relative}
.tstep time{font-weight:900;color:var(--terra);letter-spacing:.1em}
.tstep h3{margin:8px 0 6px;font-size:1.5rem}
/* CONNECT */
.connect{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center;background:var(--cream2)}
.connect-imgs{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.connect-imgs img{width:100%;height:380px;object-fit:cover;border-radius:18px}
.connect-imgs img:last-child{margin-top:40px}
/* MOMENTS */
.wall{columns:4 220px;column-gap:12px;margin-top:24px}
.shot{break-inside:avoid;margin-bottom:12px;position:relative;border-radius:14px;overflow:hidden}
.shot img{width:100%;display:block}
.shot figcaption{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(22,40,28,.0);color:#fff;font-weight:800;letter-spacing:.15em;font-size:.8rem;opacity:0;transition:.3s;text-align:center;padding:10px}
.shot:hover figcaption{opacity:1;background:rgba(22,40,28,.62)}
/* QR */
.qr{background:var(--forest2);color:var(--cream)}
.qr-box{display:grid;grid-template-columns:340px 1fr;gap:26px;margin-top:20px}
.qr-card{background:var(--cream);color:var(--ink);border-radius:20px;padding:24px;text-align:center}
.qr-card img{margin:14px auto;display:block;border-radius:12px}
.qr-steps li{margin:12px 0;list-style:none;background:rgba(255,255,255,.07);padding:14px 18px;border-radius:14px}
.qr-steps a{color:var(--gold)}
/* FINALE */
.finale{min-height:92vh;display:flex;align-items:flex-end;padding:0;color:#fff}
.finale-bg{position:absolute;inset:0;background-size:cover;background-position:center}
.finale-copy{position:relative;background:linear-gradient(180deg,transparent,rgba(0,0,0,.82));width:100%;padding:60px 6vw 40px}
.finale-copy h2{font-size:clamp(3rem,9vw,7rem)}
.finale-copy address{margin-top:14px;opacity:.8;font-style:normal}
.finale-cta{background:var(--forest);color:var(--cream);padding:30px 6vw;display:flex;gap:20px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.finale-cta a{color:var(--gold);margin-right:14px}
/* SHOP PAGES */
.page{max-width:1080px;margin:0 auto;padding:110px 5vw 60px}
.card{background:#fff;border-radius:18px;padding:22px;box-shadow:0 12px 34px rgba(0,0,0,.08);margin-bottom:16px}
.cart-line{display:flex;gap:14px;align-items:center;padding:12px 0;border-bottom:1px solid #eee}
.cart-line img{width:74px;height:74px;object-fit:cover;border-radius:12px}
.qty{display:flex;gap:8px;align-items:center}
.qty button{width:30px;height:30px;border-radius:99px;border:1px solid #ccc;background:#fff;cursor:pointer}
.total-row{display:flex;justify-content:space-between;font-size:1.2rem;font-weight:800;margin:14px 0}
input,select{width:100%;padding:12px 14px;border-radius:12px;border:1px solid #d6cdb6;margin:8px 0;font-size:1rem}
.staff-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}
.order{border-left:6px solid var(--gold)}
.order.done{opacity:.6;border-color:green}
/* HEALING LAB + BOOKING */
.heal{background:var(--cream2)}
.heal-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:22px}
.heal-step{background:#fff;border-radius:18px;padding:18px;box-shadow:0 12px 34px rgba(0,0,0,.08)}
.heal-step h3{font-size:1.05rem;margin-bottom:12px}
.heal-step h3 b{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:99px;background:var(--forest);color:var(--gold);font-size:.85rem;margin-right:8px}
.pills{display:flex;flex-wrap:wrap;gap:8px}
.pills button{border:1px solid #c9bfa9;background:var(--cream);border-radius:99px;padding:9px 15px;font-size:.85rem;cursor:pointer;transition:.2s}
.pills button small{opacity:.65;font-size:.75rem}
.pills button.on,.pills button:hover{background:var(--forest);color:#fff;border-color:var(--forest)}
.pills button.on small{opacity:.8}
.heal-bar{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;background:var(--forest);color:var(--cream);border-radius:18px;padding:18px 22px;margin-top:16px}
.heal-sum{font-family:'Fraunces',serif;font-size:1.15rem}
.heal-buy{display:flex;align-items:center;gap:14px}
.heal-buy .qty button{background:transparent;color:#fff;border-color:var(--gold)}
.heal-buy strong{font-size:1.3rem;color:var(--gold)}
.book-box{display:grid;grid-template-columns:340px 1fr;gap:26px;margin-top:44px;background:rgba(255,255,255,.06);border:1px solid rgba(212,165,116,.35);border-radius:20px;padding:26px}
.book-copy{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding-right:20px}
.book-copy .eyebrow{margin-bottom:8px}
.book-copy .big{margin-bottom:8px;line-height:1.1}
.book-copy .lede{margin:0}
.book-form{background:var(--cream);border-radius:16px;padding:22px;color:var(--ink)}
.book-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
/* REVEAL */
.reveal{opacity:0;transform:translateY(26px);transition:all .8s ease}
.reveal.in{opacity:1;transform:none}
@media(max-width:900px){
  .links{display:none}
  .flavour-grid,.qr-box,.connect,.book-box{grid-template-columns:1fr}
  .lab-row,.mood-grid,.timeline,.heal-grid{grid-template-columns:1fr 1fr}
  .c1,.c2,.c3,.c4,.c5{grid-column:1/-1;height:280px;margin:0}
}
@media(max-width:560px){.lab-row,.mood-grid,.timeline,.heal-grid,.book-grid{grid-template-columns:1fr}}
@media(max-width:1200px){.links a{margin:0 6px;font-size:.78rem}}

/* MENU PAGE */
.menu-main{background:var(--cream);padding:80px 5vw}
.menu-hero{text-align:center;margin-bottom:60px}
.menu-hero h1{margin-bottom:8px}
.menu-hero .lede{margin:0 auto 28px;max-width:600px}
.menu-tabs{display:flex;justify-content:center;gap:16px;flex-wrap:wrap}
.menu-tabs a{padding:10px 22px;border-radius:99px;border:1px solid var(--gold);color:var(--forest);font-weight:600;text-decoration:none;transition:.2s}
.menu-tabs a:hover,.menu-tabs a.active{background:var(--forest);color:var(--cream);border-color:var(--forest)}
.menu-category{margin-bottom:80px;border-radius:24px;overflow:hidden}
.cat-header{padding:28px 32px;color:#fff;position:relative}
.cat-header h2{font-size:clamp(1.8rem,4vw,2.8rem);margin:0 0 6px;font-weight:900;letter-spacing:.02em}
.cat-motto{font-style:italic;opacity:.9;font-size:1.05rem;font-weight:300}

/* Category background colors */
.coffee-bar .cat-header{background:#4a5d41}       /* army green */
.sip .cat-header{background:#8b1a2a}            /* dark red */
.heal .cat-header{background:#a8d5a3}           /* light green */
.matcha-cat .cat-header,
.boba-cat .cat-header,
.shake-cat .cat-header{background:#2d4a2d}      /* dark green */
.food-cat .cat-header{background:#c67b4e}       /* terra */
.dessert-cat .cat-header{background:#d4a574}    /* gold */

.subcat{padding:0 32px 32px}
.subcat h3{font-size:1.25rem;margin:24px 0 16px;color:var(--forest);font-weight:700;border-bottom:1px solid rgba(22,40,28,.1);padding-bottom:8px}
.subcat:first-of-type h3{margin-top:0}
.items-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}
.menu-item{background:#fff;border-radius:16px;padding:20px;box-shadow:0 8px 24px rgba(0,0,0,.06);transition:transform .2s,box-shadow .2s;display:flex;flex-direction:column}
.menu-item:hover{transform:translateY(-4px);box-shadow:0 16px 36px rgba(0,0,0,.1)}
.menu-item.signature{border:2px solid var(--gold)}
.item-name{font-family:'Fraunces',serif;font-size:1.15rem;font-weight:800;color:var(--forest);margin-bottom:8px}
.item-desc{color:#6b6455;font-size:.95rem;line-height:1.5;margin-bottom:14px;flex:1}
.item-price{font-family:'Fraunces',serif;font-size:1.25rem;font-weight:900;color:var(--gold);margin-bottom:12px}
.menu-item .add{width:100%;padding:10px;border-radius:99px;border:0;background:var(--forest);color:#fff;font-weight:700;cursor:pointer;transition:.2s}
.menu-item .add:hover{background:var(--gold);color:#20180f}
.menu-item.signature .add{background:var(--gold);color:#20180f}
.menu-item.signature .add:hover{background:var(--forest);color:#fff}

@media(max-width:768px){
  .cat-header{padding:20px 20px}
  .subcat{padding:0 20px 24px}
  .items-grid{grid-template-columns:1fr}
}

.item-image{margin-bottom:12px;border-radius:12px;overflow:hidden}
.item-image img{width:100%;height:180px;object-fit:cover;transition:transform .3s}
.menu-item:hover .item-image img{transform:scale(1.05)}

/* ========================================
   MOBILE RESPONSIVE FIXES
   ======================================== */

/* Mobile Navigation - Hamburger Menu */
.nav-toggle {
  display: none;
  background: none;
  border: none;
  color: var(--cream);
  font-size: 1.5rem;
  cursor: pointer;
  padding: 8px;
  z-index: 100;
}

@media (max-width: 768px) {
  .nav-toggle {
    display: block;
  }
  
  .links {
    position: fixed;
    top: 0;
    right: -100%;
    width: 80%;
    max-width: 320px;
    height: 100vh;
    background: var(--forest);
    flex-direction: column;
    padding: 80px 24px 24px;
    gap: 24px;
    transition: right 0.3s ease;
    z-index: 99;
    box-shadow: -10px 0 30px rgba(0,0,0,.3);
  }
  
  .links.open {
    right: 0;
  }
  
  .links a {
    font-size: 1.1rem;
    padding: 8px 0;
    border-bottom: 1px solid rgba(212,165,116,.2);
    width: 100%;
    text-align: left;
  }
  
  .nav-overlay {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,.5);
    z-index: 98;
  }
  
  .nav-overlay.visible {
    display: block;
  }
}

/* Nav right spacing */
@media (max-width: 768px) {
  .nav-right {
    display: flex;
    align-items: center;
    gap: 12px;
  }
  
  .table-pill {
    margin-right: 0;
  }
}

/* Cart badge on same line as "Cart" */
.cart-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
}

.cart-btn b {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 22px;
  height: 22px;
  padding: 0 6px;
  font-size: 0.7rem;
}

/* Hero responsive adjustments */
@media (max-width: 768px) {
  .hero-copy {
    justify-content: center;
    padding-bottom: 8vh;
    text-align: center;
  }
  
  .hero-copy h2 {
    font-size: clamp(1.8rem, 8vw, 3rem);
    margin-bottom: 8px;
  }
  
  .hero-logo {
    width: min(400px, 70vw);
    margin: 8px auto 4px;
  }
  
  .tagline {
    font-size: 0.7rem;
    letter-spacing: 0.2em;
  }
  
  .hero-cta {
    flex-direction: column;
    width: 100%;
    max-width: 280px;
    margin: 16px auto 0;
  }
  
  .hero-cta .btn {
    width: 100%;
    justify-content: center;
  }
  
  .hero-copy > * {
    max-width: 100%;
  }
}

/* Pause section - "15 MINUTES OR 2 HOURS" mobile alignment */
@media (max-width: 768px) {
  .pause-type {
    flex-direction: column;
    gap: 8px;
    text-align: center;
  }
  
  .tor {
    order: 2;
    letter-spacing: 0.2em;
  }
  
  .t15 { order: 1; }
  .t2h { order: 3; }
  
  .pause-sub {
    font-size: clamp(1rem, 4vw, 1.5rem);
  }
}

/* Hero logo responsive sizing */
.hero-logo {
  width: min(540px, 80vw);
  height: auto;
  max-width: 100%;
}

@media (max-width: 1024px) {
  .hero-logo {
    width: min(480px, 75vw);
  }
}

@media (max-width: 768px) {
  .hero-logo {
    width: min(360px, 70vw);
    margin: 8px auto 4px;
  }
}

@media (max-width: 480px) {
  .hero-logo {
    width: min(300px, 85vw);
    margin: 6px auto 2px;
  }
}

/* Navigation responsive */
@media (max-width: 768px) {
  .nav {
    padding: 12px 4vw;
  }
  
  .links a {
    margin: 0;
  }
  
  .table-pill {
    font-size: 0.65rem;
    padding: 4px 10px;
    margin-right: 8px;
  }
  
  .cart-btn {
    padding: 6px 12px;
    font-size: 0.8rem;
  }
  
  .cart-btn b {
    min-width: 20px;
    height: 20px;
    font-size: 0.65rem;
    padding: 0 4px;
  }
}

/* Tablet adjustments */
@media (max-width: 1024px) and (min-width: 769px) {
  .links a {
    margin: 0 8px;
    font-size: 0.8rem;
  }
  
  .hero-copy {
    padding: 0 4vw 10vh;
  }
}

/* General mobile improvements */
@media (max-width: 768px) {
  section {
    padding: 60px 4vw;
  }
  
  .big {
    font-size: clamp(1.8rem, 7vw, 3.5rem);
  }
  
  .lede {
    font-size: 1rem;
  }
  
  .eyebrow {
    font-size: 0.65rem;
  }
  
  .btn {
    padding: 12px 20px;
    font-size: 0.85rem;
  }
  
  .cat-header {
    padding: 20px 20px;
  }
  
  .cat-header h2 {
    font-size: clamp(1.5rem, 6vw, 2.4rem);
  }
  
  .cat-motto {
    font-size: 0.95rem;
  }
  
  .subcat {
    padding: 0 16px 24px;
  }
  
  .items-grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }
  
  .menu-item {
    padding: 16px;
  }
  
  .item-name {
    font-size: 1.05rem;
  }
  
  .item-desc {
    font-size: 0.9rem;
  }
  
  .item-price {
    font-size: 1.1rem;
  }
  
  .menu-item .add {
    padding: 12px;
    font-size: 0.9rem;
  }
  
  .collage {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  
  .c1, .c2, .c3, .c4, .c5 {
    grid-column: 1 / -1;
    height: 280px;
    transform: none;
  }
  
  .collage figure {
    border-radius: 12px;
  }
  
  .flavour-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  
  .ing-list {
    order: 2;
  }
  
  .flavour-stage {
    order: 1;
  }
  
  .lab-row {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  
  .malawi-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  
  .ind-slide {
    height: 60vh;
    min-height: 400px;
  }
  
  .ind-slide h2 {
    font-size: clamp(2rem, 8vw, 4rem);
  }
  
  .ind-nav {
    bottom: 16px;
    right: 4vw;
  }
  
  .ind-nav button {
    width: 44px;
    height: 44px;
    font-size: 1.1rem;
  }
  
  .connect-imgs {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  
  .connect-imgs img {
    height: 280px;
  }
  
  .wall {
    columns: 2 160px;
    column-gap: 12px;
  }
  
  .qr-box {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  
  .book-box {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  
  .book-grid {
    grid-template-columns: 1fr;
  }
  
  .heal-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  
  .heal-bar {
    flex-direction: column;
    gap: 16px;
    text-align: center;
  }
  
  .heal-buy {
    flex-direction: column;
    width: 100%;
  }
  
  .heal-buy .qty {
    order: 2;
  }
  
  .heal-buy strong {
    order: 1;
    font-size: 1.5rem;
  }
  
  .tier-section {
    margin-bottom: 24px;
  }
  
  .tier-section h3 {
    font-size: 1.1rem;
    text-align: center;
  }
  
  .dessert-footer {
    text-align: center;
    padding: 24px 16px;
  }
  
  .finale-copy {
    padding: 40px 4vw 24px;
  }
  
  .finale-copy h2 {
    font-size: clamp(2rem, 9vw, 4rem);
  }
  
  .hero-cta .btn {
    width: 100%;
    justify-content: center;
  }
  
  .finale-cta {
    flex-direction: column;
    gap: 12px;
    text-align: center;
  }
  
  .finale-cta a {
    margin: 0;
  }
  
  .mood-grid {
    grid-template-columns: 1fr;
  }
  
  .mood-card {
    text-align: center;
  }
  
  .timeline {
    grid-template-columns: 1fr;
    border-top: none;
    border-left: 2px solid var(--forest);
  }
  
  .tstep {
    padding: 16px 16px 16px 24px;
    border-left: 2px solid var(--forest);
    border-top: none;
    position: relative;
  }
  
  .tstep::before {
    content: '';
    position: absolute;
    left: -8px;
    top: 20px;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: var(--gold);
    border: 3px solid var(--cream);
  }
  
  .flavour-grid {
    grid-template-columns: 1fr;
  }
  
  .ing-list {
    order: 2;
    max-height: 300px;
    overflow-y: auto;
  }
  
  .flavour-stage {
    order: 1;
  }
  
  .flavour-stage img {
    height: 280px;
  }
}

/* Small mobile */
@media (max-width: 480px) {
  .hero-copy h2 {
    font-size: clamp(1.6rem, 10vw, 2.4rem);
  }
  
  .tagline {
    font-size: 0.65rem;
    letter-spacing: 0.15em;
  }
  
  .hero-cta {
    gap: 8px;
  }
  
  .btn {
    padding: 10px 16px;
    font-size: 0.8rem;
  }
  
  .pause-type {
    font-size: clamp(1.8rem, 10vw, 3.5rem);
  }
  
  .tor {
    font-size: 0.8rem;
    letter-spacing: 0.15em;
  }
  
  .big {
    font-size: clamp(1.6rem, 9vw, 3rem);
  }
  
  .cat-header h2 {
    font-size: clamp(1.3rem, 8vw, 2rem);
  }
  
  .item-name {
    font-size: 1rem;
  }
  
  .item-desc {
    font-size: 0.88rem;
  }
  
  .item-price {
    font-size: 1rem;
  }
  
  .menu-item .add {
    padding: 10px;
    font-size: 0.85rem;
  }
}

/* Touch targets */
@media (pointer: coarse) {
  .btn, .add, button, a {
    min-height: 44px;
    min-width: 44px;
  }
  
  .ing-list button {
    padding: 16px 20px;
  }
  
  .pills button {
    padding: 12px 18px;
  }
  
  .mood-card {
    padding: 24px 16px;
  }
  
  .qr-card {
    padding: 20px;
  }
  
  .qty button {
    width: 44px;
    height: 44px;
  }
  
  .hero-dots i {
    width: 12px;
    height: 12px;
  }
  
  .hero-dots i.on {
    width: 32px;
  }
}

/* Prevent horizontal scroll */
html, body {
  max-width: 100%;
  overflow-x: hidden;
}

/* Smooth scrolling for anchor links */
html {
  scroll-behavior: smooth;
}

/* Focus visible for accessibility */
:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 2px;
}

/* Reduce motion */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* Print styles */
@media print {
  .nav, .hero-cta, .btn, .add, .hero-dots, .ind-nav, .qr-card, .book-form, .heal-bar {
    display: none !important;
  }
  
  body {
    background: white;
    color: black;
  }
  
  .hero {
    height: auto;
    min-height: auto;
    background: none;
    color: black;
    page-break-after: always;
  }
  
  .hero-copy {
    position: static;
    padding: 20px;
  }
  
  .hero-shade {
    display: none;
  }
}

/* ============================================================
   V3 OVERRIDES / RESTORED SECTIONS
   ============================================================ */

/* Hero readability (kept from the darker overlay fix) */
.hero-shade{background:linear-gradient(180deg,rgba(0,0,0,.55),rgba(0,0,0,.35) 40%,rgba(0,0,0,.8))}
.hero-logo{filter:drop-shadow(0 8px 32px rgba(0,0,0,.8))}
.hero-copy h2{text-shadow:0 4px 24px rgba(0,0,0,.8),0 0 40px rgba(0,0,0,.6)}

/* Cart pill */
.cart-btn{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.cart-btn b{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:1px 8px;margin-left:2px;font-size:.7rem;line-height:1}

/* Day + connect */
.tstep p{color:#6b6455}
.connect-copy{padding:0 20px}
.connect-copy .eyebrow{color:var(--gold)}
.connect-copy .big em{color:var(--gold)}

/* ---------------- MENU PAGE ---------------- */
.menu-main{padding:100px 5vw 70px}
.menu-hero{margin-bottom:42px}
.menu-category{margin-bottom:46px;border:1px solid rgba(22,40,28,.07);box-shadow:0 10px 30px rgba(22,40,28,.05);padding:0}
.menu-category:last-child{margin-bottom:0}
.menu-category .cat-header{border-radius:0}
.menu-main .menu-category{scroll-margin-top:96px}
.subcat{padding-bottom:26px}
.subcat h3{margin-top:20px}
.items-grid{gap:14px}
.menu-item{padding:18px}
.item-desc{min-height:0}
.menu-intro{text-align:center;margin:0 auto 36px;max-width:720px}
.menu-intro .lede{margin:0 auto}

/* ---------------- HEALING LAB ---------------- */
.heal{background:var(--cream2)}
.heal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:26px}
.heal-step{background:#fff;border-radius:18px;padding:22px;box-shadow:0 12px 34px rgba(0,0,0,.07);display:flex;flex-direction:column}
.heal-step h3{font-size:1.1rem;margin-bottom:14px;display:flex;align-items:center;gap:10px}
.heal-step h3 b{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:99px;background:var(--forest);color:var(--gold);font-size:.85rem;flex:0 0 auto}
.pills{display:flex;flex-wrap:wrap;gap:9px;align-content:flex-start}
.pills button{border:1px solid #c9bfa9;background:var(--cream);border-radius:99px;padding:9px 15px;font-size:.85rem;cursor:pointer;transition:.2s;text-align:left}
.pills button small{opacity:.65;font-size:.75rem;margin-left:4px}
.pills button.on,.pills button:hover{background:var(--forest);color:#fff;border-color:var(--forest)}
.pills button.on small{opacity:.85}
.heal-bar{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;background:var(--forest);color:var(--cream);border-radius:18px;padding:18px 22px;margin-top:18px}
.heal-sum{font-family:'Fraunces',serif;font-size:1.15rem}
.heal-buy{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.heal-buy .qty button{background:transparent;color:#fff;border-color:var(--gold)}
.heal-buy strong{font-size:1.3rem;color:var(--gold)}
.heal-bar .add{background:var(--gold);color:#20180f;border:0;border-radius:99px;padding:12px 20px;font-weight:800;cursor:pointer;transition:.2s}
.heal-bar .add:hover{background:var(--cream);color:var(--forest)}

/* ---------------- BOOKING ---------------- */
.book{background:var(--forest);color:var(--cream);padding:80px 6vw}
.book > .big{max-width:1100px;margin:0 auto .5rem;text-align:center}
.book > .lede{margin:0 auto 8px;text-align:center;max-width:720px}
.book .gold{color:var(--gold)}
.book-box{display:grid;grid-template-columns:320px minmax(0,1fr);gap:30px;align-items:start;max-width:980px;margin:28px auto 0;background:rgba(255,255,255,.06);border:1px solid rgba(212,165,116,.35);border-radius:22px;padding:28px}
.book-copy{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding-right:8px}
.book-copy .eyebrow{margin-bottom:8px;color:var(--gold)}
.book-copy .big{margin-bottom:10px;line-height:1.1;color:var(--gold)}
.book-copy .lede{margin:0;color:var(--cream);font-size:.98rem}
.book-form{background:var(--cream);border-radius:16px;padding:22px;color:var(--ink);width:100%;max-width:100%;min-width:0}
.book-form label{display:block;font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#6b6455;margin:0}
.book-form input,.book-form select{margin:5px 0 12px;padding:11px 13px;font-size:.95rem;background:#fff}
.book-form .book-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
.book-form button{margin-top:6px;width:100%;text-align:center}

/* ---------------- PRODUCTS PAGE ---------------- */
.products-page{background:var(--cream);padding:110px 5vw 70px}
.products-hero{text-align:center;margin:0 auto 8px;max-width:760px}
.products-hero .lede{margin:0 auto;max-width:620px}
.product-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;max-width:1080px;margin:28px auto 6px}
.product-nav a{padding:9px 18px;border-radius:99px;border:1px solid var(--gold);color:var(--forest);text-decoration:none;font-size:.82rem;font-weight:700;background:#fff;transition:.2s}
.product-nav a:hover{background:var(--forest);color:var(--cream);border-color:var(--forest)}
.product-group{max-width:1180px;margin:34px auto 0;border-radius:22px;overflow:hidden;box-shadow:0 12px 32px rgba(22,40,28,.08);scroll-margin-top:96px;padding:0}
.product-group .cat-header{padding:18px 26px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.product-group .cat-header h2{font-size:clamp(1.2rem,2.4vw,1.7rem);margin:0;line-height:1.1}
.product-group .cat-count{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;opacity:.85;font-weight:700}
.product-items{background:#fff;padding:16px 18px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.product-item{display:grid;grid-template-columns:118px minmax(0,1fr);gap:14px;align-items:center;background:var(--cream);border:1px solid rgba(22,40,28,.08);border-radius:14px;padding:10px;transition:transform .2s,box-shadow .2s}
.product-item:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(22,40,28,.1)}
.product-thumb{width:118px;height:88px;border-radius:10px;overflow:hidden;background:#e7dfd0;display:flex;align-items:center;justify-content:center}
.product-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.product-info{display:flex;flex-direction:column;gap:8px;min-width:0}
.product-name{font-family:'Fraunces',serif;font-weight:800;color:var(--forest);font-size:1rem;line-height:1.2;margin:0;overflow-wrap:anywhere}
.product-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.product-price{font-family:'Fraunces',serif;font-weight:900;color:var(--gold);font-size:1rem}
.product-order{border:0;background:var(--forest);color:#fff;border-radius:99px;padding:8px 14px;font-size:.76rem;font-weight:700;cursor:pointer;white-space:nowrap;transition:.2s}
.product-order:hover{background:var(--gold);color:#20180f}
.product-order:active{transform:scale(.98)}

/* Product collection colours */
.pg-accessories .cat-header{background:#c67b4e}
.pg-condiments .cat-header{background:#d4a574;color:#20180f}
.pg-herbal-heal-teas .cat-header{background:#a8d5a3;color:var(--forest)}
.pg-olive-oils .cat-header{background:#4a5d41}
.pg-premium-oils .cat-header{background:#2d4a2d}
.pg-spices .cat-header{background:#8b1a2a}
.pg-teas .cat-header{background:#16281c}

/* ---------------- FOOTER COMMUNITY ---------------- */
.community-section{background:rgba(255,255,255,.06);border:1px solid rgba(212,165,116,.3);border-radius:16px;padding:18px 22px;text-align:center;flex:1 1 100%;margin-top:6px}
.community-section h3{font-family:'Fraunces',serif;font-size:1.15rem;color:var(--gold);margin-bottom:4px}
.community-section p{font-size:.85rem;opacity:.85;margin-bottom:10px}
.community-form{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.community-form input{max-width:320px;margin:0;background:#fff;color:#222}
.community-form button{border:0;cursor:pointer}

/* ---------------- RESPONSIVE ADDITIONS ---------------- */
@media (max-width: 900px){
  .nav-toggle{display:block}
  .links{
    display:flex;
    position:fixed;
    top:0;
    right:-100%;
    width:80%;
    max-width:320px;
    height:100vh;
    background:var(--forest);
    flex-direction:column;
    align-items:flex-start;
    justify-content:flex-start;
    padding:84px 24px 28px;
    gap:4px;
    transition:right .3s ease;
    z-index:99;
    box-shadow:-10px 0 30px rgba(0,0,0,.3);
    overflow-y:auto;
  }
  .links.open{right:0}
  .links a{display:block;width:100%;margin:0;padding:12px 2px;font-size:1.05rem;border-bottom:1px solid rgba(212,165,116,.2);opacity:.95}
  .nav-overlay{display:none;position:fixed;top:0;left:0;width:100vw;height:100vh;background:rgba(0,0,0,.5);z-index:98}
  .nav-overlay.visible{display:block}
  .product-items{grid-template-columns:1fr}
  .book-box{grid-template-columns:1fr;max-width:640px}
  .book-copy{padding-right:0;text-align:center;align-items:center}
  .heal-grid{grid-template-columns:1fr}
}
@media (max-width: 600px){
  .product-item{grid-template-columns:96px minmax(0,1fr)}
  .product-thumb{width:96px;height:80px}
  .book-form .book-grid{grid-template-columns:1fr}
  .products-page{padding:100px 4vw 60px}
}

/* Checkout delivery panel */.delivery-box{border:1px solid #d6cdb6;border-radius:14px;padding:14px 16px 6px;margin:8px 0 14px;background:#faf7f0}
.delivery-box legend{font-family:'Fraunces',serif;font-weight:800;color:var(--forest);padding:0 6px;font-size:.95rem}
.delivery-box input{margin-top:4px}

/* Homepage collections (visual menu) */
.collections-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-top:32px}
.collection-card{background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 12px 34px rgba(0,0,0,.09);transition:transform .3s;display:flex;flex-direction:column}
.collection-card:hover{transform:translateY(-5px)}
.collection-header{padding:22px 20px;color:#fff}
.collection-header.sip{background:#8b1a2a}
.collection-header.heal{background:#a8d5a3;color:var(--forest)}
.collection-header.food{background:#c67b4e}
.collection-header.coffee{background:#4a5d41}
.collection-header.matcha{background:#2d4a2d}
.collection-header.boba{background:#2d4a2d}
.collection-header.shake{background:#2d4a2d}
.collection-header h3{font-family:'Fraunces',serif;font-size:1.5rem;font-weight:900;margin:0 0 4px;letter-spacing:.02em}
.collection-header p{font-size:.85rem;opacity:.9;font-style:italic;margin:0}
.collection-items{padding:14px 20px;flex:1;display:flex;flex-direction:column;gap:6px}
.collection-item{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid rgba(22,40,28,.08)}
.collection-item:last-child{border-bottom:none}
.collection-item .item-name{font-family:'Fraunces',serif;font-size:.95rem;font-weight:700;color:var(--forest);flex:1}
.collection-item .item-price{font-family:'Fraunces',serif;font-size:1rem;font-weight:900;color:var(--gold);margin-left:12px;white-space:nowrap}
.collection-cta{margin:14px 20px 20px;width:calc(100% - 40px);text-align:center;padding:10px 16px;font-size:.85rem;border:1px solid var(--forest);color:var(--forest);background:transparent}
.collection-card .collection-cta{border:1px solid var(--forest);color:var(--forest);background:transparent}
.collection-card .collection-cta:hover{background:var(--forest);color:var(--cream);border-color:var(--forest)}
@media (max-width: 980px){.collections-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}}
@media (max-width: 560px){.collections-grid{grid-template-columns:1fr;gap:16px}}

/* Inline text links */
.inline-link{color:var(--terra);font-weight:700;text-decoration:none;border-bottom:1px solid rgba(198,123,78,.5)}
.inline-link:hover{color:var(--forest);border-bottom-color:var(--forest)}

/* Feel collage: balanced 4-tile layout after removing CULTURE */
@media (min-width: 769px){
  .c4{grid-column:4/10;height:320px;margin-top:-10px}
}

/* ============================================================
   FINAL HOMEPAGE PASS — hero, feel, flavour, healing builder
   ============================================================ */

/* Hero: logo at 380 / 320 / 240 / 210 and a matching small kicker */
.hero-logo{width:min(380px,80vw);height:auto;max-width:100%;margin:8px 0 6px}
.hero-copy h2{font-size:clamp(1.1rem,2.6vw,2rem);letter-spacing:.18em;margin:0 0 4px}
@media (max-width:1024px){
  .hero-logo{width:min(320px,75vw)}
  .hero-copy h2{font-size:clamp(1.05rem,2.8vw,1.7rem)}
}
@media (max-width:768px){
  .hero-logo{width:min(240px,70vw);margin:6px auto}
  .hero-copy h2{font-size:1.3rem;letter-spacing:.15em}
}
@media (max-width:480px){
  .hero-logo{width:min(210px,80vw)}
  .hero-copy h2{font-size:1.15rem;letter-spacing:.13em}
}

/* Feel: both headings share one size */
.feel .eyebrow,
.feel .big{font-size:clamp(1.15rem,2.1vw,1.6rem);line-height:1.35;letter-spacing:.06em;margin:0 0 8px}
.feel .big{letter-spacing:.01em;margin-bottom:24px}
.feel .big em{color:var(--terra)}

/* Feel collage: four tidy, equal tiles — no rotation, no overlap */
.collage{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;align-items:stretch}
.collage .c1,.collage .c2,.collage .c3,.collage .c4,.collage .c5{
  grid-column:auto;grid-row:auto;height:360px;margin:0;transform:none;align-self:stretch
}
@media (max-width:900px){
  .collage{grid-template-columns:repeat(2,minmax(0,1fr))}
  .collage .c1,.collage .c2,.collage .c3,.collage .c4,.collage .c5{height:240px;margin:0;transform:none}
}
@media (max-width:480px){
  .collage{grid-template-columns:1fr}
  .collage .c1,.collage .c2,.collage .c3,.collage .c4,.collage .c5{height:230px}
}

/* Discover — spice shelf dropdown */
.spice-panel{width:100%;background:#1d1d1d;border:1px solid #333;border-radius:16px;padding:14px}
.spice-toggle{display:flex;align-items:center;gap:10px;width:100%;background:var(--gold);color:#20180f;border:0;border-radius:12px;padding:12px 16px;font-weight:800;font-size:.95rem;cursor:pointer;text-align:left}
.spice-toggle small{opacity:.75;font-weight:600;margin-left:auto}
.spice-burger{display:inline-flex;flex-direction:column;gap:3px;flex:0 0 auto}
.spice-burger i{display:block;width:16px;height:2px;background:#20180f;border-radius:2px;transition:transform .2s,opacity .2s}
.spice-toggle.open .spice-burger i:nth-child(1){transform:translateY(5px) rotate(45deg)}
.spice-toggle.open .spice-burger i:nth-child(2){opacity:0}
.spice-toggle.open .spice-burger i:nth-child(3){transform:translateY(-5px) rotate(-45deg)}
.spice-list{display:none;margin-top:10px}
.spice-list.open{display:block}
.spice-row{display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid #2e2e2e}
.spice-row:last-child{border-bottom:0}
.spice-row img{width:52px;height:52px;object-fit:cover;border-radius:10px;background:#2a2a2a;display:block}
.spice-row b{font-weight:600;font-size:.92rem;min-width:0}
.spice-row button{background:var(--gold);color:#20180f;border:0;border-radius:99px;padding:7px 14px;font-weight:700;font-size:.78rem;cursor:pointer}
.spice-note{margin-top:10px;font-size:.8rem;opacity:.65;line-height:1.4}

/* Healing Lab — two-pane collection builder */
.builder-collections{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:22px}
.builder-collections button{display:inline-flex;align-items:center;gap:8px;border:1px solid #c9bfa9;background:var(--cream);color:var(--forest);border-radius:99px;padding:10px 16px;font-size:.9rem;font-weight:700;cursor:pointer;transition:.2s}
.builder-collections button small{background:rgba(22,40,28,.1);border-radius:99px;padding:1px 7px;font-size:.7rem;font-weight:800}
.builder-collections button:hover,
.builder-collections button.on{background:var(--forest);color:var(--cream);border-color:var(--forest)}
.builder-collections button.on small{background:rgba(255,255,255,.18)}
.builder-panes{margin-top:20px}
.builder-hint{margin:0;padding:22px;text-align:center;background:#fff;border:1px dashed #c9bfa9;border-radius:18px;color:#6b6455}
.builder-body{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:18px}
.builder-body[hidden]{display:none}
.builder-selected,.builder-options{background:#fff;border-radius:18px;padding:20px;box-shadow:0 12px 34px rgba(0,0,0,.07);min-width:0}
.builder-pane-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.builder-pane-head h3{font-family:'Fraunces',serif;font-size:1.15rem;color:var(--forest);margin:0}
.builder-pane-head span{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:#8a8474}
.builder-selected-list{display:flex;flex-direction:column;gap:8px;min-height:80px}
.builder-muted{color:#8a8474;font-size:.9rem}
.builder-line{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid rgba(22,40,28,.08)}
.builder-line-copy b{display:block;font-family:'Fraunces',serif;font-size:.92rem;color:var(--forest);line-height:1.2}
.builder-line-copy small{font-size:.75rem;color:#8a8474}
.builder-line-price{font-family:'Fraunces',serif;font-weight:900;color:var(--gold);white-space:nowrap}
.builder-remove{border:1px solid #c9bfa9;background:transparent;color:var(--forest);width:28px;height:28px;border-radius:99px;cursor:pointer;font-size:1rem;line-height:1;flex:0 0 auto}
.builder-remove:hover{background:var(--forest);color:#fff;border-color:var(--forest)}
.builder-total{display:flex;justify-content:space-between;align-items:center;margin-top:16px;border-top:2px solid var(--forest);padding-top:14px}
.builder-total span{font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:#6b6455;font-weight:700}
.builder-total strong{font-family:'Fraunces',serif;font-size:1.4rem;color:var(--forest)}
.builder-options-list{display:flex;flex-direction:column;gap:8px;max-height:430px;overflow-y:auto;padding-right:4px}
.builder-option{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid rgba(22,40,28,.08)}
.builder-option:last-child{border-bottom:0}
.builder-option-copy{min-width:0}
.builder-option-copy b{display:block;font-family:'Fraunces',serif;font-size:.95rem;color:var(--forest);line-height:1.2}
.builder-option-copy small{display:block;font-size:.78rem;color:#8a8474;line-height:1.35;margin-top:2px}
.builder-option-price{font-family:'Fraunces',serif;font-weight:900;color:var(--gold);white-space:nowrap}
.builder-add-btn{border:0;background:var(--forest);color:#fff;border-radius:99px;padding:8px 16px;font-size:.78rem;font-weight:700;cursor:pointer;transition:.2s;white-space:nowrap}
.builder-add-btn:hover{background:var(--gold);color:#20180f}
.builder-actions{display:flex;justify-content:flex-end;align-items:center;gap:12px;flex-wrap:wrap;margin-top:18px}
.builder-actions[hidden]{display:none}
.builder-cancel{border:1px solid var(--forest);color:var(--forest);background:transparent;cursor:pointer}
.builder-cancel:hover{background:var(--forest);color:var(--cream)}
.builder-actions .builder-add{border:0;cursor:pointer}
.builder-add:disabled{opacity:.6;cursor:wait}
@media (max-width:900px){
  .builder-body{grid-template-columns:1fr}
  .builder-options-list{max-height:none}
}
@media (max-width:600px){
  .builder-collections{justify-content:flex-start}
  .builder-actions{justify-content:center}
  .builder-actions .btn{flex:1 1 140px;text-align:center}
}

/* Hero copy raised slightly */
.hero-copy{padding-bottom:17vh}
@media (max-width:1024px) and (min-width:769px){
  .hero-copy{padding-bottom:15vh}
}
@media (max-width:768px){
  .hero-copy{padding-bottom:12vh}
}

/* A Day at Mulani — six-part timeline */
.day .lede{font-family:'Fraunces',serif;font-style:italic;color:var(--terra);font-size:1.15rem;margin-bottom:0}
.day .timeline{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:28px}
.day .tstep{display:flex;flex-direction:column}
.day .tstep p{margin:0}
.day .tstep .tstep-items{margin-top:auto;padding-top:10px;border-top:1px solid rgba(22,40,28,.15);font-size:.82rem;line-height:1.4;font-weight:600;color:#6b6455}
@media (max-width:900px){
  .day .timeline{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:560px){
  .day .timeline{grid-template-columns:1fr}
}

/* Finale contact link */
.finale-copy address a{color:var(--gold);text-decoration:none}
.finale-copy address a:hover{text-decoration:underline}
