    :root{
      --bg:#ffffff; --bg-2:#faf7f4; --panel:#ffffff; --line:rgba(20,20,20,.1);
      --line-2:rgba(20,20,20,.2);
      --cream:#faf7f4; --ink:#1a1818; --dim:#5f5a57; --faint:#9a938e;
      --ember:#e11b1b; --ember-2:#ff4d4d; --gold:#c9a24b; --wine:#a01515;
      --dark:#161212;
      --maxw:1240px;
    }
    *{box-sizing:border-box;margin:0;padding:0}
    html{scroll-behavior:smooth}
    body{background:var(--bg);color:var(--ink);font-family:'Inter',system-ui,sans-serif;font-weight:400;line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden}
    h1,h2,h3,h4,.serif{font-family:'Poppins',sans-serif;font-weight:700;line-height:1.1;letter-spacing:-.01em}
    a{color:inherit;text-decoration:none}
    img{max-width:100%;display:block}
    .msi{font-family:'Material Symbols Rounded';line-height:1;vertical-align:middle;display:inline-block;font-weight:300}
    .wrap{max-width:var(--maxw);margin:0 auto;padding:0 30px}
    .ember{color:var(--ember)}
    .eyebrow{font-family:'Poppins';font-weight:600;font-size:.74rem;letter-spacing:.28em;text-transform:uppercase;color:var(--ember)}

    /* demo banner — fixed strip at the very top, header sits below it */
    .demo-banner{position:fixed;top:0;left:0;right:0;z-index:70;background:var(--ember);color:#fff;font-size:.78rem;letter-spacing:.04em;text-align:center;padding:8px 14px;font-weight:600;height:34px}
    .demo-banner a{text-decoration:underline}

    /* nav — offset below the 34px demo banner so it never overlaps */
    header{position:fixed;top:34px;left:0;right:0;z-index:50;transition:.4s}
    header.scrolled{background:rgba(255,255,255,.95);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
    .nav{display:flex;align-items:center;justify-content:space-between;height:84px}
    .brand{font-family:'Poppins';font-size:1.4rem;font-weight:800;letter-spacing:.02em;text-transform:uppercase}
    .brand .amp{color:var(--ember)}
    .nav-links{display:flex;gap:32px;align-items:center}
    .nav-links a.link{font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;color:var(--dim);font-weight:600;transition:.2s;position:relative}
    .nav-links a.link::after{content:"";position:absolute;left:0;bottom:-6px;width:0;height:2px;background:var(--ember);transition:.3s}
    .nav-links a.link:hover{color:var(--ink)}.nav-links a.link:hover::after{width:100%}
    .menu-btn{display:none;background:none;border:0;color:var(--ink);cursor:pointer}
    /* transparent header over the dark hero photo → white nav text */
    header:not(.scrolled) .brand,header:not(.scrolled) .nav-links a.link,header:not(.scrolled) .menu-btn{color:#fff}
    header:not(.scrolled) .nav-links a.link:hover{color:var(--ember-2)}
    .btn{display:inline-flex;align-items:center;gap:9px;font-family:'Poppins';font-size:.78rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;padding:14px 28px;cursor:pointer;border:2px solid var(--ember);transition:.28s;border-radius:3px}
    .btn-ember{background:var(--ember);color:#fff}
    .btn-ember:hover{background:#b81414;border-color:#b81414}
    .btn-out{background:transparent;color:var(--ink);border-color:var(--line-2)}
    .btn-out:hover{border-color:var(--ember);color:var(--ember)}
    header:not(.scrolled) .btn-out{color:#fff;border-color:rgba(255,255,255,.5)}
    header:not(.scrolled) .btn-out:hover{border-color:#fff}

    /* hero */
    .hero{position:relative;min-height:100vh;display:flex;align-items:flex-end;overflow:hidden}
    .hero .bg{position:absolute;inset:0;z-index:0}
    .hero .bg img{width:100%;height:100%;object-fit:cover;transform:scale(1.1);animation:heroZoom 9s ease forwards}
    @keyframes heroZoom{to{transform:scale(1)}}
    .hero .scrim{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(22,18,16,.55) 0%,rgba(22,18,16,.15) 35%,rgba(22,18,16,.92) 100%)}
    .hero-in{position:relative;z-index:2;width:100%;padding-bottom:90px}
    .hero .eyebrow{display:block;margin-bottom:22px;opacity:0;animation:fadeUp 1s .3s forwards}
    .hero h1{font-size:clamp(3rem,9vw,8rem);font-weight:500;letter-spacing:-.02em;color:#fff}
    .hero h1 .l{display:block;overflow:hidden}
    .hero h1 .l span{display:block;transform:translateY(110%);animation:lineUp 1s cubic-bezier(.16,1,.3,1) forwards}
    .hero h1 .l:nth-child(1) span{animation-delay:.4s}
    .hero h1 .l:nth-child(2) span{animation-delay:.56s}
    .hero h1{text-transform:uppercase}
    .hero h1 em{font-style:normal;color:var(--ember-2)}
    @keyframes lineUp{to{transform:none}}
    .hero-row{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-top:34px;flex-wrap:wrap}
    .hero-row p{max-width:380px;color:rgba(255,255,255,.85);font-size:1.05rem;opacity:0;animation:fadeUp 1s .9s forwards}
    .hero-row .cta{opacity:0;animation:fadeUp 1s 1.05s forwards;display:flex;gap:12px;flex-wrap:wrap}
    @keyframes fadeUp{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}

    /* marquee tagline */
    .marquee{background:var(--ember);color:#fff;overflow:hidden;padding:16px 0}
    .marquee .track{display:flex;width:max-content;animation:scroll 24s linear infinite}
    .marquee .track span{font-family:'Poppins';font-weight:700;font-size:1.35rem;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;padding:0 .5em;display:flex;align-items:center;gap:.6em}
    .marquee .track .dot{width:7px;height:7px;border-radius:50%;background:#fff;display:inline-block}
    @keyframes scroll{to{transform:translateX(-50%)}}

    section{position:relative}
    .pad{padding:120px 0}
    .sec-eyebrow{display:flex;align-items:center;gap:14px;margin-bottom:18px}
    .sec-eyebrow::before{content:"";width:40px;height:1px;background:var(--ember)}

    /* about */
    .about-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
    .about-grid .imgwrap{position:relative}
    .about-grid .imgwrap img{width:100%;border-radius:4px;aspect-ratio:4/5;object-fit:cover}
    .about-grid .imgwrap .badge{position:absolute;bottom:-28px;right:-28px;background:var(--ember);color:#fff;width:150px;height:150px;border-radius:50%;display:grid;place-items:center;text-align:center;font-family:'Poppins';font-weight:700;line-height:1.2;padding:18px;transform:rotate(-8deg)}
    .about-txt h2{font-size:clamp(2.2rem,4.5vw,3.4rem);margin:6px 0 22px;text-transform:uppercase}
    .about-txt h2 em{font-style:normal;color:var(--ember)}
    .about-txt p{color:var(--dim);margin-bottom:20px;font-size:1.05rem}
    .stats{display:flex;gap:44px;margin-top:30px;flex-wrap:wrap}
    .stat .n{font-family:'Poppins';font-size:2.6rem;font-weight:600;color:var(--ember);line-height:1}
    .stat .l{color:var(--faint);font-size:.85rem;letter-spacing:.04em;margin-top:4px}

    /* menu */
    .menu{background:var(--bg-2)}
    .sec-head{text-align:center;max-width:620px;margin:0 auto 64px}
    .sec-head .sec-eyebrow{justify-content:center}.sec-head .sec-eyebrow::after{content:"";width:40px;height:1px;background:var(--ember)}
    .sec-head h2{font-size:clamp(2.2rem,5vw,3.6rem);margin-bottom:14px;text-transform:uppercase}
    .sec-head h2 em{font-style:normal;color:var(--ember)}
    .sec-head p{color:var(--dim)}
    /* menu: 2-up rows; each item = square image + text block side-by-side,
       alternating image/text order (zig-zag) */
    .dishes{display:grid;grid-template-columns:1fr 1fr;gap:46px 48px}
    .dish{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:stretch}
    .dish .ph{aspect-ratio:1;overflow:hidden;background:var(--cream)}
    .dish .ph img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
    .dish:hover .ph img{transform:scale(1.06)}
    /* alternate: 2nd item in each row shows text first, image second */
    .dish.flip{direction:rtl}
    .dish.flip .body{direction:ltr}
    .dish .body{display:flex;flex-direction:column}
    .dish .body h3{font-family:'Poppins';font-weight:700;font-size:clamp(1.3rem,2vw,1.7rem);text-transform:uppercase;letter-spacing:-.01em;line-height:1.15}
    .dish .body .meta{display:flex;justify-content:space-between;align-items:baseline;margin-top:12px}
    .dish .body .meta .start{font-family:'Poppins';font-weight:600;font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ember)}
    .dish .body .meta .price{font-family:'Poppins';font-weight:700;font-size:1.25rem;color:var(--ember)}
    .dish .body p{color:var(--dim);font-size:.95rem;margin-top:auto;padding-top:22px}
    .dish .order{display:flex;align-items:center;justify-content:space-between;margin-top:18px;border:1px solid var(--line-2);
      font-family:'Poppins';font-weight:600;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ember);
      padding:14px 18px;cursor:pointer;transition:.25s;border-radius:2px}
    .dish .order:hover{background:var(--ember);color:#fff;border-color:var(--ember)}
    .dish .order .msi{font-size:1.3rem}
    .menu-cta{text-align:center;margin-top:64px}
    @media(max-width:1000px){.dishes{grid-template-columns:1fr;gap:40px}}
    @media(max-width:560px){.dish{grid-template-columns:1fr;gap:18px}.dish.flip{direction:ltr}.dish .ph{aspect-ratio:4/3}}

    /* chefs carousel */
    .chefs{overflow:hidden}
    .chef-track{display:flex;gap:26px;transition:transform .6s cubic-bezier(.4,0,.2,1)}
    .chef{flex:0 0 calc((100% - 52px)/3);background:var(--panel);border:1px solid var(--line);border-radius:4px;overflow:hidden}
    .chef .ph{aspect-ratio:5/6;overflow:hidden}
    .chef .ph img{width:100%;height:100%;object-fit:cover;transition:.6s;filter:grayscale(.3)}
    .chef:hover .ph img{filter:grayscale(0);transform:scale(1.05)}
    .chef .body{padding:22px;text-align:center}
    .chef .body h3{font-size:1.4rem}
    .chef .body .role{color:var(--ember);font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;margin-top:4px}
    .carousel-nav{display:flex;gap:12px;justify-content:center;margin-top:36px}
    .carousel-nav button{width:46px;height:46px;border:1px solid var(--line-2);background:transparent;color:var(--ink);cursor:pointer;display:grid;place-items:center;transition:.2s;border-radius:50%}
    .carousel-nav button:hover{background:var(--ember);color:#fff;border-color:var(--ember)}

    /* gallery — 3D coverflow carousel */
    .gallery{background:var(--bg-2);overflow:hidden}
    .cf-stage{position:relative;height:600px;margin-top:30px;perspective:1900px;perspective-origin:50% 45%}
    .cf-track{position:absolute;inset:0;transform-style:preserve-3d}
    .cf-item{position:absolute;top:50%;left:50%;width:580px;height:400px;margin:-200px 0 0 -290px;
      border-radius:14px;overflow:hidden;cursor:pointer;
      transition:transform .8s cubic-bezier(.3,.8,.2,1), opacity .8s ease, filter .8s ease;
      box-shadow:0 30px 60px rgba(0,0,0,.5);backface-visibility:hidden}
    .cf-item img{width:100%;height:100%;object-fit:cover}
    .cf-item::after{content:"";position:absolute;inset:0;background:rgba(22,18,16,.55);transition:.6s}
    .cf-item.active::after{opacity:0}
    .cf-item:not(.active){filter:brightness(.7)}
    /* the active centered slide caption + ember frame */
    .cf-item.active{box-shadow:0 40px 90px rgba(0,0,0,.6),0 0 0 3px var(--ember)}
    .cf-cap{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:22px;color:#fff;
      background:linear-gradient(transparent,rgba(22,18,16,.85));
      font-family:'Poppins';font-weight:600;font-size:1.2rem;opacity:0;transform:translateY(10px);transition:.5s}
    .cf-item.active .cf-cap{opacity:1;transform:none}
    /* controls */
    .cf-nav{display:flex;gap:14px;justify-content:center;align-items:center;margin-top:34px}
    .cf-nav button{width:50px;height:50px;border:1px solid var(--line-2);background:transparent;color:var(--ink);
      cursor:pointer;display:grid;place-items:center;border-radius:50%;transition:.2s}
    .cf-nav button:hover{background:var(--ember);color:#fff;border-color:var(--ember)}
    .cf-nav button .msi{font-size:1.5rem}
    .cf-dots{display:flex;gap:8px}
    .cf-dots b{width:9px;height:9px;border-radius:50%;background:var(--line-2);cursor:pointer;transition:.3s}
    .cf-dots b.on{background:var(--ember);width:26px;border-radius:6px}
    @media(max-width:980px){.cf-stage{height:480px}.cf-item{width:440px;height:300px;margin:-150px 0 0 -220px}}
    @media(max-width:720px){.cf-stage{height:380px}.cf-item{width:320px;height:230px;margin:-115px 0 0 -160px}}
    @media(max-width:440px){.cf-stage{height:320px}.cf-item{width:250px;height:180px;margin:-90px 0 0 -125px}}

    /* events */
    .ev-list{display:flex;flex-direction:column;gap:0}
    .ev{display:grid;grid-template-columns:auto 1fr auto;gap:34px;align-items:center;padding:30px 0;border-top:1px solid var(--line);transition:.3s}
    .ev:last-child{border-bottom:1px solid var(--line)}
    .ev:hover{padding-left:18px}
    .ev .date{font-family:'Poppins';text-align:center;border-right:1px solid var(--line);padding-right:34px}
    .ev .date .d{font-size:2.4rem;font-weight:600;color:var(--ember);line-height:1}
    .ev .date .m{font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:var(--faint)}
    .ev .info h3{font-size:1.6rem}
    .ev .info p{color:var(--dim);font-size:.92rem;margin-top:4px}
    .ev .go{color:var(--faint);transition:.3s}.ev:hover .go{color:var(--ember);transform:translateX(6px)}

    /* booking band */
    .book{position:relative;overflow:hidden}
    .book .bg{position:absolute;inset:0}.book .bg img{width:100%;height:100%;object-fit:cover}
    .book .scrim{position:absolute;inset:0;background:linear-gradient(90deg,rgba(22,18,16,.95),rgba(22,18,16,.7))}
    .book .inner{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
    .book h2{font-size:clamp(2.2rem,4.5vw,3.4rem);margin:8px 0 16px;color:#fff;text-transform:uppercase}
    .book h2 em{font-style:normal;color:var(--ember-2)}
    .book .inner>div:first-child{color:#fff}
    .book p{color:rgba(255,255,255,.8);margin-bottom:10px}
    .book-form{background:#fff;border:1px solid var(--line);border-radius:6px;padding:34px;box-shadow:0 30px 70px rgba(0,0,0,.3)}
    .book-form .row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}
    .book-form label{display:block;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--faint);margin-bottom:6px}
    .book-form input,.book-form select{width:100%;background:var(--bg);border:1px solid var(--line-2);color:var(--ink);padding:12px 14px;font-family:'Inter';font-size:.95rem;border-radius:3px}
    .book-form input:focus,.book-form select:focus{outline:none;border-color:var(--ember)}
    .book-form .btn{width:100%;justify-content:center;margin-top:8px}

    /* footer (dark contrast block) */
    footer{background:var(--dark);padding:80px 0 34px;color:#cfc9c4}
    .foot-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.4fr;gap:44px}
    .foot-brand .brand{font-size:1.7rem;margin-bottom:14px;display:inline-block;color:#fff}
    .foot-brand p{color:#8f8884;font-size:.92rem;max-width:300px}
    .foot-col h5{font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:#fff;margin-bottom:16px}
    .foot-col a{display:block;color:#8f8884;font-size:.92rem;margin-bottom:11px;transition:.2s}
    .foot-col a:hover{color:var(--ember-2)}
    .foot-col .ci{display:flex;gap:9px;color:#8f8884;font-size:.92rem;margin-bottom:11px}
    .foot-col .ci .msi{color:var(--ember-2);font-size:1.1rem}
    .socials{display:flex;gap:10px;margin-top:14px}
    .socials a{width:38px;height:38px;border:1px solid rgba(255,255,255,.15);display:grid;place-items:center;color:#cfc9c4;transition:.2s;border-radius:50%}
    .socials a:hover{background:var(--ember);color:#fff;border-color:var(--ember)}
    .foot-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:50px;padding-top:26px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;color:#8f8884;font-size:.82rem}

    /* nav actions (search / fav / cart) */
    .nav-actions{display:flex;align-items:center;gap:8px}
    .nav-ic{position:relative;width:42px;height:42px;border:0;background:transparent;color:var(--ink);cursor:pointer;display:grid;place-items:center;border-radius:50%;transition:.2s}
    .nav-ic:hover{background:rgba(225,27,27,.1);color:var(--ember)}
    .nav-ic .msi{font-size:1.3rem}
    header:not(.scrolled) .nav-ic{color:#fff}
    header:not(.scrolled) .nav-ic:hover{background:rgba(255,255,255,.15);color:#fff}
    .ic-badge{position:absolute;top:4px;right:4px;background:var(--ember);color:#fff;font-family:'Poppins';font-weight:700;font-size:.6rem;min-width:16px;height:16px;border-radius:9px;display:grid;place-items:center;padding:0 4px}

    /* search panel */
    .search-panel{position:fixed;inset:0;z-index:120;background:rgba(255,255,255,.98);backdrop-filter:blur(8px);opacity:0;visibility:hidden;transition:.3s;padding-top:90px}
    .search-panel.on{opacity:1;visibility:visible}
    .search-box{display:flex;align-items:center;gap:14px;border-bottom:2px solid var(--ink);padding:14px 0}
    .search-box .msi{font-size:1.8rem;color:var(--ember)}
    .search-box input{flex:1;border:0;background:transparent;font-family:'Poppins';font-size:clamp(1.2rem,3vw,2rem);font-weight:500;color:var(--ink)}
    .search-box input:focus{outline:none}
    .search-results{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;margin-top:30px;max-height:60vh;overflow-y:auto}
    .sr-item{display:flex;gap:14px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:6px;cursor:pointer;transition:.2s}
    .sr-item:hover{border-color:var(--ember);background:var(--cream)}
    .sr-item img{width:60px;height:60px;border-radius:6px;object-fit:cover}
    .sr-item h4{font-family:'Poppins';font-size:1rem}
    .sr-item .p{color:var(--ember);font-weight:700;font-size:.9rem}
    .sr-empty{color:var(--faint);padding:30px 0}

    /* today's deals */
    .deals{background:var(--cream)}
    /* edge fade via overlay gradients (cheaper than -webkit-mask on an
       animating element, which forces a costly re-composite every frame) */
    .deal-marquee{position:relative;overflow:hidden;padding:6px 0}
    .deal-marquee::before,.deal-marquee::after{content:"";position:absolute;top:0;bottom:0;width:80px;z-index:3;pointer-events:none}
    .deal-marquee::before{left:0;background:linear-gradient(90deg,var(--cream),transparent)}
    .deal-marquee::after{right:0;background:linear-gradient(270deg,var(--cream),transparent)}
    .deal-track{display:flex;gap:24px;width:max-content;animation:dealScroll 40s linear infinite;
      will-change:transform;backface-visibility:hidden}
    .deal-marquee:hover .deal-track{animation-play-state:paused}
    @keyframes dealScroll{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
    .deal{flex:0 0 300px;background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden;cursor:pointer;transition:.3s;position:relative}
    .deal:hover{transform:translateY(-6px);box-shadow:0 20px 40px rgba(0,0,0,.12)}
    .deal .ph{aspect-ratio:4/3;overflow:hidden;position:relative}
    .deal .ph img{width:100%;height:100%;object-fit:cover;transition:.6s}
    .deal:hover .ph img{transform:scale(1.08)}
    .deal .offer{position:absolute;top:12px;left:12px;background:var(--ember);color:#fff;font-family:'Poppins';font-weight:700;font-size:.72rem;letter-spacing:.04em;padding:5px 11px;border-radius:20px}
    .deal .heart{position:absolute;top:10px;right:10px;width:36px;height:36px;border:0;border-radius:50%;background:rgba(255,255,255,.9);color:#888;cursor:pointer;display:grid;place-items:center;transition:.2s;z-index:2}
    .deal .heart:hover{color:var(--ember)}
    .deal .heart.on{color:var(--ember)}
    .deal .heart.on .msi{font-variation-settings:'FILL' 1}
    .deal .body{padding:16px 18px 18px}
    .deal .body h3{font-family:'Poppins';font-weight:600;font-size:1.15rem;text-transform:none}
    .deal .body .cat{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--faint);margin-top:2px}
    .deal .body .rate{display:inline-flex;align-items:center;gap:4px;background:#1a7d3c;color:#fff;font-size:.72rem;font-weight:700;padding:2px 7px;border-radius:4px;margin-top:8px}
    .deal .body .rate .msi{font-size:.85rem}
    .deal .priceline{display:flex;align-items:center;justify-content:space-between;margin-top:12px}
    .deal .priceline .now{font-family:'Poppins';font-weight:700;font-size:1.2rem;color:var(--ink)}
    .deal .priceline .was{color:var(--faint);text-decoration:line-through;font-size:.9rem;margin-left:8px}
    .deal .addbtn{border:1px solid var(--ember);color:var(--ember);background:#fff;font-family:'Poppins';font-weight:700;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;padding:8px 14px;border-radius:6px;cursor:pointer;transition:.2s}
    .deal .addbtn:hover{background:var(--ember);color:#fff}
    .deals-hint{text-align:center;color:var(--faint);font-size:.85rem;margin-top:26px;display:flex;align-items:center;justify-content:center;gap:8px}
    .deals-hint .msi{color:var(--ember)}

    /* backdrop + drawers */
    .backdrop{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:130;opacity:0;visibility:hidden;transition:.3s}
    .backdrop.on{opacity:1;visibility:visible}
    .drawer{position:fixed;top:0;right:0;height:100%;width:min(420px,92vw);background:#fff;z-index:140;transform:translateX(100%);transition:transform .35s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column}
    .drawer.on{transform:none}
    .drawer-head{display:flex;align-items:center;justify-content:space-between;padding:22px 24px;border-bottom:1px solid var(--line)}
    .drawer-head h3{font-family:'Poppins';font-weight:700;font-size:1.3rem;text-transform:uppercase}
    .drawer-close{background:none;border:0;color:var(--dim);cursor:pointer}.drawer-close:hover{color:var(--ember)}
    .drawer-close .msi{font-size:1.5rem}
    .drawer-body{flex:1;overflow-y:auto;padding:14px 24px}
    .drawer-empty{text-align:center;color:var(--faint);padding:60px 14px;font-size:.95rem}
    .ci{display:flex;gap:14px;padding:16px 0;border-bottom:1px solid var(--line)}
    .ci img{width:66px;height:66px;border-radius:8px;object-fit:cover;flex-shrink:0}
    .ci .info{flex:1}.ci .info h4{font-family:'Poppins';font-weight:600;font-size:1rem}
    .ci .info .p{color:var(--ember);font-weight:700;font-size:.92rem;margin-top:2px}
    .ci .qty{display:inline-flex;align-items:center;border:1px solid var(--line-2);border-radius:6px;margin-top:8px}
    .ci .qty button{background:none;border:0;width:28px;height:28px;cursor:pointer;color:var(--ember);font-size:1.1rem;font-weight:700}
    .ci .qty span{min-width:26px;text-align:center;font-weight:600;font-size:.9rem}
    .ci .rm{background:none;border:0;color:var(--faint);cursor:pointer;align-self:flex-start}.ci .rm:hover{color:var(--ember)}
    .fi-add{border:1px solid var(--ember);color:var(--ember);background:#fff;font-family:'Poppins';font-weight:600;font-size:.72rem;text-transform:uppercase;padding:7px 12px;border-radius:6px;cursor:pointer;align-self:flex-start;margin-top:8px}
    .fi-add:hover{background:var(--ember);color:#fff}
    .drawer-foot{border-top:1px solid var(--line);padding:20px 24px}
    .sumrow{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px;font-size:.95rem}
    .sumrow.small{color:var(--dim);font-size:.85rem}
    .sumrow.total{border-top:1px solid var(--line);padding-top:12px;margin-top:6px;margin-bottom:16px;font-size:1.05rem}
    .sumrow.total strong{font-family:'Poppins';font-size:1.4rem;color:var(--ember)}

    /* modals */
    .modal{position:fixed;inset:0;z-index:150;display:none;place-items:center;padding:20px;background:rgba(0,0,0,.6)}
    .modal.on{display:grid}
    .modal-box{background:#fff;max-width:520px;width:100%;max-height:92vh;overflow:auto;border-radius:12px;padding:38px 36px;position:relative;animation:popIn .3s ease}
    @keyframes popIn{from{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}
    .modal-close{position:absolute;top:16px;right:16px;background:none;border:0;color:var(--dim);cursor:pointer}.modal-close:hover{color:var(--ember)}
    .modal-close .msi{font-size:1.5rem}
    .checkout-steps{display:flex;gap:8px;margin-bottom:26px}
    .cstep{flex:1;text-align:center;font-family:'Poppins';font-weight:600;font-size:.72rem;letter-spacing:.04em;text-transform:uppercase;color:var(--faint);padding-bottom:10px;border-bottom:2px solid var(--line)}
    .cstep.on{color:var(--ember);border-color:var(--ember)}
    .cpane{display:none}.cpane.on{display:block;animation:fadeUp .35s ease}
    .cpane h3{font-family:'Poppins';font-weight:700;font-size:1.4rem;margin-bottom:18px;text-transform:uppercase}
    .modal label{display:block;font-family:'Poppins';font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--faint);margin:14px 0 6px}
    .modal input,.modal select{width:100%;border:1px solid var(--line-2);border-radius:6px;padding:12px 14px;font-family:'Inter';font-size:.95rem;color:var(--ink)}
    .modal input:focus,.modal select:focus{outline:none;border-color:var(--ember)}
    .frow{display:grid;grid-template-columns:1fr 1fr;gap:12px}
    .order-summary{margin-top:18px;background:var(--cream);border-radius:8px;padding:14px 16px;font-size:.9rem}
    .order-summary .l{display:flex;justify-content:space-between;padding:4px 0;color:var(--dim)}
    .order-summary .l.t{font-weight:700;color:var(--ink);border-top:1px solid var(--line);margin-top:6px;padding-top:8px}
    .pay-opts{display:flex;flex-direction:column;gap:10px}
    .pay-opt{display:flex;align-items:center;gap:12px;border:1px solid var(--line-2);border-radius:8px;padding:14px;cursor:pointer;font-size:.95rem;text-transform:none;letter-spacing:0;color:var(--ink)}
    .pay-opt .msi{color:var(--ember)}
    .pay-opt:has(input:checked){border-color:var(--ember);background:var(--cream)}
    .linkbtn{background:none;border:0;color:var(--faint);cursor:pointer;font-family:'Inter';font-size:.85rem;margin-top:14px;width:100%}
    .linkbtn:hover{color:var(--ember)}
    .success-ic{width:80px;height:80px;border-radius:50%;background:rgba(26,125,60,.12);color:#1a7d3c;display:grid;place-items:center;margin:0 auto 18px}
    .success-ic .msi{font-size:2.6rem}
    .order-id{font-family:'Poppins';font-weight:700;color:var(--ember);margin:10px 0}
    .muted{color:var(--dim)}
    .chip-row{display:flex;gap:8px;flex-wrap:wrap}
    .chip{border:1px solid var(--line-2);border-radius:24px;padding:9px 16px;cursor:pointer;font-family:'Poppins';font-weight:600;font-size:.85rem;transition:.2s}
    .chip:hover{border-color:var(--ember)}
    .chip.on{background:var(--ember);color:#fff;border-color:var(--ember)}
    .res-recap{background:var(--cream);border-radius:8px;padding:12px 16px;font-size:.9rem;color:var(--dim);margin-bottom:6px}
    .res-recap strong{color:var(--ink)}

    /* toast */
    .toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%) translateY(20px);background:var(--ink);color:#fff;padding:13px 26px;font-weight:600;font-size:.88rem;z-index:200;opacity:0;visibility:hidden;transition:.3s;border-radius:6px;display:flex;align-items:center;gap:10px}
    .toast .msi{color:var(--ember-2)}
    .toast.on{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}

    /* reveal */
    .reveal{opacity:0;transform:translateY(36px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1)}
    .reveal.in{opacity:1;transform:none}
    .reveal-l{opacity:0;transform:translateX(-40px);transition:opacity .9s ease,transform .9s ease}
    .reveal-l.in{opacity:1;transform:none}
    .reveal-r{opacity:0;transform:translateX(40px);transition:opacity .9s ease,transform .9s ease}
    .reveal-r.in{opacity:1;transform:none}
    @media(prefers-reduced-motion:reduce){.reveal,.reveal-l,.reveal-r,.hero h1 .l span,.hero .eyebrow,.hero-row p,.hero-row .cta{opacity:1!important;transform:none!important;animation:none!important}}

    @media(max-width:1000px){
      .dishes{grid-template-columns:repeat(2,1fr)}
      .chef{flex:0 0 calc((100% - 26px)/2)}
      .about-grid,.book .inner{grid-template-columns:1fr;gap:50px}
      .gal-card{flex:0 0 260px;height:200px}
      .foot-grid{grid-template-columns:1fr 1fr}
    }
    @media(max-width:620px){
      .nav-links{display:none}.menu-btn{display:block}
      .nav-links.open{display:flex;flex-direction:column;position:absolute;top:84px;left:0;right:0;background:var(--bg-2);padding:24px;gap:18px;align-items:flex-start;border-bottom:1px solid var(--line)}
      .dishes{grid-template-columns:1fr}
      .gal-card{flex:0 0 220px;height:170px}
      .chef{flex:0 0 100%}
      .ev{grid-template-columns:auto 1fr;gap:20px}.ev .go{display:none}
      .book-form .row{grid-template-columns:1fr}
      .foot-grid{grid-template-columns:1fr}
      .about-grid .imgwrap .badge{width:120px;height:120px;right:-12px}
    }

/* ===== menu page ===== */
.page-hero{padding:130px 0 40px;text-align:center}
.page-hero .eyebrow{display:block;margin-bottom:12px}
.page-hero h1{font-family:'Poppins';font-weight:800;text-transform:uppercase;font-size:clamp(2.2rem,5vw,3.6rem)}
.page-hero p{color:var(--dim);max-width:540px;margin:12px auto 0}
.crumbs{font-size:.8rem;letter-spacing:.06em;color:var(--faint);margin-bottom:18px}
.crumbs a:hover{color:var(--ember)}
header.solid-bar{background:rgba(255,255,255,.96);border-bottom:1px solid var(--line)}
/* solid (white) header → dark text & icons, even though not .scrolled */
header.solid-bar .brand,header.solid-bar .nav-links a.link,header.solid-bar .menu-btn,header.solid-bar .nav-ic{color:var(--ink)}
header.solid-bar .nav-links a.link{color:var(--dim)}
header.solid-bar .nav-links a.link:hover{color:var(--ink)}
header.solid-bar .nav-ic:hover{background:rgba(225,27,27,.1);color:var(--ember)}
header.solid-bar .btn-out{color:var(--ink);border-color:var(--line-2)}
.filter-pills{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin:30px 0 10px}
.fp{border:1px solid var(--line-2);border-radius:24px;padding:9px 18px;cursor:pointer;font-family:'Poppins';font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;background:#fff;transition:.2s}
.fp:hover{border-color:var(--ember)}
.fp.on{background:var(--ember);color:#fff;border-color:var(--ember)}
.menu-count{text-align:center;color:var(--faint);font-size:.85rem;margin:8px 0 34px}
.menu-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.mcard{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;transition:.3s;position:relative}
.mcard:hover{transform:translateY(-6px);box-shadow:0 20px 44px rgba(0,0,0,.12)}
.mcard .ph{aspect-ratio:4/3;overflow:hidden;position:relative}
.mcard .ph img{width:100%;height:100%;object-fit:cover;transition:.6s}
.mcard:hover .ph img{transform:scale(1.07)}
.mcard .offer{position:absolute;top:12px;left:12px;background:var(--ember);color:#fff;font-family:'Poppins';font-weight:700;font-size:.7rem;padding:5px 11px;border-radius:20px}
.mcard .heart{position:absolute;top:10px;right:10px;width:36px;height:36px;border:0;border-radius:50%;background:rgba(255,255,255,.92);color:#888;cursor:pointer;display:grid;place-items:center;transition:.2s;z-index:2}
.mcard .heart:hover,.mcard .heart.on{color:var(--ember)}
.mcard .heart.on .msi{font-variation-settings:'FILL' 1}
.mcard .body{padding:16px 18px 18px}
.mcard .body h3{font-family:'Poppins';font-weight:600;font-size:1.2rem}
.mcard .body .cat{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--faint);margin-top:2px}
.mcard .body .rate{display:inline-flex;align-items:center;gap:4px;background:#1a7d3c;color:#fff;font-size:.72rem;font-weight:700;padding:2px 7px;border-radius:4px;margin-top:8px}
.mcard .body .rate .msi{font-size:.85rem}
.mcard .priceline{display:flex;align-items:center;justify-content:space-between;margin-top:12px}
.mcard .priceline .now{font-family:'Poppins';font-weight:700;font-size:1.2rem}
.mcard .priceline .was{color:var(--faint);text-decoration:line-through;font-size:.9rem;margin-left:8px}
.mcard .addbtn{border:1px solid var(--ember);color:var(--ember);background:#fff;font-family:'Poppins';font-weight:700;font-size:.78rem;text-transform:uppercase;padding:8px 14px;border-radius:6px;cursor:pointer;transition:.2s}
.mcard .addbtn:hover{background:var(--ember);color:#fff}
@media(max-width:1000px){.menu-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.menu-grid{grid-template-columns:1fr}}
