﻿
        *, *::before, *::after { box-sizing: border-box; }
        a:visited { text-decoration: none; }

        /* â”€â”€â”€ PAGE LOADER â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
        #page-loader { position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;pointer-events:all;transition:opacity .5s ease; }
        #page-loader-bg { position:absolute;inset:0;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);background:rgba(248,247,244,.88); }
        #page-loader-logo { position:relative;z-index:1;width:200px;height:auto;animation:loaderPop .5s cubic-bezier(.34,1.56,.64,1) forwards,loaderPulse 1.4s ease-in-out .5s infinite; }
        @keyframes loaderPop  { 0%{opacity:0;transform:scale(.7)} 100%{opacity:1;transform:scale(1)} }
        @keyframes loaderPulse{ 0%,100%{transform:scale(1)} 50%{transform:scale(1.07)} }
        #page-loader.hide { opacity:0;pointer-events:none; }

        /* â”€â”€â”€ HERO â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
        .m-hero {
            background: #f8f7f4;
            padding: 9rem 2rem 4rem;
            text-align: center;
            position: relative;
            overflow: hidden;
        }
        .m-hero-tag {
            font-family: main, serif;
            font-size: 6rem;
            font-weight: 100;
            color: #1a1a1a;
            line-height: 1.1;
            letter-spacing: -1px;
            margin: 0;
            opacity: 0;
            animation: fadeUp .5s .3s forwards;
        }
        .m-hero-title {
            font-family: main, serif;
            font-size: 8.5rem;
            font-weight: 100;
            color: #1a1a1a;
            line-height: 1;
            letter-spacing: -2px;
            margin: 0;
            opacity: 0;
            animation: fadeUp .5s .55s forwards;
        }

        /* â”€â”€â”€ FILTER BAR â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
        .m-filter-bar {
            position: sticky;
            top: 5.6rem;
            z-index: 100;
            background: #f8f7f4;
            border-bottom: 1px solid #e5e2da;
            padding: 2.8rem 4rem;
        }
        .m-filter-scroll {
            max-width: 1440px;
            margin: 0 auto;
            display: flex;
            justify-content: center;
            overflow-x: auto;
            scrollbar-width: none;
            gap: 3rem;
        }
        .m-filter-scroll::-webkit-scrollbar { display: none; }
        .mfb {
            font-family: nav, sans-serif;
            font-size: 1.1rem;
            letter-spacing: 3px;
            text-transform: uppercase;
            color: #bbb;
            background: none;
            border: none;
            padding: 1.2rem 0;
            cursor: pointer;
            white-space: nowrap;
            transition: color .25s ease;
            outline: none;
            flex-shrink: 0;
            -webkit-tap-highlight-color: transparent;
            position: relative;
        }
        .mfb::after {
            content: '';
            position: absolute;
            bottom: 0; left: 0;
            width: 100%; height: 2.5px;
            background: #1a1a1a;
            transform: scaleX(0);
            transform-origin: left;
            transition: transform .3s cubic-bezier(.4,0,.2,1);
        }
        .mfb:hover  { color: #1a1a1a; }
        .mfb:hover::after { transform: scaleX(1); }
        .mfb.active { color: #1a1a1a; }
        .mfb.active::after { transform: scaleX(1); }

        /* â”€â”€â”€ BODY WRAPPER â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
        .m-body { background: #f8f7f4; padding: 0 4rem 8rem; }
        .m-wrap { max-width: 1440px; margin: 0 auto; }

        /* â”€â”€â”€ SECTION â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
        .m-sec { padding-top: 1px; }

        .m-sec-hd {
            padding: 3rem 0 .8rem;
            border-bottom: 2px solid #ece9e2;
            margin-bottom: 2rem;
        }
        .m-sec-hd h2 {
            font-family: main, serif;
            font-size: 4rem;
            font-weight: 100;
            color: #252525;
            letter-spacing: -1px;
            margin: 0 0 .3rem;
            line-height: 1;
        }
        .m-sec-hd p {
            font-family: nav, sans-serif;
            font-size: 1rem;
            letter-spacing: 3px;
            text-transform: uppercase;
            color: #bbb;
            margin: 0;
            line-height: 1.7;
        }

        /* â”€â”€â”€ GRIDS â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
        .m-grid   { display: grid; grid-template-columns: repeat(3,1fr); gap: 1.8rem; }
        .m-grid-2 { display: grid; grid-template-columns: repeat(2,1fr); gap: 1.8rem; }

        /* â”€â”€â”€ BASE CARD â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
        .mc {
            background: #fff;
            border-radius: 10px;
            border: none;
            overflow: hidden;
            display: flex;
            flex-direction: row;
            align-items: stretch;
            box-shadow: 0 2px 20px rgba(0,0,0,.05);
            transition: transform .4s ease, box-shadow .4s ease;
        }
        .mc:hover { transform: translateY(-6px); box-shadow: 0 20px 48px rgba(0,0,0,.10); }

        /* image area â€” right side */
        .mc-img {
            background: transparent;
            width: 150px;
            flex-shrink: 0;
            order: 2;
            display: flex;
            align-items: center;
            justify-content: center;
            overflow: visible;
            padding: .8rem;
        }
        .mc-img img {
            width: 100%;
            max-height: 150px;
            object-fit: contain;
            filter: drop-shadow(0 18px 32px rgba(0,0,0,.14));
            transition: transform .4s ease, filter .4s ease;
        }
        .mc:hover .mc-img img {
            transform: scale(1.06) translateY(-4px);
            filter: drop-shadow(0 22px 36px rgba(0,0,0,.20));
        }

        /* card body â€” left side */
        .mc-bd {
            padding: 1.4rem 1.6rem 1.8rem;
            display: flex;
            flex-direction: column;
            flex: 1;
            order: 1;
        }
        .mc-cat {
            font-family: nav, sans-serif;
            font-size: 1.2rem;
            letter-spacing: 2.5px;
            text-transform: uppercase;
            color: #aaa;
            margin-bottom: .3rem;
            display: block;
        }
        .mc-name {
            font-family: nav, sans-serif;
            font-size: 1.6rem;
            font-weight: 700;
            letter-spacing: 2px;
            text-transform: uppercase;
            color: #252525;
            margin-bottom: .5rem;
            line-height: 1.35;
            display: flex;
            align-items: center;
            gap: .5rem;
        }
        .mc-name > span { white-space: nowrap; }
        .mc-desc {
            font-family: var(--body-font), sans-serif;
            font-size: 1.2rem;
            color: #999;
            line-height: 1.65;
            margin-bottom: .8rem;
        }
        .mc-price {
            font-family: nav, sans-serif;
            font-size: 1.8rem;
            font-weight: 700;
            color: #f39c1a;
            letter-spacing: .5px;
            margin-top: auto;
        }

        /* NEW badge */
        @keyframes newPop { 0%,100%{transform:scale(1)} 40%{transform:scale(1.25)} 60%{transform:scale(.92)} 80%{transform:scale(1.1)} }
        .mc-new {
            height: 14px; width: auto; max-width: 44px;
            object-fit: contain; flex-shrink: 0;
            animation: newPop 1.8s ease-in-out infinite;
        }

        /* flavour button */
        .mc-flv {
            display: inline-flex; align-items: center; gap: .5rem;
            background: transparent; border: none;
            color: #bbb; font-family: nav, sans-serif;
            font-size: 1.1rem; letter-spacing: 2.5px;
            text-transform: uppercase; padding: .6rem 0 0;
            cursor: pointer; position: relative;
            align-self: flex-start; transition: color .25s;
            outline: none; -webkit-tap-highlight-color: transparent;
            margin-top: auto;
        }
        .mc-flv::after {
            content: ''; position: absolute;
            bottom: 0; left: 0; width: 100%; height: 1px;
            background: #1a1a1a; transform: scaleX(0);
            transform-origin: left; transition: transform .3s ease;
        }
        .mc-flv:hover { color: #1a1a1a; }
        .mc-flv:hover::after { transform: scaleX(1); }

        /* â”€â”€â”€ SCOOP PRICE TABLE â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
        .mc-table { width: 100%; margin-top: .7rem; }
        .mc-tr {
            display: flex; justify-content: space-between;
            align-items: center; padding: .5rem 0;
            border-bottom: 1px solid #ece9e2; font-size: 1.5rem;
        }
        .mc-tr:last-child { border-bottom: none; padding-bottom: 0; }
        .mc-tname { font-family: var(--body-font), sans-serif; color: #777; }
        .mc-tprice { font-family: nav, sans-serif; font-weight: 700; color: #f39c1a; letter-spacing: .5px; }

        /* â”€â”€â”€ FULL-WIDTH CARD (platters) â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
        .mc--full {
            grid-column: 1 / -1;
            flex-direction: row;
            align-items: stretch;
        }
        .mc--full .mc-img { order: 2; width: 260px; height: auto; flex-shrink: 0; border-radius: 0; background: transparent; overflow: visible; align-items: center; }
        .mc--full .mc-bd  { order: 1; padding: 2.2rem 2.6rem; justify-content: center; }
        .mc--full .mc-desc{ max-width: 560px; }

        /* â”€â”€â”€ SPLIT CARD (cold coffee / ice coffee) â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
        .mc--split {
            grid-column: 1 / -1;
            display: grid;
            grid-template-columns: 1fr 220px;
        }
        .mc--split > :nth-child(1) { grid-column: 1; padding: 2rem 2.4rem 1rem; }
        .mc--split .mc-divider    { grid-column: 1; width: auto; height: 1px; margin: 0 2.4rem; align-self: center; }
        .mc--split > :nth-child(3) { grid-column: 1; padding: 1rem 2.4rem 2rem; }
        .mc--split .mc-img        { grid-column: 2; grid-row: 1 / 4; align-self: center; }
        .mc-split-ft              { grid-column: 1 / -1; padding: .4rem 2.4rem 1.4rem; }
        .mc--split .mc-half {
            display: flex; flex-direction: column; gap: .4rem;
        }
        .mc--split .mc-divider {
            background: #ece9e2; flex-shrink: 0;
        }
        .mc--split .mc-img {
            width: 210px; height: auto; flex-shrink: 0;
            background: transparent; border-radius: 0;
            padding: 1rem; overflow: visible;
        }
        .mc--split .mc-img img { width: 100%; max-height: 200px; filter: drop-shadow(0 16px 28px rgba(0,0,0,.14)); }

        /* span-2 card (banana split) â€” row, image right */
        .mc--span2 { grid-column: span 2; }
        .mc--span2 .mc-img { width: 260px; padding: 1.5rem; }
        .mc--span2 .mc-img img { max-height: 240px; }

        /* â”€â”€â”€ STAMP â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
        #m-stamp {
            position: fixed; bottom: 2.5rem; right: 3rem;
            width: 130px; opacity: .10; pointer-events: none; z-index: 50;
        }

        /* â”€â”€â”€ FLAVOUR DRAWER â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
        .flv-drawer-backdrop { display:none;position:fixed;top:5.8rem;left:0;right:0;bottom:0;background:rgba(0,0,0,.35);z-index:999; }
        .flv-drawer-backdrop.open { display:block; }
        .flv-drawer { position:fixed;top:5.8rem;right:-55%;width:50%;height:calc(100vh - 5.8rem);background:#fff;z-index:1000;display:flex;flex-direction:column;box-shadow:-8px 0 40px rgba(0,0,0,.15);transition:right .35s cubic-bezier(.4,0,.2,1); }
        .flv-drawer.open { right:0; }
        .flv-drawer-header { display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:2rem 2rem 1.5rem;border-bottom:1px solid #ece9e2;background:#faf9f6; }
        .flv-drawer-label  { font-family:nav,sans-serif;font-size:.85rem;letter-spacing:2.5px;text-transform:uppercase;color:#C8A87A;margin-bottom:.5rem; }
        .flv-drawer-title  { font-family:main,serif;font-size:3rem;color:#1a1a1a;line-height:1.1;margin-bottom:.6rem; }
        .flv-drawer-sub    { font-family:var(--body-font),sans-serif;font-size:1rem;color:#999;line-height:1.5;max-width:340px; }
        .flv-slide-close   { background:none;border:1px solid #ddd;border-radius:50%;width:36px;height:36px;cursor:pointer;color:#888;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:border-color .2s,color .2s;outline:none; }
        .flv-slide-close:hover { border-color:#333;color:#333; }
        .flv-drawer-body   { flex:1;overflow-y:auto;padding:1.5rem 2rem; }
        .flv-drawer-list-heading { font-family:nav,sans-serif;font-size:.88rem;letter-spacing:2.5px;text-transform:uppercase;color:#C8A87A;margin-bottom:1rem; }
        .flv-drawer-list   { list-style:none;margin:0;padding:0; }
        .flv-drawer-item   { display:flex;align-items:center;gap:1.5rem;padding:1rem 0;border-bottom:1px solid #f0ede7; }
        .flv-drawer-item:last-child { border-bottom:none; }
        .flv-drawer-img-wrap { width:180px;height:180px;display:flex;align-items:center;justify-content:center;flex-shrink:0; }
        .flv-drawer-img-wrap img { width:170px;height:170px;object-fit:contain; }
        .flv-drawer-info   { display:flex;flex-direction:column;gap:.4rem; }
        .flv-drawer-name   { font-family:var(--body-font),sans-serif;font-size:2rem;color:#222;font-weight:500;line-height:1.2; }
        .flv-drawer-desc   { font-family:var(--body-font),sans-serif;font-size:.88rem;color:#999;line-height:1.6;max-width:340px; }
        .flv-topping-item  { display:flex;align-items:center;gap:1rem;padding:.85rem 0;border-bottom:1px solid #f0ede7;font-family:var(--body-font),sans-serif;font-size:1.1rem;color:#333; }
        .flv-topping-item:last-child { border-bottom:none; }
        .flv-topping-bullet{ width:6px;height:6px;border-radius:50%;background:#1a1a1a;flex-shrink:0; }

        /* â”€â”€â”€ RESPONSIVE â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
        @media screen and (max-width: 1024px) {
            .m-grid   { grid-template-columns: repeat(2,1fr); }
            .m-grid-2 { grid-template-columns: repeat(2,1fr); }
            .mc--span2 { grid-column: span 2; }
            .mc--full  { flex-direction: column; }
            .mc--full .mc-img { width: 100%; min-height: 200px; padding: 1.5rem; }
            .mc--split { flex-direction: column; }
            .mc--split .mc-img { width: 100%; min-height: 180px; padding: 1rem; }
            .mc--split .mc-divider { width: auto; height: 1px; margin: 0 1.5rem; }
        }
        @media screen and (max-width: 640px) {
            .m-hero { padding: 7rem 1.5rem 2.5rem; }
            .m-hero-tag   { font-size: 3.5rem; }
            .m-hero-title { font-size: 5.5rem; letter-spacing: -1px; }
            .m-filter-bar { padding: 1.2rem 0; }
            .m-filter-scroll { gap: 2rem; justify-content: flex-start; }
            .mfb { font-size: .95rem; padding: .8rem 0; }
            .m-body { padding: 0 2rem 5rem; }
            .m-filter-bar { padding: 1.2rem 2rem; }
            .m-grid, .m-grid-2 { grid-template-columns: 1fr; gap: 1.2rem; }
            .mc--span2 { grid-column: span 1; }
            .mc-img { width: 100px; padding: .6rem; }
            .mc-img img { max-height: 100px; }
            .m-sec[data-category="waffle"] .mc-img { width: 140px; }
            .m-sec[data-category="waffle"] .mc-img img { max-height: 140px; }
            .mc--span2 { flex-direction: column; }
            .mc--span2 .mc-bd  { order: 0; }
            .mc--span2 .mc-img { order: 1; width: 100%; padding: .5rem 1rem 1.5rem; }
            .mc--span2 .mc-img img { max-height: 200px; }
            .mc--full .mc-bd  { order: 0; padding: 1.4rem 1.4rem .6rem; }
            .mc--full .mc-img { order: 1; width: 100%; min-height: 0; padding: 1.2rem; }
            .mc--full .mc-img img { max-height: 120px; }
            .mc--split { display: grid; grid-template-columns: 1fr 110px; }
            .mc--split > :nth-child(1) { grid-column: 1; padding: 1.2rem 1.2rem .5rem; }
            .mc--split .mc-divider    { grid-column: 1; width: auto; height: 1px; margin: 0 1.2rem; }
            .mc--split > :nth-child(3) { grid-column: 1; padding: .5rem 1.2rem 1.2rem; }
            .mc--split .mc-img { grid-column: 2; grid-row: 1 / 4; width: 100%; min-height: unset; padding: .6rem; align-self: center; }
            .mc--split .mc-img img { max-height: 120px; }
            .mc-split-ft { grid-column: 1 / -1; padding: .4rem 1.2rem 1.2rem; }
            .m-sec-hd h2 { font-size: 2.8rem; }
            .m-sec-hd p  { font-size: .85rem; }
            #m-stamp { display: none; }
            .flv-drawer { width: 92%; right: -95%; }
            .flv-drawer.open { right: 0; }
        }
        @media screen and (min-width: 1600px) {
            .m-body { padding: 0 6rem 9rem; }
            .m-filter-bar { padding: 2.5rem 6rem; }
        }
    
