@import url('https://fonts.googleapis.com/css2?family=Fredoka:wght@500;600;700&family=Poppins:wght@400;500;600;700&display=swap');

:root{
  --ink:#FFF8EE;
  --ink-2:#FFFFFF;
  --ink-3:#FFEFDD;
  --cream:#201A12;
  --cream-dim:#726556;
  --turmeric:#FF5A36;
  --turmeric-dim:#FFE1D2;
  --chili:#7B4FFF;
  --chili-dim:#EAE1FF;
  --herb:#00A676;
  --herb-dim:#D8F3E9;
  --yellow:#FFC93C;
  --yellow-dim:#FFF3CF;
  --line:rgba(32,26,18,0.14);
  --line-strong:rgba(32,26,18,0.3);
  --border:#201A12;
  --shadow-hard:5px 5px 0 var(--border);
  --shadow-hard-sm:3px 3px 0 var(--border);
  --shadow:0 4px 20px rgba(32,26,18,0.08);
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--ink);
  color:var(--cream);
  font-family:'Poppins',sans-serif;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;display:block;}
a{color:inherit;}
.wrap{max-width:1120px;margin:0 auto;padding:0 24px;position:relative;z-index:1;}
.eyebrow{
  font-family:'Poppins',sans-serif;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:0.12em;
  font-size:12px;
  color:var(--turmeric);
  display:inline-flex;
  align-items:center;
  gap:6px;
}
h1,h2,h3{font-family:'Fredoka',sans-serif;font-weight:600;margin:0;line-height:1.08;}
p{line-height:1.65;}

/* ===== BUTTONS ===== */
.btn{
  display:inline-flex;align-items:center;gap:8px;
  font-family:'Poppins',sans-serif;
  font-weight:600;
  font-size:14px;
  padding:14px 28px;border-radius:999px;
  text-decoration:none;
  border:2px solid var(--border);
  background:var(--ink-2);
  color:var(--cream);
  cursor:pointer;
  box-shadow:var(--shadow-hard);
  transition:transform .15s ease, box-shadow .15s ease, background .15s ease;
}
.btn:hover{transform:translate(-2px,-2px);box-shadow:7px 7px 0 var(--border);}
.btn:active{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--border);}
.btn-primary{background:var(--turmeric);color:#fff;}
.btn-ghost{background:var(--ink-2);color:var(--cream);}
.btn:disabled{opacity:.4;cursor:not-allowed;transform:none;box-shadow:var(--shadow-hard-sm);}
.btn:focus-visible, button:focus-visible, a:focus-visible, input:focus-visible{outline:3px solid var(--chili);outline-offset:2px;}
.btn.pop{animation:pop .35s ease;}

@keyframes pop{ 0%{transform:scale(1);} 45%{transform:scale(1.14);} 100%{transform:scale(1);} }
@keyframes float{ 0%,100%{transform:translateY(0) rotate(0deg);} 50%{transform:translateY(-16px) rotate(5deg);} }
@keyframes floatSlow{ 0%,100%{transform:translateY(0) rotate(0deg);} 50%{transform:translateY(14px) rotate(-6deg);} }
@keyframes wiggle{ 0%,100%{transform:rotate(-3deg);} 50%{transform:rotate(3deg);} }
@keyframes marquee{ 0%{transform:translateX(0);} 100%{transform:translateX(-50%);} }

/* ===== NAV ===== */
nav.site-nav{
  position:sticky;top:0;z-index:50;
  background:rgba(255,248,238,0.9);
  backdrop-filter:blur(8px);
  border-bottom:2px solid var(--border);
}
nav.site-nav .wrap{display:flex;align-items:center;justify-content:space-between;height:78px;}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;}
.brand img{height:38px;width:auto;transition:transform .3s ease;}
.brand:hover img{animation:wiggle .5s ease;}
.brand span{font-family:'Fredoka',sans-serif;font-weight:700;font-size:20px;color:var(--cream);}
.nav-links{display:flex;align-items:center;gap:8px;font-size:14px;}
.nav-links a{text-decoration:none;color:var(--cream-dim);font-weight:600;transition:all .15s;padding:8px 14px;border-radius:999px;}
.nav-links a:hover{color:var(--cream);background:var(--yellow-dim);}
.nav-links a.active{color:var(--cream);background:var(--turmeric-dim);}
.nav-cta{display:flex;gap:12px;align-items:center;}
.nav-toggle{display:none;background:var(--ink-2);border:2px solid var(--border);color:var(--cream);width:42px;height:42px;border-radius:50%;font-size:18px;cursor:pointer;}
@media (max-width:820px){
  .nav-links{position:absolute;top:78px;left:0;right:0;background:var(--ink-2);border-bottom:2px solid var(--border);flex-direction:column;align-items:flex-start;gap:2px;padding:10px 24px 20px;display:none;}
  .nav-links.open{display:flex;}
  .nav-links a{padding:12px 14px;width:100%;}
  .nav-toggle{display:block;}
}

/* ===== HERO ===== */
.hero{padding:80px 0 40px;position:relative;overflow:hidden;}
.blob{position:absolute;border-radius:50%;filter:blur(2px);z-index:0;opacity:.85;}
.blob1{width:180px;height:180px;background:var(--yellow);top:60px;right:8%;animation:float 7s ease-in-out infinite;}
.blob2{width:110px;height:110px;background:var(--chili-dim);border:2px solid var(--border);top:280px;right:22%;animation:floatSlow 8s ease-in-out infinite;}
.blob3{width:70px;height:70px;background:var(--herb);top:40px;left:6%;animation:floatSlow 6s ease-in-out infinite;display:none;}
.hero-grid{display:grid;grid-template-columns:1.1fr 0.9fr;gap:56px;align-items:end;position:relative;}
.hero h1{font-size:clamp(42px,6vw,72px);letter-spacing:-0.01em;margin:16px 0 20px;}
.hero h1 em{font-style:normal;color:var(--turmeric);position:relative;display:inline-block;}
.hero p.lede{font-size:18px;color:var(--cream-dim);max-width:46ch;margin-bottom:30px;}
.hero-ctas{display:flex;gap:14px;flex-wrap:wrap;}
@media (max-width:900px){ .hero-grid{grid-template-columns:1fr;} .blob1,.blob2{opacity:.5;} }

/* TICKER */
.ticker-wrap{border-top:2px solid var(--border);border-bottom:2px solid var(--border);background:var(--cream);overflow:hidden;padding:14px 0;margin-top:36px;}
.ticker{display:flex;width:max-content;animation:marquee 22s linear infinite;}
.ticker span{font-family:'Fredoka',sans-serif;font-weight:600;font-size:16px;color:var(--ink);padding:0 28px;white-space:nowrap;}
@media (prefers-reduced-motion: reduce){ .ticker{animation:none;} .blob1,.blob2,.blob3{animation:none;} }

/* MOOD CARD */
.mood-card{background:var(--ink-2);border:2px solid var(--border);border-radius:20px;padding:26px;box-shadow:var(--shadow-hard);position:relative;z-index:1;}
.mood-card .eyebrow{margin-bottom:14px;display:block;}
.mood-pills{display:flex;gap:8px;margin-bottom:22px;flex-wrap:wrap;}
.mood-pill{font-family:'Poppins',sans-serif;font-weight:600;font-size:13px;padding:9px 16px;border-radius:999px;border:2px solid var(--border);background:var(--ink);color:var(--cream-dim);cursor:pointer;transition:all .18s ease;}
.mood-pill:hover{transform:translateY(-2px);}
.mood-pill.active{background:var(--accent,var(--turmeric));color:#fff;animation:pop .3s ease;}
.mood-display{display:grid;grid-template-columns:110px 1fr;gap:16px;align-items:center;}
.mood-display img{width:110px;height:110px;object-fit:cover;border-radius:14px;border:2px solid var(--border);}
.mood-dish-label{font-family:'Poppins',sans-serif;font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:0.12em;color:var(--accent,var(--turmeric));margin-bottom:4px;}
.mood-dish-name{font-family:'Fredoka',sans-serif;font-size:23px;font-weight:600;margin-bottom:6px;}
.mood-dish-desc{font-size:13.5px;color:var(--cream-dim);line-height:1.5;}
.mood-fade{transition:opacity .25s ease;}

/* PAGE HEADER */
.page-head{padding:60px 0 36px;border-bottom:2px solid var(--border);}
.page-head h1{font-size:clamp(34px,5vw,52px);margin:14px 0 12px;}
.page-head p{color:var(--cream-dim);max-width:56ch;font-size:17px;}

.section{padding:72px 0;}
.section-head{max-width:640px;margin-bottom:40px;}
.section-head h2{font-size:clamp(28px,3.4vw,40px);margin-top:14px;}

/* WHY LIST -> WHY CARDS (poppier than a plain list) */
.why-list{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.why-row{background:var(--ink-2);border:2px solid var(--border);border-radius:18px;padding:26px;box-shadow:var(--shadow-hard);transition:transform .2s ease, box-shadow .2s ease;}
.why-row:hover{transform:translate(-3px,-3px) rotate(-1deg);box-shadow:8px 8px 0 var(--border);}
.why-row .num{font-family:'Fredoka',sans-serif;font-weight:600;color:var(--turmeric);font-size:26px;display:block;margin-bottom:8px;}
.why-row h3{font-size:19px;font-weight:600;margin-bottom:8px;}
.why-row p{margin:0;color:var(--cream-dim);font-size:14.5px;}
@media (max-width:820px){ .why-list{grid-template-columns:1fr;} }

/* STRIP */
.strip{background:var(--chili);color:#fff;padding:20px 0;border-top:2px solid var(--border);border-bottom:2px solid var(--border);}
.strip .wrap{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;text-align:center;}
.strip .eyebrow{color:#fff;opacity:.9;}
.strip p{margin:0;font-family:'Fredoka',serif;font-size:18px;font-weight:600;}

/* DISH TILES */
.dish-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.dish-tile{background:var(--ink-2);border:2px solid var(--border);border-radius:18px;padding:20px;box-shadow:var(--shadow-hard);transition:transform .2s ease, box-shadow .2s ease;}
.dish-tile:hover{transform:translate(-3px,-3px) rotate(1deg);box-shadow:8px 8px 0 var(--border);}
.dish-tile img{width:100%;height:170px;object-fit:cover;border-radius:12px;margin-bottom:16px;border:2px solid var(--border);}
.dish-tile h3{font-size:19px;margin-bottom:8px;}
.dish-tile p{color:var(--cream-dim);font-size:14px;margin:0;}
@media (max-width:820px){ .dish-grid{grid-template-columns:1fr;} }

/* QUOTES */
.quote-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.quote-card{border:2px solid var(--border);padding:26px 22px;border-radius:18px;background:var(--yellow-dim);box-shadow:var(--shadow-hard);transition:transform .2s ease, box-shadow .2s ease;}
.quote-card:nth-child(2){background:var(--herb-dim);}
.quote-card:nth-child(3){background:var(--chili-dim);}
.quote-card:hover{transform:translate(-3px,-3px);box-shadow:8px 8px 0 var(--border);}
.quote-card p.q{font-family:'Fredoka',sans-serif;font-size:17px;line-height:1.5;margin:0 0 16px;color:var(--cream);}
.quote-card .who{font-family:'Poppins',sans-serif;font-weight:700;font-size:12px;color:var(--cream-dim);text-transform:uppercase;letter-spacing:0.06em;}
@media (max-width:820px){ .quote-grid{grid-template-columns:1fr;} }

/* FOOTER */
footer{border-top:2px solid var(--border);padding:56px 0 40px;background:var(--cream);color:var(--ink);}
.foot-grid{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:32px;}
.foot-brand h3{font-size:26px;margin:10px 0 8px;color:var(--ink);}
.foot-brand p{color:rgba(255,248,238,0.65);font-size:14px;margin:0;max-width:36ch;}
.foot-links{display:flex;gap:20px;font-size:14px;flex-wrap:wrap;}
.foot-links a{text-decoration:none;color:rgba(255,248,238,0.75);font-weight:600;border-bottom:2px solid transparent;transition:border-color .15s,color .15s;}
.foot-links a:hover{color:var(--yellow);border-color:var(--yellow);}
.copyright{margin-top:44px;font-size:12px;color:rgba(255,248,238,0.5);}

/* SCROLL REVEAL */
.reveal{opacity:0;transform:translateY(24px) scale(.98);transition:opacity .55s ease, transform .55s ease;}
.reveal.in{opacity:1;transform:none;}
@media (prefers-reduced-motion: reduce){
  .reveal{opacity:1;transform:none;transition:none;}
  html{scroll-behavior:auto;}
}

/* ===== MENU PAGE ===== */
.menu-layout{display:grid;grid-template-columns:1fr 320px;gap:36px;align-items:start;padding:44px 0 96px;}
.menu-note{background:var(--yellow-dim);border:2px solid var(--border);padding:16px 18px;border-radius:14px;font-size:14px;color:var(--cream);margin-bottom:32px;}
.menu-note strong{color:var(--turmeric);}
.cat-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:32px;position:sticky;top:78px;background:var(--ink);padding:14px 0;z-index:10;}
.cat-tab{font-family:'Poppins',sans-serif;font-weight:600;font-size:13px;padding:9px 16px;border-radius:999px;border:2px solid var(--border);background:var(--ink-2);color:var(--cream-dim);cursor:pointer;transition:all .18s ease;}
.cat-tab:hover{transform:translateY(-2px);}
.cat-tab.active{background:var(--turmeric);color:#fff;}
.cat-section{margin-bottom:44px;scroll-margin-top:140px;}
.cat-section h2{font-size:25px;margin-bottom:4px;}
.cat-section .cat-sub{color:var(--cream-dim);font-size:14px;margin-bottom:20px;}
.item-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;}
@media (max-width:600px){ .item-grid{grid-template-columns:1fr;} }
.item-card{border:2px solid var(--border);border-radius:16px;background:var(--ink-2);overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--shadow-hard-sm);transition:transform .18s ease, box-shadow .18s ease;}
.item-card:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--border);}
.item-card img{width:100%;height:135px;object-fit:cover;border-bottom:2px solid var(--border);}
.item-body{padding:14px 16px 16px;display:flex;flex-direction:column;gap:8px;flex:1;}
.item-body h3{font-size:15.5px;font-weight:600;margin:0;font-family:'Poppins',sans-serif;}
.item-price{font-family:'Fredoka',sans-serif;font-weight:600;font-size:15px;color:var(--turmeric);}
.item-price.tbc{color:var(--cream-dim);font-weight:500;font-family:'Poppins',sans-serif;font-size:13px;}
.item-actions{margin-top:auto;display:flex;gap:8px;align-items:center;}
.qty-stepper{display:flex;align-items:center;border:2px solid var(--border);border-radius:999px;}
.qty-stepper button{background:none;border:none;color:var(--cream);width:28px;height:30px;cursor:pointer;font-size:15px;}
.qty-stepper button:hover{color:var(--turmeric);}
.qty-stepper span{width:22px;text-align:center;font-family:'Fredoka',sans-serif;font-weight:600;font-size:13px;}
.btn-sm{font-size:12px;padding:9px 14px;box-shadow:var(--shadow-hard-sm);}
.btn-sm:hover{box-shadow:5px 5px 0 var(--border);}
.btn-sm:active{box-shadow:1px 1px 0 var(--border);}

.cart-panel{position:sticky;top:150px;border:2px solid var(--border);background:var(--ink-2);border-radius:18px;padding:22px;box-shadow:var(--shadow-hard);}
.cart-panel h2{font-size:19px;margin-bottom:4px;}
.cart-empty{color:var(--cream-dim);font-size:14px;margin-top:12px;}
.cart-items{margin:16px 0;display:flex;flex-direction:column;gap:12px;max-height:340px;overflow-y:auto;}
.cart-row{display:flex;justify-content:space-between;gap:10px;font-size:13.5px;border-bottom:1px dashed var(--line-strong);padding-bottom:10px;}
.cart-row .name{flex:1;}
.cart-row .meta{color:var(--cream-dim);font-family:'Fredoka',sans-serif;font-weight:600;font-size:12px;}
.cart-row button.remove{background:none;border:none;color:var(--turmeric);cursor:pointer;font-size:12px;font-weight:600;font-family:'Poppins',sans-serif;padding:0;}
.cart-total{display:flex;justify-content:space-between;font-family:'Fredoka',sans-serif;font-weight:600;font-size:17px;padding-top:12px;border-top:2px solid var(--border);margin-top:4px;}
.cart-panel .btn{width:100%;justify-content:center;margin-top:16px;}
@media (max-width:900px){
  .menu-layout{grid-template-columns:1fr;}
  .cart-panel{position:static;}
  .cat-tabs{position:static;}
}

/* ===== CONTACT / ABOUT extras ===== */
.info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.info-card{border:2px solid var(--border);background:var(--ink-2);padding:24px;border-radius:18px;box-shadow:var(--shadow-hard);transition:transform .2s ease, box-shadow .2s ease;}
.info-card:hover{transform:translate(-3px,-3px);box-shadow:8px 8px 0 var(--border);}
.info-card .eyebrow{display:block;margin-bottom:10px;}
.info-card p{color:var(--cream-dim);font-size:14px;margin:0;}
.info-card a.big{font-family:'Fredoka',sans-serif;font-size:20px;text-decoration:none;color:var(--cream);}
.info-card a.big:hover{color:var(--turmeric);}
@media (max-width:820px){ .info-grid{grid-template-columns:1fr;} }
