:root{--yellow:#ffd400;--ink:#111;--paper:#fffdf7;--cream:#f5f0df;--line:#ded8c5;--muted:#6b6658;--white:#fff;--radius:24px;--shadow:0 18px 60px rgba(0,0,0,.10)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--paper);color:var(--ink)}a{text-decoration:none;color:inherit}button,input{font:inherit}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:18px clamp(20px,4vw,64px);background:rgba(255,253,247,.92);backdrop-filter:blur(16px);border-bottom:1px solid rgba(0,0,0,.06)}.brand-mark{font-weight:950;letter-spacing:.08em;font-size:24px}.brand-mark span{display:inline-grid;place-items:center;width:25px;height:25px;border-radius:50%;background:var(--yellow);font-size:.8em}nav{display:flex;gap:28px;font-weight:700;font-size:14px}nav a:hover{text-decoration:underline}.pill,.button{border:0;border-radius:999px;padding:13px 20px;font-weight:850;cursor:pointer}.dark{background:var(--ink);color:var(--white)}.light{background:var(--white);border:1px solid var(--line)}.hero{min-height:72vh;display:grid;grid-template-columns:1.03fr .97fr;gap:40px;align-items:center;padding:70px clamp(20px,6vw,90px);background:var(--yellow);overflow:hidden}.eyebrow{font-size:12px;letter-spacing:.18em;font-weight:900;margin:0 0 14px}h1{font-size:clamp(56px,8vw,118px);line-height:.88;letter-spacing:-.065em;margin:0;max-width:900px}h1 span{color:#fff}.lead{font-size:clamp(18px,2vw,24px);line-height:1.45;max-width:680px}.lead.small{font-size:18px}.hero-actions{display:flex;gap:12px;margin:30px 0 28px}.trust-row{display:flex;gap:18px;flex-wrap:wrap;font-weight:750;font-size:14px}.hero-art{position:relative;min-height:530px}.sun{position:absolute;width:520px;height:520px;border-radius:50%;background:#fff6c8;right:-120px;top:-40px}.food-card{position:absolute;border:3px solid #111;border-radius:30px;padding:24px;box-shadow:10px 10px 0 #111;font-weight:900;display:flex;flex-direction:column;justify-content:flex-end}.food-card span{font-size:18px}.food-card b{font-size:38px;line-height:.95}.card-a{width:280px;height:330px;background:#fff;left:4%;top:18%;transform:rotate(-7deg)}.card-b{width:245px;height:265px;background:#ff7b54;right:3%;top:7%;transform:rotate(7deg)}.card-c{width:250px;height:250px;background:#9bd18b;right:10%;bottom:2%;transform:rotate(-4deg)}.section{padding:90px clamp(20px,6vw,90px)}.section-heading{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:36px}h2{font-size:clamp(40px,5vw,72px);letter-spacing:-.045em;line-height:.95;margin:0}.muted{color:var(--muted);max-width:540px;line-height:1.6}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:24px}.tab{border:1px solid var(--line);background:#fff;border-radius:999px;padding:10px 16px;font-weight:800;cursor:pointer}.tab.active{background:#111;color:#fff}.menu-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.menu-card{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#fff}.menu-visual{height:190px;display:grid;place-items:center;font-size:80px}.banana-bg{background:#fff2a7}.martabak-bg{background:#ffd0bd}.keria-bg{background:#cde9b5}.menu-body{padding:20px;display:flex;justify-content:space-between;gap:15px}.menu-body h3{margin:0 0 6px;font-size:20px}.menu-body p{margin:0;color:var(--muted);font-size:14px;line-height:1.45}.menu-body strong{white-space:nowrap}.outlets{background:#111;color:#fff}.outlet-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.outlet-card{border:1px solid #333;border-radius:20px;padding:20px;background:#181818}.outlet-card h3{font-size:19px;margin:0 0 10px}.outlet-card p{color:#bdbdbd;line-height:1.5;font-size:14px}.outlet-card a{display:inline-block;margin-top:10px;color:var(--yellow);font-weight:800}.contact{display:flex;justify-content:space-between;align-items:center;gap:40px;background:#f0ead6}footer{padding:34px clamp(20px,6vw,90px);display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid var(--line)}.chat-launcher{position:fixed;right:22px;bottom:22px;z-index:40;border:0;background:#111;color:#fff;border-radius:999px;padding:15px 18px;display:flex;align-items:center;gap:9px;box-shadow:var(--shadow);cursor:pointer}.chat-panel{position:fixed;right:22px;bottom:86px;z-index:50;width:min(390px,calc(100vw - 24px));height:600px;max-height:calc(100vh - 120px);display:none;flex-direction:column;background:#fff;border:1px solid #ddd;border-radius:26px;box-shadow:var(--shadow);overflow:hidden}.chat-panel.open{display:flex}.chat-head{background:var(--yellow);padding:18px 20px;display:flex;justify-content:space-between;align-items:start}.chat-head h3{font-size:26px;margin:0}.icon-btn{border:0;background:rgba(255,255,255,.75);width:34px;height:34px;border-radius:50%;font-size:25px;cursor:pointer}.chat-body{flex:1;padding:18px;overflow:auto;background:#faf8f0}.bubble{max-width:84%;padding:12px 14px;border-radius:18px;margin-bottom:12px;line-height:1.45;font-size:14px}.bubble.bot{background:#fff;border:1px solid #e9e4d8;border-top-left-radius:6px}.bubble.user{margin-left:auto;background:#111;color:#fff;border-top-right-radius:6px}.quick-actions{display:flex;flex-wrap:wrap;gap:7px}.quick-actions button{border:1px solid #d7d0bf;background:#fff;border-radius:999px;padding:8px 11px;font-size:12px;font-weight:800;cursor:pointer}.chat-form{display:flex;border-top:1px solid #eee;padding:10px;background:#fff}.chat-form input{flex:1;border:0;outline:0;padding:10px}.chat-form button{border:0;background:#111;color:#fff;border-radius:12px;padding:10px 14px;font-weight:800}.handoff{display:flex;align-items:center;gap:8px;padding:10px 14px;border-top:1px solid #eee;font-size:12px}.handoff span{color:#777}.handoff a{font-weight:850;text-decoration:underline;cursor:pointer}.hidden{display:none!important}@media(max-width:980px){nav{display:none}.hero{grid-template-columns:1fr;min-height:auto}.hero-art{min-height:430px}.menu-grid{grid-template-columns:repeat(2,1fr)}.outlet-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.topbar .pill{display:none}.hero{padding-top:48px}.hero-art{min-height:380px}.sun{width:380px;height:380px}.card-a{width:220px;height:250px}.card-b{width:190px;height:210px}.card-c{width:190px;height:190px}.food-card b{font-size:28px}.menu-grid,.outlet-grid{grid-template-columns:1fr}.section-heading,.contact,footer{align-items:flex-start;flex-direction:column}.section{padding-top:65px;padding-bottom:65px}}

.menu-visual.photo{background:#fff;padding:0;overflow:hidden}
.menu-visual.photo img{width:100%;height:100%;object-fit:cover;display:block}
.real-food{position:absolute;background:#fff;border:3px solid #111;border-radius:30px;box-shadow:10px 10px 0 #111;object-fit:cover}
.hero-a{width:280px;height:260px;left:4%;top:18%;transform:rotate(-7deg)}
.hero-b{width:245px;height:265px;right:3%;top:7%;transform:rotate(7deg)}
.hero-c{width:250px;height:220px;right:10%;bottom:2%;transform:rotate(-4deg)}
.menu-body strong{line-height:1.45;text-align:right}
@media(max-width:640px){
  .hero-a{width:210px;height:210px}.hero-b{width:185px;height:205px}.hero-c{width:180px;height:170px}
}

.banner-section{padding-top:24px}
.banner-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.category-banner{position:relative;display:block;overflow:hidden;border-radius:28px;min-height:250px;background:#fff;box-shadow:var(--shadow)}
.category-banner img{width:100%;height:100%;object-fit:cover;display:block}
.category-banner span{position:absolute;left:20px;bottom:18px;background:rgba(17,17,17,.86);color:#fff;padding:11px 14px;border-radius:999px;font-weight:900;letter-spacing:.03em}
.tab[data-filter="special"]{background:#fff4bf}
.menu-visual.photo img{object-fit:cover}
.hero-a,.hero-b,.hero-c{background:#fff}
@media(max-width:980px){.banner-grid{grid-template-columns:1fr}}

.logo-brand img{height:46px;width:auto;display:block}
.footer-logo{height:42px;width:auto;display:block}
.menu-visual.photo{background:#fff;padding:14px;display:flex;align-items:center;justify-content:center}
.menu-visual.photo img{width:100%;height:100%;object-fit:contain;display:block}
.menu-card{box-shadow:0 4px 20px rgba(0,0,0,.04)}
@media(max-width:640px){.logo-brand img{height:38px}.footer-logo{height:36px}}

/* v7 menu-photo background expansion */
.menu-visual.photo{background:transparent;padding:0;overflow:hidden}
.menu-visual.photo img{width:100%;height:100%;object-fit:cover;display:block}

.outlet-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:14px}
.outlet-card .outlet-actions a{margin-top:0}
.outlet-card .order-link{background:var(--yellow);color:#111;padding:9px 12px;border-radius:999px;font-weight:900}
.outlet-card .direction-link{color:var(--yellow);font-weight:800}
.shop-link{display:inline-block;margin-top:9px;background:#111;color:#fff;padding:8px 11px;border-radius:999px;font-size:12px;font-weight:850}

.delivery-platforms{display:flex;align-items:center;justify-content:space-between;gap:52px;background:#fffdf7}
.delivery-copy{max-width:720px}
.delivery-logos{display:flex;gap:14px;flex-wrap:wrap;justify-content:flex-end}
.delivery-logo-card{width:230px;height:110px;border:1px solid var(--line);border-radius:22px;background:#fff;display:flex;align-items:center;justify-content:center;padding:18px;overflow:hidden;transition:transform .18s ease,box-shadow .18s ease}
.delivery-logo-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.foodpanda-logo{max-width:185px;max-height:62px;object-fit:contain}
.grab-logo-crop{width:170px;height:66px;overflow:hidden;position:relative}
.grab-logo-crop img{position:absolute;width:170px;height:auto;left:0;top:-7px}
@media(max-width:800px){
  .delivery-platforms{align-items:flex-start;flex-direction:column}
  .delivery-logos{justify-content:flex-start}
  .delivery-logo-card{width:min(230px,46vw)}
}

/* v14 delivery logo refresh */
.delivery-logo-card{
  width:240px;
  height:126px;
  border:none;
  border-radius:24px;
  background:transparent;
  padding:0;
  overflow:hidden;
}
.delivery-logo-card img.platform-logo-fill{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.grab-card,.panda-card{
  background:transparent;
}
.grab-logo-crop,.foodpanda-logo{
  display:none;
}

.bulk-section{background:#fffdf7}.bulk-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:26px;align-items:start}.bulk-builder{display:grid;gap:18px}.bulk-category,.customer-details,.feedback-card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:22px}.bulk-category h3,.customer-details h3{margin:0 0 6px;font-size:24px}.bulk-note{margin:0 0 14px;color:var(--muted);font-size:14px}.bulk-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.bulk-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid #ece4d5;border-radius:16px;background:#fffdf8}.bulk-item span{font-weight:800}.qty{display:flex;align-items:center;border:1px solid #d8cfbe;border-radius:999px;overflow:hidden;background:#fff}.qty button{border:0;background:#f4eddb;width:34px;height:34px;font-size:20px;cursor:pointer}.qty input{width:42px;border:0;text-align:center;font-weight:900;outline:0}.classic-pack-picker{display:grid;gap:6px;margin-top:14px;max-width:320px}.classic-pack-picker label{font-weight:800}.classic-pack-picker select,.form-grid input,.form-grid textarea,.form-grid select{width:100%;border:1px solid #d9d0be;border-radius:14px;padding:11px 12px;background:#fff;outline:none}.classic-pack-picker small{color:var(--muted)}.suggestion{margin-top:14px;padding:14px;border-radius:16px;background:#fff6c9;border:1px solid #eadb84;display:grid;gap:9px}.suggestion label{display:flex;gap:8px;align-items:center}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.form-grid label{display:grid;gap:7px;font-weight:750;font-size:14px}.form-grid .full{grid-column:1/-1}.bulk-summary{position:sticky;top:104px;background:#111;color:#fff;border-radius:24px;padding:22px}.bulk-summary .eyebrow{color:var(--yellow)}.summary-lines{display:grid;gap:9px;padding:8px 0 14px}.summary-line{display:flex;justify-content:space-between;gap:12px;font-size:14px}.summary-total,.summary-fee{display:flex;justify-content:space-between;gap:15px;border-top:1px solid #333;padding:14px 0}.summary-fee strong{color:var(--yellow)}.bulk-reminder{background:#24201d;border-radius:16px;padding:14px;margin:8px 0 16px}.bulk-reminder p{margin:6px 0 0;color:#d9d2cb;font-size:13px;line-height:1.5}.wide{width:100%}.feedback-section{background:#f5ecd4}.feedback-card{max-width:900px}.feedback-note{font-size:14px;line-height:1.6;color:var(--muted);background:#fff8dc;border-radius:16px;padding:14px}.modal{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:100;display:none;align-items:center;justify-content:center;padding:20px}.modal.open{display:flex}.modal-card{background:#fff;border-radius:26px;padding:24px;width:min(680px,100%);max-height:88vh;overflow:auto;position:relative}.modal-card h3{font-size:30px;margin:0 0 16px}.modal-close{position:absolute;right:16px;top:14px;border:0;background:#f2eee5;border-radius:50%;width:36px;height:36px;font-size:24px;cursor:pointer}.modal-reminder{color:#fff}.review-block{border-top:1px solid #e8dfcf;padding:12px 0}.review-block strong{display:block;margin-bottom:5px}.review-lines{display:grid;gap:7px}.review-row{display:flex;justify-content:space-between;gap:12px}@media(max-width:980px){.bulk-grid{grid-template-columns:1fr}.bulk-summary{position:static}.bulk-items{grid-template-columns:1fr}}@media(max-width:640px){.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}}

.modal-actions{display:grid;grid-template-columns:1fr 1.45fr;gap:10px;margin-top:12px}
@media(max-width:560px){.modal-actions{grid-template-columns:1fr}}

/* v18 multi-page navigation */
.topbar nav a.active-page{font-weight:950;text-decoration:underline;text-underline-offset:5px}
.inner-page main>.section:first-child{min-height:calc(100vh - 82px)}
.home-links{background:#fffdf7}
.home-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.home-card{border:1px solid var(--line);border-radius:22px;background:#fff;padding:24px;display:flex;flex-direction:column;gap:8px;transition:.18s ease}
.home-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.home-card strong{font-size:24px}.home-card span{color:var(--muted)}
.form-status{margin:12px 0 0;font-size:14px;font-weight:750;color:#4e473c;min-height:20px}
.date-help{margin:0;color:var(--muted);font-size:12px;line-height:1.45}
@media(max-width:900px){.home-card-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.home-card-grid{grid-template-columns:1fr}}

.business-enquiry-section{background:#fffdf7}
.business-card{max-width:900px}
.chat-panel{height:540px}

.bulk-response-note{margin:10px 4px 0;text-align:center;font-size:12px;line-height:1.45;color:#d8d2c7}

/* v25 mobile page navigation */
.mobile-page-menu{display:none}
.page-select{
  appearance:auto;
  border:1px solid #111;
  background:#111;
  color:#fff;
  border-radius:999px;
  padding:10px 14px;
  font:inherit;
  font-weight:800;
  max-width:170px;
}
.sr-only{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}
@media(max-width:760px){
  .topbar nav{display:none}
  .mobile-page-menu{display:block;margin-left:auto}
  .topbar{gap:12px}
  .logo-brand img{max-width:150px}
}

/* v27 reliable mobile navigation */
.mobile-nav-wrap{display:none;position:relative;margin-left:auto}
.mobile-nav-button{
  border:1px solid #111;
  background:#111;
  color:#fff;
  border-radius:999px;
  padding:10px 15px;
  font:inherit;
  font-weight:900;
  line-height:1;
  cursor:pointer;
  display:flex;
  align-items:center;
  gap:6px;
}
.mobile-nav-panel{
  position:absolute;
  right:0;
  top:calc(100% + 10px);
  width:min(280px,calc(100vw - 28px));
  background:#111;
  border-radius:18px;
  padding:8px;
  box-shadow:0 16px 40px rgba(0,0,0,.25);
  z-index:999;
}
.mobile-nav-panel[hidden]{display:none!important}
.mobile-nav-panel a{
  display:block;
  color:#fff!important;
  text-decoration:none;
  padding:12px 14px;
  border-radius:12px;
  font-weight:800;
}
.mobile-nav-panel a:hover,
.mobile-nav-panel a:focus{background:#2a2a2a}
@media(max-width:760px){
  .topbar nav{display:none!important}
  .mobile-page-menu{display:none!important}
  .mobile-nav-wrap{display:block!important}
  .topbar{position:relative;overflow:visible}
}

/* v28 floating mobile Home button */
.floating-home{
  display:none;
}
@media(max-width:760px){
  .floating-home{
    display:flex;
    position:fixed;
    top:14px;
    right:14px;
    z-index:1200;
    min-width:58px;
    height:44px;
    padding:0 15px;
    border-radius:999px;
    align-items:center;
    justify-content:center;
    background:#111;
    color:#fff!important;
    text-decoration:none;
    font-weight:900;
    font-size:14px;
    box-shadow:0 8px 24px rgba(0,0,0,.22);
  }

  /* keep the header clear underneath the floating Home button */
  .topbar{
    padding-right:86px;
  }

  /* hide the previous mobile page-menu button so Home is always obvious */
  .mobile-nav-wrap{
    display:none!important;
  }
}

/* v29 — permanent minimal mobile navigation */
.mobile-bottom-nav{display:none}

@media(max-width:760px){
  .topbar nav,
  .mobile-page-menu,
  .mobile-nav-wrap,
  .floating-home{display:none!important}

  body{padding-bottom:76px}

  .mobile-bottom-nav{
    position:fixed;
    left:10px;
    right:10px;
    bottom:10px;
    z-index:1500;
    display:grid;
    grid-template-columns:repeat(5,1fr);
    align-items:stretch;
    gap:2px;
    padding:6px;
    border:1px solid rgba(255,255,255,.16);
    border-radius:22px;
    background:rgba(17,17,17,.96);
    box-shadow:0 12px 34px rgba(0,0,0,.28);
    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);
  }

  .mobile-bottom-nav>a,
  .mobile-bottom-nav>button{
    min-width:0;
    min-height:52px;
    border:0;
    border-radius:15px;
    background:transparent;
    color:#d8d8d8!important;
    text-decoration:none;
    font:inherit;
    font-size:10.5px;
    font-weight:800;
    line-height:1.05;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:4px;
    padding:5px 2px;
    cursor:pointer;
  }

  .mobile-bottom-nav .nav-icon{
    font-size:18px;
    line-height:1;
    font-weight:900;
  }

  .mobile-bottom-nav>a.active,
  .mobile-bottom-nav>button.active{
    background:#ffd400;
    color:#111!important;
  }

  .mobile-more-panel{
    position:absolute;
    right:0;
    bottom:calc(100% + 9px);
    width:min(245px,calc(100vw - 20px));
    padding:8px;
    border-radius:18px;
    background:#111;
    box-shadow:0 12px 34px rgba(0,0,0,.28);
  }

  .mobile-more-panel[hidden]{display:none!important}

  .mobile-more-panel a{
    display:block;
    padding:13px 14px;
    border-radius:12px;
    color:#fff!important;
    text-decoration:none;
    font-weight:800;
    font-size:14px;
  }

  .mobile-more-panel a:active{background:#292929}

  .topbar{padding-right:20px!important}

  .delivery-page-section{
    display:block!important;
    min-height:auto!important;
  }

  .delivery-page-section .section-heading{
    margin-bottom:14px!important;
  }

  .delivery-page-section .delivery-grid,
  .delivery-page-section .platform-grid,
  .delivery-page-section .delivery-cards{
    margin-top:0!important;
    padding-top:0!important;
  }

  .delivery-page-section .delivery-card,
  .delivery-page-section .platform-card{
    margin-top:0!important;
  }
}
