:root{--bg: #ffffff;--bg-alt: #faf6f0;--surface: #ffffff;--surface-2: #f6f1e9;--line: rgba(58, 40, 22, .13);--line-strong: rgba(58, 40, 22, .24);--text: #2b2118;--text-muted: #6a5a49;--text-dim: #8b7a67;--ink-on-accent: #2b1c0c;--accent: #e0912f;--accent-soft: #a8631a;--accent-dark: #8a4f13;--accent-wash: #fdf3e6;--cocoa: #8a5a2b;--cocoa-ink: #6b4423;--cocoa-wash: #f6eee3;--berry: #c4456b;--berry-ink: #a83158;--berry-wash: #fdeef3;--pandan: #4e8f3e;--pandan-ink: #2f6b28;--pandan-wash: #edf6ea;--terracotta: #c2603c;--terracotta-ink: #a84a29;--terracotta-wash: #fdf0ea;--plum: #9a5bb0;--plum-ink: #7b3f91;--plum-wash: #f7eefb;--footer-bg: #2a1d12;--footer-text: #f3e9dc;--footer-dim: #b8a08a;--footer-line: rgba(255, 240, 220, .14);--whatsapp: #25d366;--whatsapp-dark: #1da851;--whatsapp-ink: #0f7a3d;--whatsapp-wash: #eafaf0;--danger: #c0392b;--radius-sm: 10px;--radius: 16px;--radius-lg: 24px;--shadow-sm: 0 4px 16px rgba(58, 40, 22, .09);--shadow: 0 18px 44px rgba(58, 40, 22, .16);--font-display: "Playfair Display", Georgia, serif;--font-body: "Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--container: 1200px;--nav-height: 74px}*,*:before,*:after{box-sizing:border-box}*{margin:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;overflow-x:clip}body{min-height:100vh;background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}img,svg{display:block;max-width:100%}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:none;border:none}a{color:inherit;text-decoration:none}h1,h2,h3{font-family:var(--font-display);line-height:1.18;font-weight:700;letter-spacing:-.01em}ul,ol{list-style:none;padding:0}:focus-visible{outline:2px solid var(--accent-soft);outline-offset:3px}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.container{width:100%;max-width:var(--container);margin:0 auto;padding:0 20px}.section{padding:84px 0}.section--tight{padding:56px 0 84px}.section--muted{background:var(--bg-alt);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.section__head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:40px}.section__head--center{justify-content:center;text-align:center}.section__head--center .section__subtitle{margin-inline:auto}.section__title{font-size:clamp(1.5rem,2.6vw,1.95rem);margin-top:8px}.section__subtitle{margin-top:10px;max-width:56ch;color:var(--text-muted);font-size:.9rem}.eyebrow{display:inline-block;font-size:.78rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--accent-soft)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 18px;border-radius:999px;border:1px solid transparent;font-size:.86rem;font-weight:600;transition:transform .18s ease,background-color .18s ease,border-color .18s ease,color .18s ease;white-space:nowrap}.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn--primary{background:var(--accent);color:var(--ink-on-accent)}.btn--primary:hover{background:var(--accent-dark);color:#fff}.btn--ghost{border-color:var(--line-strong);color:var(--text);background:#fff}.btn--ghost:hover{border-color:var(--accent-soft);color:var(--accent-soft)}.btn--whatsapp{background:var(--whatsapp);color:#062b13}.btn--whatsapp:hover{background:var(--whatsapp-dark);color:#f2fff7}.btn--sm{padding:8px 14px;font-size:.79rem}.btn--lg{padding:11px 21px;font-size:.88rem}.btn--block{width:100%}.icon-button{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;color:var(--text-muted);border:1px solid var(--line);transition:color .18s ease,border-color .18s ease}.icon-button:hover{color:var(--text);border-color:var(--line-strong)}.link-button{color:var(--text-dim);font-size:.86rem;text-decoration:underline;text-underline-offset:3px}.link-button:hover{color:var(--danger)}.navbar{position:sticky;top:0;z-index:60;background:transparent;transition:padding-top .4s cubic-bezier(.4,0,.2,1)}.navbar--scrolled{padding-top:14px}.navbar__inner{display:flex;align-items:center;justify-content:space-between;gap:20px;height:var(--nav-height);border:1px solid transparent;border-radius:999px;transition:max-width .4s cubic-bezier(.4,0,.2,1),height .4s cubic-bezier(.4,0,.2,1),padding .4s cubic-bezier(.4,0,.2,1),background-color .4s ease,border-color .4s ease,box-shadow .4s ease}.navbar--scrolled .navbar__inner{max-width:940px;height:62px;padding-left:16px;padding-right:12px;background:#ffffffe0;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-color:var(--line);box-shadow:0 10px 30px #3a281624}.navbar--scrolled .navbar__logo{width:38px;height:38px}.navbar__brand{display:flex;align-items:center;gap:12px}.navbar__logo{width:46px;height:46px;border-radius:12px;object-fit:contain;background:#fff;flex-shrink:0}.navbar__brand-text{display:flex;flex-direction:column;line-height:1.2}.navbar__brand-text strong{font-family:var(--font-display);font-size:1.22rem}.navbar__brand-text small{font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);white-space:nowrap}.navbar__links{display:flex;align-items:center;gap:6px}.navbar__links a{position:relative;padding:8px 14px;border-radius:999px;font-size:.86rem;font-weight:500;color:var(--text-muted);transition:color .18s ease,background-color .18s ease}.navbar__links a:hover{color:var(--text);background:var(--surface-2)}.navbar__links a.is-active{color:var(--accent-soft);background:var(--accent-wash)}.navbar__actions{display:flex;align-items:center;gap:10px}.navbar__toggle{display:none;padding:9px;border-radius:12px;border:1px solid var(--line);color:var(--text)}.cart-button{position:relative;display:grid;place-items:center;width:44px;height:44px;border-radius:14px;color:var(--text);transition:background-color .18s ease,color .18s ease}.cart-button:hover{background:var(--accent-wash);color:var(--accent-soft)}.cart-button__badge{position:absolute;top:3px;right:3px;min-width:18px;height:18px;padding:0 4px;display:grid;place-items:center;border-radius:999px;background:var(--accent);color:var(--ink-on-accent);border:2px solid #fff;font-size:.66rem;font-weight:700;line-height:1}.hero{position:relative;isolation:isolate;overflow:hidden;padding:84px 0 96px;background:radial-gradient(900px 460px at 78% 18%,rgba(224,145,47,.2),transparent 62%),radial-gradient(700px 420px at 8% 82%,rgba(224,145,47,.08),transparent 60%),var(--bg)}.hero__bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1}.hero__bg img{width:100%;height:100%;object-fit:cover;animation:hero-bg-in 1.4s ease-out backwards}.hero__bg:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(100deg,#ffffffe6,#fffc 34%,#ffffff73 58%,#ffffff2e),linear-gradient(to bottom,#fff3,#fff0 42%,#fff)}@keyframes hero-bg-in{0%{opacity:0;transform:scale(1.06)}}.hero__inner{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:56px}.hero__brand{display:block;width:clamp(220px,30vw,384px);height:auto;color:var(--text)}.hero__content .eyebrow{margin-top:8px;font-size:.68rem;letter-spacing:.2em}.hero__content h1{margin-top:14px;font-size:clamp(1.4rem,2.7vw,2.05rem)}.hero__content h1 em{display:block;font-style:italic;color:var(--accent-soft)}.hero__content>p{margin-top:20px;max-width:52ch;color:var(--text-muted);font-size:.94rem}.hero__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}.hero__meta{display:flex;align-items:center;gap:9px;margin-top:28px;color:var(--text-dim);font-size:.88rem}.hero__visual{position:relative}.hero__image-frame{position:relative;max-width:470px;margin-left:auto;aspect-ratio:1 / 1;border-radius:50%;overflow:hidden;border:1px solid var(--line-strong);box-shadow:var(--shadow)}.hero__image-frame .product-image{width:100%;height:100%;object-fit:cover}.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(185px,1fr));gap:16px}.product-card{position:relative;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:border-color .22s ease,box-shadow .22s ease}.product-card:hover{border-color:var(--line-strong);box-shadow:var(--shadow-sm)}.product-card__open{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;padding:0}.product-card__open:focus-visible{outline:2px solid var(--accent-soft);outline-offset:-4px;border-radius:var(--radius)}.product-card__action{position:relative;z-index:2}.product-card--active{border-color:var(--tone, var(--accent-soft))}.product-card__media{position:relative;aspect-ratio:1 / 1;background:var(--surface-2);overflow:hidden}.product-card__media .product-image{width:100%;height:100%;object-fit:cover;transition:transform .4s ease,opacity .55s ease}.product-card:hover .product-card__media .product-image{transform:scale(1.05)}.product-card__badge{--tone: var(--accent-soft);position:absolute;top:12px;left:12px;padding:5px 11px;border-radius:999px;background:var(--tone);color:#fff;font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;box-shadow:0 2px 8px #2b211847}.product-card__badge--best-seller{--tone: var(--accent-soft);position:absolute;overflow:hidden;isolation:isolate}.product-card__badge--best-seller:before{content:"";position:absolute;top:0;bottom:0;left:0;width:60%;background:linear-gradient(-75deg,transparent 0%,rgba(255,255,255,.62) 50%,transparent 100%);animation:badge-shine 2s ease-in-out infinite}@keyframes badge-shine{0%{transform:translate(-160%)}50%,to{transform:translate(320%)}}.product-card__badge--baru{--tone: var(--pandan-ink)}.product-card__badge--legendaris{--tone: var(--cocoa-ink)}.product-card__badge--untuk-perayaan{--tone: var(--berry-ink)}.product-card__badge--oleh-oleh{--tone: var(--terracotta-ink)}.product-card__check{position:absolute;top:12px;right:12px;display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--tone, var(--accent-soft));color:#fff}.product-card__body{display:flex;flex-direction:column;flex:1;padding:13px 14px 15px}.product-card__name{font-size:.95rem}.product-card__desc{margin-top:5px;font-size:.8rem;line-height:1.55;color:var(--text-dim);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.product-card__footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding-top:12px}.product-card__price{display:flex;flex-direction:column;line-height:1.3}.product-card__price strong{font-size:.94rem;color:var(--tone, var(--accent-soft))}.product-card--cat-roti-tawar{--tone: var(--cocoa-ink)}.product-card--cat-cake{--tone: var(--berry-ink)}.product-card--cat-jajanan-pasar{--tone: var(--pandan-ink)}.product-card--cat-pastry{--tone: var(--terracotta-ink)}.product-card--cat-pelengkap{--tone: var(--plum-ink)}.product-card__price span{font-size:.75rem;color:var(--text-dim)}.quick-view__backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:88;background:#2b211885;will-change:opacity}.quick-view{position:fixed;top:0;right:0;bottom:0;left:0;z-index:89;display:grid;place-items:center;padding:18px;overscroll-behavior:contain}.quick-view__frame{position:relative;width:min(520px,100%)}.quick-view__card{border-radius:var(--radius-lg);display:flex;flex-direction:column;width:100%;max-height:min(92vh,860px);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);overflow:hidden}.quick-view__media{position:relative;flex:0 4 auto;min-height:180px;aspect-ratio:1 / 1;background:var(--surface-2)}.quick-view__media .product-image{width:100%;height:100%;object-fit:contain}.quick-view__body{display:flex;flex-direction:column;min-height:0;gap:14px;padding:16px 18px 20px;overflow-y:auto}.quick-view__head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.quick-view__name{font-size:1.2rem;line-height:1.25}.quick-view__price{display:flex;flex-direction:column;margin-top:6px;line-height:1.3}.quick-view__price strong{font-size:1.05rem;color:var(--tone, var(--accent-soft))}.quick-view__price span{font-size:.78rem;color:var(--text-dim)}.quick-view__action{flex-shrink:0}.quick-view__content{display:flex;flex-direction:column;gap:10px}.quick-view__chips{display:flex;flex-wrap:wrap;gap:8px}.quick-view__chip{padding:5px 12px;border-radius:999px;background:var(--surface-2);border:1px solid var(--line);color:var(--text-muted);font-size:.76rem}.quick-view__desc{font-size:.88rem;line-height:1.6;color:var(--text-muted)}.quick-view__note{font-size:.82rem;font-weight:600;color:var(--tone, var(--accent-soft))}.quick-view__close{position:absolute;top:12px;right:12px;z-index:2;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#fffffff0;color:var(--text);box-shadow:0 2px 10px #2b211838}.qty-stepper{display:flex;align-items:center;gap:2px;padding:3px;border-radius:999px;border:1px solid var(--line-strong);background:var(--surface-2)}.qty-stepper button{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;color:var(--text-muted);transition:background-color .16s ease,color .16s ease}.qty-stepper button:hover{background:var(--accent);color:var(--ink-on-accent)}.qty-stepper__value{width:34px;padding:2px 0;border:none;border-radius:7px;background:transparent;text-align:center;font-size:.9rem;font-weight:700;color:inherit;cursor:text}.qty-stepper__value:focus{outline:none;background:#fff;box-shadow:inset 0 0 0 1px var(--accent)}.qty-stepper--sm button{width:24px;height:24px}.qty-stepper--sm .qty-stepper__value{width:30px;font-size:.84rem}.product-image--placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;width:100%;height:100%;padding:16px;color:#6b4a24;text-align:center;background-size:cover;background-position:center}.product-image--placeholder span{font-family:var(--font-display);font-size:.92rem;line-height:1.3}.category-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(132px,176px));justify-content:center;gap:16px}.category-card{--tone: var(--accent-soft);--tone-wash: var(--accent-wash);position:relative;display:flex;flex-direction:column;padding:14px 13px 15px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);color:var(--text);overflow:hidden;text-align:left;transition:transform .2s ease,border-color .2s ease,background-color .2s ease}.category-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--tone)}.category-card:hover{transform:translateY(-3px);border-color:var(--tone);background:var(--tone-wash)}.category-card--roti-manis{--tone: var(--accent-soft);--tone-wash: var(--accent-wash)}.category-card--roti-tawar{--tone: var(--cocoa-ink);--tone-wash: var(--cocoa-wash)}.category-card--cake{--tone: var(--berry-ink);--tone-wash: var(--berry-wash)}.category-card--jajanan-pasar{--tone: var(--pandan-ink);--tone-wash: var(--pandan-wash)}.category-card--pastry{--tone: var(--terracotta-ink);--tone-wash: var(--terracotta-wash)}.category-card--pelengkap{--tone: var(--plum-ink);--tone-wash: var(--plum-wash)}.category-card__icon{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--tone-wash);color:var(--tone);transition:background-color .2s ease}.category-card:hover .category-card__icon{background:#fff}.category-card__arrow{position:absolute;top:15px;right:12px;color:var(--text-dim);transition:transform .2s ease,color .2s ease}.category-card:hover .category-card__arrow{transform:translate(3px);color:var(--tone)}.category-card h3{margin-top:12px;font-family:var(--font-body);font-size:.9rem;font-weight:600;letter-spacing:0}.category-card__count{margin-top:2px;font-size:.76rem;color:var(--text-dim)}.reason-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(268px,1fr));gap:22px}.reason-card{--tone: var(--accent-soft);--tone-wash: var(--accent-wash);padding:32px 26px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);transition:border-color .2s ease,box-shadow .2s ease}.reason-card:hover{border-color:var(--tone);box-shadow:var(--shadow-sm)}.reason-card--amber{--tone: var(--accent-soft);--tone-wash: var(--accent-wash)}.reason-card--terracotta{--tone: var(--terracotta-ink);--tone-wash: var(--terracotta-wash)}.reason-card--pandan{--tone: var(--pandan-ink);--tone-wash: var(--pandan-wash)}.reason-card__icon{display:grid;place-items:center;width:50px;height:50px;margin-bottom:18px;border-radius:14px;background:var(--tone-wash);color:var(--tone)}.reason-card h3{font-family:var(--font-body);font-size:1.12rem;font-weight:600;letter-spacing:0}.reason-card p{margin-top:10px;color:var(--text-muted);font-size:.92rem}.halal{background:var(--pandan-wash);border-color:#2f6b2829}.halal .eyebrow{color:var(--pandan-ink)}.halal .btn--ghost:hover{border-color:var(--pandan-ink);color:var(--pandan-ink)}.halal__inner{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:52px}.halal__logo{display:grid;place-items:center;padding:30px 36px;border-radius:var(--radius-lg);background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-sm)}.halal__logo img{width:118px;height:auto}.halal__content p{margin-top:14px;max-width:58ch;color:var(--text-muted)}.halal__content .halal__cert{display:inline-block;margin-top:16px;padding:9px 18px;border-radius:999px;background:#fff;border:1px solid rgba(47,107,40,.3);font-size:.88rem}.halal__cert strong{color:var(--pandan-ink)}.halal__content .btn{margin-top:26px}.page-header{--glow: rgba(224, 145, 47, .18);--tone: var(--accent-soft);padding:52px 0 34px;background:radial-gradient(760px 380px at 22% 0%,var(--glow),transparent 64%),radial-gradient(620px 320px at 88% 10%,rgba(196,69,107,.07),transparent 62%),var(--bg);border-bottom:1px solid var(--line)}.page-header--cabang{--glow: rgba(78, 143, 62, .2);--tone: var(--pandan-ink)}.page-header--tentang{--glow: rgba(196, 69, 107, .17);--tone: var(--berry-ink)}.page-header .eyebrow{color:var(--tone)}.page-header h1{margin-top:10px;font-size:clamp(1.6rem,3vw,2.15rem)}.page-header p{margin-top:12px;max-width:58ch;color:var(--text-muted);font-size:.9rem}.page-header .btn{margin-top:26px}.menu-toolbar{display:flex;gap:12px;margin-bottom:16px}.search-field{position:relative;display:flex;align-items:center;flex:1}.search-field svg{position:absolute;left:14px;color:var(--text-dim);pointer-events:none}.search-field input{width:100%;padding:10px 16px 10px 40px;font-size:.86rem;border-radius:999px;background:var(--surface);border:1px solid var(--line-strong);transition:border-color .18s ease}.search-field input::placeholder{color:var(--text-dim)}.search-field input:focus{border-color:var(--accent-soft);outline:none}.menu-toolbar__controls{display:flex;gap:10px}.sort-field select,.filter-field select,.field select,.field input,.field textarea{width:100%;padding:13px 16px;border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--line-strong);transition:border-color .18s ease}.sort-field select,.filter-field select,.field select{-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236a5a49' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;background-size:16px 16px;padding-right:44px}.sort-field select,.filter-field select{padding:10px 36px 10px 14px;font-size:.86rem;background-position:right 13px center;background-size:14px 14px}.sort-field select{border-radius:999px;min-width:178px;cursor:pointer}.filter-field{display:none}.filter-field select{border-radius:999px;cursor:pointer}.field select:focus,.field input:focus,.field textarea:focus,.sort-field select:focus,.filter-field select:focus{border-color:var(--accent-soft);outline:none}.field textarea{resize:vertical;font-family:inherit}.chip-row{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:14px}.chip{padding:7px 14px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--text-muted);font-size:.8rem;font-weight:500;transition:all .18s ease}.chip:hover{color:var(--text);border-color:var(--line-strong)}.chip.is-active{background:var(--tone, var(--accent-soft));border-color:var(--tone, var(--accent-soft));color:#fff;font-weight:600}.chip--roti-tawar{--tone: var(--cocoa-ink)}.chip--cake{--tone: var(--berry-ink)}.chip--jajanan-pasar{--tone: var(--pandan-ink)}.chip--pastry{--tone: var(--terracotta-ink)}.chip--pelengkap{--tone: var(--plum-ink)}.result-count{margin-bottom:16px;font-size:.8rem;color:var(--text-dim)}.result-count strong{color:var(--text)}.empty-state{padding:64px 24px;text-align:center;border:1px dashed var(--line-strong);border-radius:var(--radius)}.empty-state h3{font-size:1.3rem}.empty-state p{margin:10px 0 20px;color:var(--text-muted)}.stores{display:grid;grid-template-columns:minmax(300px,400px) 1fr;align-items:start;gap:32px}.stores__list{display:flex;flex-direction:column;gap:12px}.store-item{border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-sm);overflow:hidden;transition:border-color .2s ease,box-shadow .2s ease}.store-item:hover{border-color:var(--line-strong)}.store-item.is-open{border-color:var(--accent);box-shadow:0 10px 26px #8a4f1321}.store-item__heading{margin:0;font-family:var(--font-body);font-size:1rem;font-weight:600;letter-spacing:0}.store-item__trigger{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;padding:17px 20px;text-align:left;color:var(--accent-soft);font-size:.98rem;font-weight:600;transition:color .18s ease,background-color .18s ease}.store-item__trigger:hover{background:var(--accent-wash)}.store-item.is-open .store-item__trigger{color:var(--accent-dark)}.store-item__chevron{flex-shrink:0;transition:transform .25s ease}.store-item.is-open .store-item__chevron{transform:rotate(180deg)}.store-item__panel{display:grid;grid-template-rows:0fr;visibility:hidden;transition:grid-template-rows .3s cubic-bezier(.32,.72,0,1),visibility 0s linear .3s}.store-item.is-open .store-item__panel{grid-template-rows:1fr;visibility:visible;transition:grid-template-rows .3s cubic-bezier(.32,.72,0,1),visibility 0s}.store-item__panel-clip{overflow:hidden;min-height:0}.store-item__panel-content{display:flex;flex-direction:column;gap:2px;padding:4px 20px 20px;border-top:1px solid var(--line);opacity:0;transition:opacity .2s ease}.store-item.is-open .store-item__panel-content{opacity:1;transition:opacity .26s ease .08s}.store-item__row{display:flex;gap:10px;padding-top:11px;font-size:.88rem;line-height:1.55;color:var(--text-muted)}.store-item__row svg{flex-shrink:0;margin-top:4px;color:var(--accent-soft)}.store-item__actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:14px}.stores__map{position:sticky;top:calc(var(--nav-height) + 20px)}.branch-map{position:relative;z-index:0;height:min(72vh,600px);border-radius:var(--radius-lg);border:1px solid var(--line-strong);box-shadow:var(--shadow-sm);overflow:hidden;background:var(--surface-2)}.branch-map--loading{display:grid;place-items:center;color:var(--text-dim);font-size:.9rem}.map-pin-icon{background:none;border:none}.map-pin{position:relative;display:block;width:24px;height:24px;background:#ea4335;border:2px solid #fff;border-radius:50% 50% 50% 0;transform:rotate(-45deg);box-shadow:0 3px 9px #20212459;transition:background-color .2s ease,transform .2s ease}.map-pin:after{content:"";position:absolute;top:50%;left:50%;width:8px;height:8px;border-radius:50%;background:#fff;transform:translate(-50%,-50%)}.map-pin.is-active{background:#c5221f;transform:rotate(-45deg) scale(1.35)}.leaflet-container{font-family:var(--font-body);background:var(--surface-2)}.leaflet-popup-content-wrapper{border-radius:var(--radius-sm);box-shadow:var(--shadow-sm)}.leaflet-popup-content{margin:12px 15px;font-size:.84rem;line-height:1.55;color:var(--text-muted)}.leaflet-popup-content strong{font-size:.95rem;color:var(--accent-soft)}.leaflet-bar a{color:var(--text)}.leaflet-control-attribution{font-size:.68rem}.about-split{display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:52px}.about-split__media{aspect-ratio:4 / 5;border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--line);background:var(--surface-2)}.about-split__media .product-image{width:100%;height:100%;object-fit:cover}.about-split__content p{margin-top:16px;color:var(--text-muted)}.about-split__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.timeline{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:22px}.timeline__item{--tone: var(--accent-soft);position:relative;padding:28px 24px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);border-top:3px solid var(--tone)}.timeline__item:nth-child(2){--tone: var(--terracotta-ink)}.timeline__item:nth-child(3){--tone: var(--pandan-ink)}.timeline__year{display:inline-block;margin-bottom:10px;font-family:var(--font-display);font-size:1.5rem;color:var(--tone)}.timeline__item h3{font-size:1.12rem}.timeline__item p{margin-top:8px;font-size:.92rem;color:var(--text-muted)}.footer{background:var(--footer-bg);color:var(--footer-text);margin-top:auto}.footer__inner{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:44px;padding-top:64px;padding-bottom:52px}.footer__logo{width:76px;height:76px;border-radius:16px;object-fit:contain;background:#fff;border:1px solid var(--footer-line)}.footer__brand h3{margin-top:16px;font-size:1.35rem}.footer__brand p{margin-top:12px;max-width:38ch;font-size:.9rem;color:var(--footer-dim)}.footer__socials{display:flex;gap:10px;margin-top:20px}.footer__socials a,.footer__socials button{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;border:1px solid var(--footer-line);background:none;color:var(--footer-dim);cursor:pointer;transition:all .18s ease}.footer__socials a:hover,.footer__socials button:hover{border-color:var(--accent);color:var(--accent)}.footer__col h4{margin-bottom:16px;font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}.footer__col li{margin-bottom:10px;font-size:.9rem;color:var(--footer-dim)}.footer__col a:hover{color:var(--accent)}.footer__muted{margin-top:12px;font-size:.8rem!important;line-height:1.5}.footer__bottom{border-top:1px solid var(--footer-line);padding:20px 0}.footer__bottom-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;font-size:.82rem;color:var(--footer-dim)}.drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;background:#2b21186b;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);opacity:0;visibility:hidden;transition:opacity .28s ease,visibility .28s ease;overscroll-behavior:contain}.drawer-overlay.is-open{opacity:1;visibility:visible}.cart-drawer{position:fixed;top:0;right:0;z-index:80;display:flex;flex-direction:column;width:min(420px,100vw);height:100dvh;background:var(--bg);border-left:1px solid var(--line);box-shadow:var(--shadow);transform:translate(100%);visibility:hidden;transition:transform .32s cubic-bezier(.4,0,.2,1),visibility .32s}.cart-drawer.is-open{transform:translate(0);visibility:visible}.cart-drawer__header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:24px 22px 18px;border-bottom:1px solid var(--line)}.cart-drawer__header h2{font-family:var(--font-body);font-weight:600;letter-spacing:0;font-size:1.22rem}.cart-drawer__header p{margin-top:4px;font-size:.84rem;color:var(--text-dim)}.cart-drawer__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;gap:12px;padding:40px 30px;text-align:center}.cart-drawer__empty-title{font-family:var(--font-body);font-weight:600;letter-spacing:0;font-size:1.08rem}.cart-drawer__empty-text{font-size:.88rem;color:var(--text-dim)}.cart-drawer__empty .btn{margin-top:8px}.cart-drawer__list{flex:1;overflow-y:auto;padding:8px 22px;overscroll-behavior:contain}.cart-item{display:grid;grid-template-columns:64px 1fr auto;gap:14px;padding:18px 0;border-bottom:1px solid var(--line)}.cart-item__media{width:64px;height:64px;border-radius:12px;overflow:hidden;background:var(--surface-2)}.cart-item__media .product-image{width:100%;height:100%;object-fit:cover}.cart-item__media .product-image--placeholder span{display:none}.cart-item__info h3{font-family:var(--font-body);font-weight:600;letter-spacing:0;font-size:.95rem}.cart-item__price{margin-top:2px;font-size:.82rem;color:var(--text-dim)}.cart-item__controls{display:flex;align-items:center;gap:10px;margin-top:10px}.cart-item__remove{color:var(--text-dim);transition:color .18s ease}.cart-item__remove:hover{color:var(--danger)}.cart-item__subtotal{font-size:.92rem;font-weight:600;color:var(--accent-soft);white-space:nowrap}.cart-drawer__footer{padding:18px 22px 24px;border-top:1px solid var(--line);background:var(--bg-alt)}.cart-drawer__total{display:flex;align-items:baseline;justify-content:space-between;margin:14px 0 16px}.cart-drawer__total span{color:var(--text-muted)}.cart-drawer__total strong{font-family:var(--font-body);font-weight:700;font-variant-numeric:tabular-nums;font-size:1.5rem;letter-spacing:-.01em;color:var(--accent-soft)}.cart-drawer__note{margin-top:12px;font-size:.78rem;line-height:1.5;color:var(--text-dim);text-align:center}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;display:flex;align-items:center;justify-content:center;padding:20px;background:#2b211885;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fade-in .2s ease;overscroll-behavior:contain}.modal{width:min(640px,100%);max-height:min(88vh,780px);display:flex;flex-direction:column;border-radius:var(--radius-lg);background:var(--bg);color:var(--text);border:1px solid var(--line-strong);box-shadow:var(--shadow);overflow:hidden;animation:slide-up .26s cubic-bezier(.4,0,.2,1)}.modal__header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:24px 26px 18px;border-bottom:1px solid var(--line)}.modal__header h2{font-family:var(--font-body);font-weight:600;letter-spacing:0;font-size:1.22rem}.modal__header p{margin-top:4px;font-size:.86rem;color:var(--text-dim)}.modal__body{display:flex;flex-direction:column;gap:20px;padding:24px 26px 28px;overflow-y:auto;overscroll-behavior:contain}.branch-picker{border:none;padding:0;margin:0}.branch-picker__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px;margin-top:10px}.branch-option{position:relative;display:flex;flex-direction:column;gap:5px;padding:14px 16px;border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--line);cursor:pointer;transition:border-color .18s ease,background-color .18s ease}.branch-option:hover{border-color:var(--line-strong)}.branch-option.is-selected{border-color:var(--accent-soft);background:var(--accent-wash)}.branch-option input{position:absolute;opacity:0;pointer-events:none}.branch-option__name{font-weight:600;font-size:.96rem}.branch-option__meta{display:flex;gap:7px;font-size:.78rem;line-height:1.45;color:var(--text-dim)}.branch-option__meta svg{flex-shrink:0;margin-top:3px;color:var(--accent-soft)}.wa-branch-list{display:grid;gap:10px}.wa-branch-option{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:14px 16px;border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--line);transition:border-color .18s ease,background-color .18s ease}.wa-branch-option:hover{border-color:var(--accent-soft);background:var(--accent-wash)}.wa-branch-option__icon{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#25d366;color:#fff}.wa-branch-option__text{display:flex;flex-direction:column;gap:5px;min-width:0}.wa-branch-option__name{font-weight:600;font-size:.96rem}.wa-branch-option__meta{display:flex;gap:7px;font-size:.78rem;line-height:1.45;color:var(--text-dim)}.wa-branch-option__meta svg{flex-shrink:0;margin-top:3px;color:var(--accent-soft)}.wa-branch-option__number{font-size:.82rem;font-weight:600;white-space:nowrap;color:var(--accent)}@media (max-width: 560px){.wa-branch-option{grid-template-columns:auto 1fr}.wa-branch-option__number{grid-column:2}}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{display:flex;flex-direction:column;gap:7px}.field-label{font-size:.8rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.form-error{padding:11px 14px;border-radius:var(--radius-sm);background:#fdecea;border:1px solid rgba(192,57,43,.35);color:#a3271b;font-size:.86rem}.modal__sent{display:flex;flex-direction:column;align-items:center;gap:12px;padding:38px 30px 34px;text-align:center}.modal__sent-icon{display:grid;place-items:center;width:62px;height:62px;border-radius:50%;background:var(--whatsapp-wash);color:var(--whatsapp-ink)}.modal__sent-title{font-family:var(--font-body);font-weight:600;letter-spacing:0;font-size:1.1rem;line-height:1.4}.modal__sent-text{max-width:44ch;font-size:.9rem;color:var(--text-muted)}.modal__sent-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:10px}.toast{position:fixed;left:50%;bottom:28px;z-index:100;display:flex;align-items:center;gap:11px;padding:12px 16px;border-radius:999px;background:var(--surface);border:1px solid var(--line-strong);box-shadow:var(--shadow);transform:translate(-50%);animation:toast-in .3s cubic-bezier(.4,0,.2,1)}.toast__icon{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--accent);color:var(--ink-on-accent);flex-shrink:0}.toast__message{font-size:.88rem}.toast__action{padding-left:12px;border-left:1px solid var(--line);color:var(--accent-soft);font-size:.86rem;font-weight:600}.mobile-cart-bar{display:none;position:fixed;left:12px;right:12px;bottom:12px;z-index:65;align-items:center;justify-content:space-between;gap:12px;padding:13px 18px;border-radius:999px;background:var(--accent);color:var(--ink-on-accent);box-shadow:var(--shadow)}.mobile-cart-bar__left,.mobile-cart-bar__right{display:flex;align-items:center;gap:9px;font-size:.9rem;font-weight:600}@keyframes fade-in{0%{opacity:0}}@keyframes slide-up{0%{opacity:0;transform:translateY(18px)}}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,16px)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}.reveal{opacity:0}.reveal.is-visible{opacity:1;animation-duration:.72s;animation-timing-function:cubic-bezier(.22,.61,.36,1);animation-fill-mode:backwards}.reveal--up.is-visible{animation-name:reveal-up}.reveal--left.is-visible{animation-name:reveal-left}.reveal--right.is-visible{animation-name:reveal-right}.reveal--zoom.is-visible{animation-name:reveal-zoom}.reveal--fade.is-visible{animation-name:reveal-fade}@keyframes reveal-up{0%{opacity:0;transform:translateY(30px)}}@keyframes reveal-left{0%{opacity:0;transform:translate(-34px)}}@keyframes reveal-right{0%{opacity:0;transform:translate(34px)}}@media (max-width: 1024px){.reveal--left.is-visible,.reveal--right.is-visible{animation-name:reveal-up}}@keyframes reveal-zoom{0%{opacity:0;transform:scale(.93)}}@keyframes reveal-fade{0%{opacity:0}}.hero__content>*{animation:reveal-up .85s cubic-bezier(.22,.61,.36,1) backwards}.hero__content>*:nth-child(1){animation-delay:.05s}.hero__content>*:nth-child(2){animation-delay:.15s}.hero__content>*:nth-child(3){animation-delay:.25s}.hero__content>*:nth-child(4){animation-delay:.35s}.hero__content>*:nth-child(5){animation-delay:.45s}.hero__content>*:nth-child(6){animation-delay:.55s}.hero__image-frame{animation:hero-frame-in 1.05s cubic-bezier(.22,.61,.36,1) .12s backwards}@keyframes hero-frame-in{0%{opacity:0;transform:scale(.9)}}.page-header .container>*{animation:reveal-up .7s cubic-bezier(.22,.61,.36,1) backwards}.page-header .container>*:nth-child(1){animation-delay:.04s}.page-header .container>*:nth-child(2){animation-delay:.13s}.page-header .container>*:nth-child(3){animation-delay:.22s}.page-header .container>*:nth-child(4){animation-delay:.31s}.page-enter{animation:page-in .45s ease-out}@keyframes page-in{0%{opacity:0;transform:translateY(12px)}}img{-webkit-touch-callout:none;-webkit-user-drag:none;-webkit-user-select:none;user-select:none}img.product-image{opacity:0;transition:opacity .55s ease}img.product-image.is-loaded{opacity:1}.cart-button__badge{animation:pop-in .4s cubic-bezier(.34,1.56,.64,1)}.product-card__check{animation:pop-in .35s cubic-bezier(.34,1.56,.64,1)}.qty-stepper__value{display:inline-block;animation:pop-in .28s ease-out}@keyframes pop-in{0%{opacity:0;transform:scale(.4)}60%{transform:scale(1.14)}}.qty-stepper button{transition:background-color .16s ease,color .16s ease,transform .16s ease}.qty-stepper button:active{transform:scale(.88)}.chip:hover{transform:translateY(-1px)}.btn{transition:transform .18s ease,background-color .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease}.btn--primary{box-shadow:0 2px 10px #e0912f4d}.btn--primary:hover{box-shadow:0 10px 22px #8a4f134d}.btn--whatsapp{box-shadow:0 2px 10px #25d3664d}.btn--whatsapp:hover{box-shadow:0 10px 22px #0f7a3d4d}.navbar__brand{transition:transform .25s ease}.navbar__logo{transition:transform .4s cubic-bezier(.34,1.56,.64,1),width .4s cubic-bezier(.4,0,.2,1),height .4s cubic-bezier(.4,0,.2,1)}.navbar__brand:hover .navbar__logo{transform:scale(1.07) rotate(-4deg)}.btn svg{transition:transform .2s ease}.btn:hover svg{transform:translate(3px)}.btn--whatsapp:hover svg,.btn--sm:hover svg{transform:none}@media (max-width: 1024px){.hero__inner{grid-template-columns:1fr;gap:44px}.hero__visual{display:none}.hero__bg:after{background:linear-gradient(to bottom,#ffffffc7,#fff9 55%,#fff)}.about-split{grid-template-columns:1fr;gap:32px}.about-split__media{max-width:420px;aspect-ratio:4 / 3}.footer__inner{grid-template-columns:1fr 1fr;gap:36px}}@media (max-width: 900px){.stores{grid-template-columns:1fr;gap:24px}.stores__map{position:static;order:-1}.branch-map{height:min(58vh,420px)}}@media (max-width: 860px){.halal__inner{grid-template-columns:1fr;justify-items:center;text-align:center;gap:32px}.halal__content p{margin-inline:auto}.navbar__toggle{display:grid;place-items:center}.navbar__links{position:absolute;top:calc(100% + 10px);left:12px;right:12px;flex-direction:column;align-items:stretch;gap:2px;padding:12px;border-radius:var(--radius);background:#fffffff7;border:1px solid var(--line);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);opacity:0;visibility:hidden;transform:translateY(-10px) scale(.98);transition:opacity .24s ease,transform .24s cubic-bezier(.4,0,.2,1),visibility .24s}.navbar__links.is-open{opacity:1;visibility:visible;transform:translateY(0) scale(1)}.navbar__links a{padding:13px 16px;border-radius:var(--radius-sm)}}@media (max-width: 640px){.section{padding:60px 0}.section--tight{padding:40px 0 72px}.section__head{flex-direction:column;align-items:flex-start;gap:16px}.hero{padding:56px 0 72px}.hero__actions{gap:10px}.hero__actions .btn--lg{padding:11px 18px;font-size:.84rem}.product-grid{grid-template-columns:repeat(2,1fr);gap:14px}.category-grid{grid-template-columns:repeat(3,1fr);gap:16px 10px}.category-card{padding:12px 10px 13px}.category-card__icon{width:30px;height:30px;border-radius:9px}.category-card__arrow{top:13px;right:10px}.category-card h3{margin-top:9px;font-size:.82rem}.category-card__count{font-size:.72rem}.product-card__body{padding:13px 14px 15px}.product-card__name{font-size:.95rem}.product-card__desc{display:none}.product-card__footer{flex-direction:column;align-items:stretch;gap:10px;padding-top:12px}.product-card__footer .btn,.product-card__footer .qty-stepper{width:100%;justify-content:center}.quick-view{padding:12px}.quick-view__head{flex-direction:column;align-items:stretch;gap:12px}.quick-view__action .btn,.quick-view__action .qty-stepper{width:100%;justify-content:center}.menu-toolbar{flex-direction:column;gap:10px}.menu-toolbar__controls{gap:8px}.filter-field{display:block}.menu-toolbar__controls .sort-field,.menu-toolbar__controls .filter-field{flex:1;min-width:0}.sort-field select,.filter-field select{width:100%;min-width:0;padding:9px 32px 9px 14px;font-size:.82rem;background-position:right 11px center;background-size:14px 14px;text-overflow:ellipsis}.chip-row{display:none}.field-row{grid-template-columns:1fr}.footer__inner{grid-template-columns:1fr 1fr;gap:30px 20px;padding-top:44px;padding-bottom:36px}.footer__brand{grid-column:1 / -1;display:flex;flex-direction:column;align-items:center;text-align:center}.footer__brand p{max-width:34ch}.footer__col{text-align:center}.footer__col:last-child{grid-column:1 / -1}.footer__col h4{margin-bottom:12px}.footer__col li{margin-bottom:8px}.footer__muted{max-width:34ch;margin-inline:auto}.footer__bottom-inner{flex-direction:column;justify-content:center;text-align:center;gap:5px}.modal{max-height:92vh}.modal__body{padding:20px 18px 24px}.mobile-cart-bar{display:flex}.toast{bottom:84px;left:12px;right:12px;transform:none;justify-content:center}@keyframes toast-in{0%{opacity:0;transform:translateY(16px)}}}@media (max-width: 380px){.product-grid{grid-template-columns:1fr}}
