    :root{
    --black:#141311;
    --ink:#1c1a17;
    --cream:#fffdf6;
    --paper:#faf6ea;
    --yellow:#f6cf00;
    --yellow-deep:#e0bb00;
    --red:#e21b1b;
    --red-deep:#c00f0f;
    --line:#e7e0c9;
    --gray:#6f6a5c;
    --radius:2px;
    --ease:cubic-bezier(.22,.68,0,1);
  }

  *{box-sizing:border-box;}
  html{
    scroll-behavior:smooth;
    overflow-x:hidden;
    max-width:100%;
    width:100%;
  }
  @media (prefers-reduced-motion: reduce){
    html{scroll-behavior:auto;}
    *{animation-duration:.001ms !important; transition-duration:.001ms !important;}
  }

  body{
    margin:0;
    font-family:'Archivo', sans-serif;
    background:var(--black);
    color:var(--cream);
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
    max-width:100%;
    width:100%;
    position:relative;
  }

  a{color:inherit;}
  button{font-family:inherit;}
  img{max-width:100%; display:block;}

  .wrap{
    max-width:1180px;
    margin:0 auto;
    padding:0 clamp(20px, 5vw, 48px);
  }

  /* ---------- HEADER ---------- */
  header{
    position:fixed;
    top:0; left:0; right:0;
    z-index:60;
    padding:20px 0;
    transition:background .35s var(--ease), padding .35s var(--ease), box-shadow .35s var(--ease);
  }
  header.solid{
    background:rgba(20,19,17,.92);
    backdrop-filter:blur(10px);
    padding:14px 0;
    box-shadow:0 1px 0 rgba(255,253,246,.08);
  }
  .header-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
  }
  .logo{
    display:flex;
    align-items:baseline;
    gap:2px;
    font-family:'Archivo Black', sans-serif;
    font-size:22px;
    letter-spacing:.2px;
    text-decoration:none;
    color:var(--cream);
    transition:color .35s var(--ease);
  }
  .logo .dot{
    display:inline-block;
    width:11px;height:11px;
    background:var(--red);
    border-radius:50%;
    margin:0 1px 2px;
    position:relative;
    top:-1px;
  }

  nav.main-nav{
    display:flex;
    gap:36px;
  }
  nav.main-nav a{
    text-decoration:none;
    font-weight:600;
    font-size:15px;
    color:var(--cream);
    opacity:.85;
    transition:opacity .2s var(--ease), color .35s var(--ease);
  }
 nav.main-nav a:hover{opacity:1;}

  .head-actions{display:flex; align-items:center; gap:18px;}

  .cart-btn{
    position:relative;
    width:42px;height:42px;
    border-radius:50%;
    border:1.5px solid var(--cream);
    background:transparent;
    display:flex;align-items:center;justify-content:center;
    cursor:pointer;
    transition:border-color .35s var(--ease), background .2s var(--ease), transform .15s var(--ease);
  }
  .cart-btn svg{width:18px;height:18px;stroke:var(--cream); transition:stroke .35s var(--ease);}
  .cart-btn:hover{transform:scale(1.06);}
  .cart-btn:active{transform:scale(.96);}
  .cart-count{
    position:absolute;
    top:-6px; right:-6px;
    background:var(--red);
    color:#fff;
    font-size:11px;
    font-weight:700;
    min-width:19px;height:19px;
    border-radius:50%;
    display:flex;align-items:center;justify-content:center;
    padding:0 3px;
  }

  .burger{
    display:none;
    width:42px;height:42px;
    border:none;background:transparent;
    cursor:pointer;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    gap:5px;
  }
  .burger span{
    display:block;width:22px;height:2px;
    background:var(--cream);
    transition:background .35s var(--ease);
  }

  /* ---------- HERO ---------- */
  .hero{
    position:relative;
    min-height:100vh;
    background:var(--black);
    color:var(--cream);
    display:flex;
    align-items:center;
    overflow:hidden;
  }
  .hero-bg{
    position:absolute;
    inset:0;
    background-image:url('foto-negocio.jpg');
    background-size:cover;
    background-position:center;
    opacity:.38;
    z-index:0;
  }
  .hero-overlay{
    position:absolute;
    inset:0;
    background:
      linear-gradient(180deg, rgba(20,19,17,.35) 0%, rgba(20,19,17,.75) 65%, var(--black) 100%),
      linear-gradient(90deg, rgba(20,19,17,.9) 0%, rgba(20,19,17,.35) 55%);
    z-index:1;
  }
  .hero .wrap,
  .hero-wrap{
    position:relative;
    z-index:2;
    width:100%;
    padding-top:130px;
    padding-bottom:90px;
    display:grid;
    grid-template-columns:1.08fr 0.92fr;
    align-items:center;
    gap:clamp(30px, 5vw, 60px);
  }
  .hero-copy{max-width:580px;}
  .hero-eyebrow{
    font-size:15px;
    font-weight:600;
    color:var(--yellow);
    margin:0 0 22px;
    display:flex;
    align-items:center;
    gap:10px;
    opacity:0;
    animation:riseIn .7s var(--ease) .1s forwards;
  }
  .hero-eyebrow .dot{width:7px;height:7px;background:var(--red); border-radius:50%; display:inline-block;}
  .hero h1{
    font-family:'Archivo Black', sans-serif;
    font-size:clamp(40px, 5.2vw, 74px);
    line-height:0.98;
    margin:0 0 26px;
    letter-spacing:-.5px;
    opacity:0;
    animation:riseIn .8s var(--ease) .25s forwards;
  }
  .hero h1 .red{color:var(--red);}
  .hero p.lead{
    font-size:18px;
    line-height:1.6;
    max-width:480px;
    color:#e6e2d4;
    margin:0 0 38px;
    opacity:0;
    animation:riseIn .8s var(--ease) .4s forwards;
  }
  .hero-ctas{
    display:flex;
    gap:16px;
    flex-wrap:wrap;
    opacity:0;
    animation:riseIn .8s var(--ease) .55s forwards;
  }
  @keyframes riseIn{
    from{opacity:0; transform:translateY(18px);}
    to{opacity:1; transform:translateY(0);}
  }

  .hero-socials{
    display:flex;
    gap:14px;
    margin-top:34px;
    opacity:0;
    animation:riseIn .8s var(--ease) .7s forwards;
  }
  .social-btn{
    width:46px;height:46px;
    border-radius:50%;
    border:1.5px solid rgba(255,253,246,.3);
    display:flex;
    align-items:center;
    justify-content:center;
    color:var(--cream);
    text-decoration:none;
    transition:border-color .2s var(--ease), background .2s var(--ease), transform .18s var(--ease), color .2s var(--ease);
  }
  .social-btn svg{width:19px;height:19px; stroke:currentColor;}
  .social-btn:hover{
    border-color:var(--red);
    background:var(--red);
    color:#fff;
    transform:translateY(-2px);
  }
  .social-btn:active{transform:scale(.94);}

  /* ---------- HERO BURGER VISUAL — LAYERED + HOVER DISPERSAL ---------- */
  .hero-visual{
    position:relative;
    display:flex;
    justify-content:center;
    align-items:center;
    width:100%;
    max-width:540px;
    margin:0 auto;
    opacity:0;
    animation:riseIn .9s var(--ease) .35s forwards;
    user-select:none;
  }

  .hero-burger-showcase{
    position:relative;
    width:100%;
    max-width:480px;
    aspect-ratio:1 / 1;
    display:flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
  }

  /* Warm glow behind the burger */
  .burger-glow{
    position:absolute;
    inset:0;
    border-radius:50%;
    background:radial-gradient(circle, rgba(226,27,27,0.34) 0%, rgba(246,207,0,0.14) 42%, transparent 70%);
    filter:blur(36px);
    pointer-events:none;
    z-index:0;
    transition:transform .6s var(--ease), opacity .6s ease, filter .6s ease, background .6s ease;
  }

  /* Container for all 6 layers */
  .burger-layers-wrap{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
  }

  /* Base style for every layer */
  .burger-layer{
    position:absolute;
    top:0; left:0;
    width:100%;
    height:100%;
    object-fit:contain;
    pointer-events:none;
    user-select:none;
    display:block;
    transition:transform .7s cubic-bezier(0.34,1.35,0.64,1), filter .5s ease;
    will-change:transform;
  }

  /* ── Assembled state — layers stacked into a burger ── */
  .layer-bun-top    { z-index:6; transform:translateY(130px);  filter:drop-shadow(0 8px 18px rgba(0,0,0,0.60)); }
  .layer-tomatoes   { z-index:5; transform:translateY(80px);   filter:drop-shadow(0 6px 14px rgba(0,0,0,0.50)); }
  .layer-lettuce    { z-index:4; transform:translateY(38px);   filter:drop-shadow(0 6px 14px rgba(0,0,0,0.40)); }
  .layer-bacon      { z-index:3; transform:translateY(12px);   filter:drop-shadow(0 8px 16px rgba(0,0,0,0.45)); }
  .layer-patty      { z-index:2; transform:translateY(-22px);  filter:drop-shadow(0 10px 22px rgba(0,0,0,0.65)); }
  .layer-bun-bottom { z-index:1; transform:translateY(-78px);  filter:drop-shadow(0 24px 36px rgba(0,0,0,0.85)); }

  /* ── Hover dispersal — ingredients fly apart ── */
  .hero-burger-showcase:hover .layer-bun-top    { transform:translateY(-52px) rotate(-3.5deg) scale(1.04);  filter:drop-shadow(0 22px 32px rgba(0,0,0,0.75)) drop-shadow(0 0 22px rgba(246,207,0,0.28)); }
  .hero-burger-showcase:hover .layer-tomatoes   { transform:translateY(-18px) rotate( 2.5deg) scale(1.02);  filter:drop-shadow(0 16px 24px rgba(0,0,0,0.65)); }
  .hero-burger-showcase:hover .layer-lettuce    { transform:translateY(  4px) rotate(-1.8deg) scale(1.02);  filter:drop-shadow(0 14px 22px rgba(0,0,0,0.55)); }
  .hero-burger-showcase:hover .layer-bacon      { transform:translateY( 22px) rotate( 2.0deg) scale(1.01);  filter:drop-shadow(0 14px 22px rgba(0,0,0,0.60)); }
  .hero-burger-showcase:hover .layer-patty      { transform:translateY( 40px) scale(1.03);                  filter:drop-shadow(0 22px 38px rgba(0,0,0,0.80)) drop-shadow(0 0 26px rgba(246,207,0,0.35)); }
  .hero-burger-showcase:hover .layer-bun-bottom { transform:translateY( 66px) rotate(-2.0deg) scale(0.99);  filter:drop-shadow(0 30px 44px rgba(0,0,0,0.90)); }

  /* Glow expands and warms on hover */
  .hero-burger-showcase:hover .burger-glow{
    transform:scale(1.22);
    opacity:1;
    filter:blur(48px);
    background:radial-gradient(circle, rgba(226,27,27,0.50) 0%, rgba(246,207,0,0.28) 46%, transparent 74%);
  }

  /* Contact shadow at the base */
  .burger-shadow{
    position:absolute;
    bottom:6%;
    width:68%;
    height:22px;
    background:radial-gradient(ellipse at center, rgba(0,0,0,0.85) 0%, rgba(20,19,17,0.45) 45%, transparent 75%);
    border-radius:50%;
    z-index:0;
    pointer-events:none;
    transition:transform .6s var(--ease), opacity .6s ease;
  }
  .hero-burger-showcase:hover .burger-shadow{
    transform:scaleX(1.14) translateY(4px);
    opacity:.7;
  }
  .btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    padding:16px 30px;
    border-radius:999px;
    font-weight:700;
    font-size:15px;
    text-decoration:none;
    border:1.5px solid transparent;
    cursor:pointer;
    transition:transform .18s var(--ease), background .2s var(--ease), color .2s var(--ease), border-color .2s var(--ease);
  }
  .btn:active{transform:scale(.97);}
  .btn-primary{background:var(--red); color:#fff;}
  .btn-primary:hover{background:var(--red-deep);}
  .btn-ghost{background:transparent; color:var(--cream); border-color:rgba(255,253,246,.35);}
  .btn-ghost:hover{border-color:var(--cream);}
  .btn-dark{background:var(--ink); color:var(--cream);}
  .btn-dark:hover{background:#000;}
  .btn-yellow{background:var(--yellow); color:var(--ink);}
  .btn-yellow:hover{background:var(--yellow-deep);}
  .btn-outline{background:transparent; color:var(--ink); border-color:var(--ink);}
  .btn-outline:hover{background:var(--ink); color:var(--cream);}
  .btn-outline.done{border-color:#1c7d3e; color:#1c7d3e; cursor:default;}
  .drawer .btn-outline{color:var(--cream); border-color:rgba(255,253,246,.4);}
  .drawer .btn-outline:hover{background:var(--cream); color:var(--ink);}
  .drawer .btn-outline.done{border-color:#3ddc84; color:#3ddc84;}
  .drawer .btn-outline.done:hover{background:transparent; color:#3ddc84;}  .btn-sm{padding:12px 20px; font-size:14px;}
  .btn[disabled]{opacity:.55; cursor:not-allowed; transform:none;}
  .btn-block{width:100%;}

  /* ---------- MARQUEE STRIP ---------- */
  .strip{
    background:var(--yellow);
    color:var(--ink);
    overflow:hidden;
    white-space:nowrap;
    padding:14px 0;
    border-top:1px solid var(--black);
    border-bottom:1px solid var(--black);
  }
  .strip-track{
    display:inline-flex;
    gap:48px;
    animation:scroll 28s linear infinite;
  }
  @media (prefers-reduced-motion: reduce){ .strip-track{animation:none;} }
  .strip-track span{
    font-weight:700;
    font-size:14px;
    letter-spacing:.3px;
    display:inline-flex;
    align-items:center;
    gap:10px;
  }
  .strip-track span::after{
    content:"";
    width:6px;height:6px;
    background:var(--red);
    border-radius:50%;
    display:inline-block;
  }
  @keyframes scroll{
    from{transform:translateX(0);}
    to{transform:translateX(-50%);}
  }

  /* ---------- SECTION HEADS ---------- */
  .section{padding:clamp(56px, 10vw, 104px) 0;}  .section-head{
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:24px;
    margin-bottom:56px;
    flex-wrap:wrap;
  }
  .section-head h2{
    font-family:'Archivo Black', sans-serif;
    font-size:clamp(32px,4vw,48px);
    margin:0;
    line-height:1.02;
    color:var(--cream);
  }
  .section-head p{
    max-width:340px;
    color:#a9a493;
    margin:0;
    line-height:1.55;
    font-size:15px;
  }

  /* ---------- MENU GRID ---------- */
  .menu-section{background:var(--black);}  .tabs{
    display:flex;
    gap:10px;
    margin-bottom:36px;
    flex-wrap:wrap;
  }
  .tab{
    border:1.5px solid rgba(255,253,246,.35);
    background:transparent;
    color:var(--cream);
    padding:10px 22px;
    border-radius:999px;
    font-weight:700;
    font-size:14px;
    cursor:pointer;
    transition:background .2s var(--ease), color .2s var(--ease), border-color .2s var(--ease);
  }
  .tab:hover{border-color:var(--cream);}
  .tab.active{background:var(--cream); color:var(--ink); border-color:var(--cream);}

  /* ---------- MENU GRID & 50/50 LUXURY CARDS ---------- */
  .menu-grid{
    display:grid;
    grid-template-columns:repeat(auto-fill, minmax(290px, 1fr));
    gap:28px;
    align-items:stretch;
  }

  .menu-card{
    background:#191714;
    border:1px solid rgba(255,253,246,0.11);
    border-radius:18px;
    overflow:hidden;
    display:flex;
    flex-direction:column;
    box-shadow:0 12px 28px rgba(0,0,0,0.35);
    transition:transform .3s var(--ease), box-shadow .3s var(--ease), border-color .3s ease;
    position:relative;
  }

  .menu-card:hover{
    transform:translateY(-6px);
    box-shadow:0 22px 46px rgba(0,0,0,0.6), 0 0 0 1px rgba(226,27,27,0.35);
    border-color:rgba(226,27,27,0.45);
  }

  /* 50% Media Container */
  .card-media{
    position:relative;
    width:100%;
    height:220px;
    background:#11100e;
    overflow:hidden;
    flex-shrink:0;
  }

  .card-img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform 0.65s cubic-bezier(0.2, 0.8, 0.2, 1);
    display:block;
  }

  .menu-card:hover .card-img{
    transform:scale(1.08);
  }

  .card-fallback-svg{
    width:100%;
    height:100%;
    display:flex;
    align-items:center;
    justify-content:center;
    background:radial-gradient(circle at center, #25221c 0%, #11100e 100%);
  }

  .card-fallback-svg svg{
    width:56px;
    height:56px;
    stroke:var(--yellow);
  }

  .card-media-shade{
    position:absolute;
    inset:0;
    background:linear-gradient(180deg, rgba(20,19,17,0.25) 0%, transparent 45%, rgba(25,23,20,0.92) 100%);
    pointer-events:none;
  }

  .card-badges-row{
    position:absolute;
    top:12px;
    left:12px;
    right:12px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    z-index:2;
    pointer-events:none;
  }

  .card-cat-badge{
    background:rgba(20,19,17,0.86);
    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);
    color:var(--yellow);
    font-size:11px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.6px;
    padding:4px 10px;
    border-radius:999px;
    border:1px solid rgba(246,207,0,0.3);
  }

  .card-signature-badge{
    background:linear-gradient(135deg, var(--red) 0%, #b81010 100%);
    color:#fff;
    font-size:11px;
    font-weight:800;
    letter-spacing:.4px;
    padding:4px 11px;
    border-radius:999px;
    box-shadow:0 4px 14px rgba(226,27,27,0.45);
  }

  /* 50% Card Content */
  .card-content{
    display:flex;
    flex-direction:column;
    flex:1;
    min-height:220px;
    padding:20px 22px 22px;
    background:#191714;
    justify-content:space-between;
  }

  .card-text-block{
    margin-bottom:16px;
  }

  .card-title{
    font-family:'Archivo Black', sans-serif;
    font-size:18px;
    line-height:1.25;
    margin:0 0 8px;
    color:var(--cream);
  }

  .card-desc{
    font-size:13.5px;
    line-height:1.55;
    color:#aba695;
    margin:0;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
  }

  .card-action-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding-top:14px;
    border-top:1px solid rgba(255,253,246,0.08);
    margin-top:auto;
  }

  .card-price-container{
    display:flex;
    flex-direction:column;
  }

  .price-prefix{
    font-size:10.5px;
    text-transform:uppercase;
    letter-spacing:0.5px;
    color:#8c8779;
    font-weight:600;
  }

  .card-price{
    font-family:'Archivo Black', sans-serif;
    font-size:20px;
    color:var(--yellow);
    line-height:1.1;
  }

  .card-action-row .add-btn{
    display:inline-flex;
    align-items:center;
    gap:6px;
    padding:10px 18px;
    border-radius:999px;
    background:var(--red);
    color:#fff;
    border:none;
    font-size:13.5px;
    font-weight:700;
    cursor:pointer;
    transition:background .2s var(--ease), transform .15s var(--ease), box-shadow .2s var(--ease);
    box-shadow:0 4px 14px rgba(226,27,27,0.35);
  }

  .card-action-row .add-btn svg{
    width:16px;
    height:16px;
    stroke:#fff;
    transition:transform .2s ease;
  }

  .card-action-row .add-btn:hover{
    background:var(--red-deep);
    transform:scale(1.04);
    box-shadow:0 6px 18px rgba(226,27,27,0.5);
  }

  .card-action-row .add-btn:active{
    transform:scale(0.96);
  }

  .card-action-row .add-btn.pulse{
    animation:addPulse .38s var(--ease);
  }

  @keyframes addPulse{
    0%{transform:scale(1);}
    40%{transform:scale(.82); background:var(--red); border-color:var(--red);}
    100%{transform:scale(1);}
  }

  .fly-dot{
    position:fixed;
    top:0; left:0;
    z-index:150;
    width:16px;height:16px;
    border-radius:50%;
    background:var(--red);
    pointer-events:none;
    transition:transform .55s cubic-bezier(.22,.68,0,1), opacity .55s cubic-bezier(.22,.68,0,1);
    will-change:transform, opacity;
  }
  .cart-count.bump{
    animation:cartBump .35s var(--ease);
  }
  @keyframes cartBump{
    0%{transform:scale(1);}
    45%{transform:scale(1.4);}
    100%{transform:scale(1);}
  }
  @media (prefers-reduced-motion: reduce){
    .fly-dot{display:none;}
    .cart-count.bump{animation:none;}
  }

  /* ---------- ABOUT / HISTORIA (premium) ---------- */
  .about{
    position:relative;
    background:var(--black);
    color:var(--cream);
    overflow:hidden;
  }
  .about::before{
    content:"";
    position:absolute;
    top:-30%; right:-10%;
    width:600px; height:600px;
    background:radial-gradient(circle, rgba(246,207,0,.10) 0%, rgba(246,207,0,0) 70%);
    pointer-events:none;
  }
  .about::after{
    content:"";
    position:absolute;
    bottom:-20%; left:-10%;
    width:500px; height:500px;
    background:radial-gradient(circle, rgba(226,27,27,.10) 0%, rgba(226,27,27,0) 70%);
    pointer-events:none;
  }
  .about .wrap{position:relative; z-index:1;}
  .about-inner{
    display:grid;
    grid-template-columns:.85fr 1.15fr;
    gap:72px;
    align-items:center;
  }
  .about-mark{
    display:flex;
    justify-content:center;
    align-items:center;
    aspect-ratio:1;
    border:1px solid rgba(255,253,246,.14);
    border-radius:50%;
    padding:36px;
    position:relative;
  }
  .about-mark::before{
    content:"";
    position:absolute;
    inset:14px;
    border:1px solid rgba(246,207,0,.35);
    border-radius:50%;
  }
  .about-mark svg{width:62%; height:auto;}
  .about-copy .kicker{
    color:var(--yellow);
    font-weight:700;
    font-size:13px;
    letter-spacing:.4px;
    margin:0 0 20px;
    display:flex;
    align-items:center;
    gap:12px;
  }
  .about-copy .kicker::before{
    content:"";
    width:28px; height:1px;
    background:var(--yellow);
    display:inline-block;
  }
  .about-copy h2{
    font-family:'Archivo Black', sans-serif;
    font-size:clamp(30px,3.8vw,46px);
    line-height:1.1;
    margin:0 0 28px;
    max-width:520px;
  }
  .about-copy p{
    color:#c9c4b3;
    font-size:16.5px;
    line-height:1.75;
    max-width:490px;
    margin:0 0 20px;
    font-weight:400;
  }
  .story-quote{
    margin:36px 0 0;
    padding-left:26px;
    border-left:2px solid var(--red);
    max-width:480px;
  }
  .story-quote p{
    font-size:20px;
    line-height:1.55;
    color:var(--cream);
    margin:0 0 10px;
    font-weight:500;
  }
  .story-quote span{
    font-size:13px;
    color:#9a9584;
    letter-spacing:.2px;
  }
  .about-stats{
    display:flex;
    gap:0;
    margin-top:44px;
    border-top:1px solid rgba(255,253,246,.14);
    padding-top:28px;
  }
  .about-stats div{
    flex:1;
    padding-right:24px;
  }
  .about-stats div strong{
    display:block;
    font-family:'Archivo Black', sans-serif;
    font-size:32px;
    color:var(--yellow);
    margin-bottom:4px;
  }
  .about-stats div span{
    font-size:12.5px;
    color:#a9a493;
    letter-spacing:.2px;
  }

  /* ---------- LOCATION & DELIVERY HUB ---------- */
  .contact-section{
    position:relative;
    background:var(--black);
  }

  .section-head.text-center{
    text-align:center;
    justify-content:center;
    flex-direction:column;
    align-items:center;
    margin-bottom:48px;
  }

  .section-eyebrow{
    font-size:14px;
    font-weight:700;
    color:var(--yellow);
    text-transform:uppercase;
    letter-spacing:.8px;
    display:flex;
    align-items:center;
    gap:8px;
    margin-bottom:12px;
  }

  .section-eyebrow .dot{
    width:7px;
    height:7px;
    background:var(--red);
    border-radius:50%;
  }

  .section-subtitle{
    color:#aba695;
    font-size:16px;
    line-height:1.6;
    max-width:600px;
    margin:14px auto 0;
  }

  .location-hub-grid{
    display:grid;
    grid-template-columns:1.05fr 0.95fr;
    gap:36px;
    align-items:stretch;
  }

  /* Hub Info Panel */
  .hub-info-panel{
    background:#181613;
    border:1px solid rgba(255,253,246,0.12);
    border-radius:20px;
    padding:36px;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    box-shadow:0 16px 36px rgba(0,0,0,0.4);
  }

  /* Live Open/Closed Card */
  .live-status-card{
    display:flex;
    align-items:center;
    gap:14px;
    padding:14px 18px;
    border-radius:12px;
    margin-bottom:28px;
    transition:background .3s ease, border-color .3s ease;
  }

  .live-status-card.status-open{
    background:rgba(34, 197, 94, 0.1);
    border:1px solid rgba(34, 197, 94, 0.35);
    color:#4ade80;
  }

  .live-status-card.status-closed{
    background:rgba(239, 68, 68, 0.1);
    border:1px solid rgba(239, 68, 68, 0.35);
    color:#f87171;
  }

  .status-indicator{
    position:relative;
    width:12px;
    height:12px;
    display:flex;
    align-items:center;
    justify-content:center;
    flex-shrink:0;
  }

  .status-dot{
    width:10px;
    height:10px;
    border-radius:50%;
    background:currentColor;
  }

  .status-ping{
    position:absolute;
    inset:-3px;
    border-radius:50%;
    background:currentColor;
    opacity:0.6;
    animation:statusPing 1.8s cubic-bezier(0, 0, 0.2, 1) infinite;
  }

  @keyframes statusPing{
    0%{transform:scale(0.9); opacity:0.8;}
    75%, 100%{transform:scale(2.2); opacity:0;}
  }

  .status-text strong{
    display:block;
    font-size:14.5px;
    font-weight:700;
    letter-spacing:.2px;
    margin-bottom:2px;
  }

  .status-text small{
    display:block;
    font-size:12px;
    color:#d1ccbe;
  }

  .hub-details-list{
    display:flex;
    flex-direction:column;
    gap:22px;
    margin-bottom:28px;
  }

  .hub-item{
    display:flex;
    gap:16px;
    align-items:flex-start;
  }

  .hub-item-icon{
    width:42px;
    height:42px;
    border-radius:12px;
    background:rgba(255,253,246,0.06);
    border:1px solid rgba(255,253,246,0.12);
    display:flex;
    align-items:center;
    justify-content:center;
    flex-shrink:0;
    color:var(--yellow);
  }

  .hub-item-icon svg{
    width:20px;
    height:20px;
  }

  .hub-item-content h4{
    font-size:13px;
    font-weight:700;
    color:var(--yellow);
    text-transform:uppercase;
    letter-spacing:.5px;
    margin:0 0 4px;
  }

  .hub-item-content p{
    margin:0 0 8px;
    font-size:14.5px;
    line-height:1.5;
    color:#e6e2d4;
  }

  .btn-copy-address{
    display:inline-flex;
    align-items:center;
    gap:6px;
    padding:5px 12px;
    background:rgba(255,253,246,0.08);
    border:1px solid rgba(255,253,246,0.16);
    border-radius:6px;
    color:#ded9ca;
    font-size:12px;
    font-weight:600;
    cursor:pointer;
    transition:all .2s ease;
  }

  .btn-copy-address:hover{
    background:rgba(255,253,246,0.14);
    color:#fff;
    border-color:rgba(255,253,246,0.28);
  }

  .btn-copy-address.copied{
    background:rgba(34,197,94,0.2);
    border-color:#22c55e;
    color:#4ade80;
  }

  .btn-copy-address svg{
    width:14px;
    height:14px;
  }

  .hub-action-buttons{
    display:flex;
    gap:14px;
    flex-wrap:wrap;
    padding-top:16px;
    border-top:1px solid rgba(255,253,246,0.08);
  }

  .btn-hub{
    padding:12px 22px;
    font-size:14px;
    gap:8px;
  }

  /* Map Panel */
  .hub-map-panel{
    background:#181613;
    border:1px solid rgba(255,253,246,0.12);
    border-radius:20px;
    overflow:hidden;
    display:flex;
    flex-direction:column;
    box-shadow:0 16px 36px rgba(0,0,0,0.4);
  }

  .map-frame-header{
    padding:16px 22px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    background:#141311;
    border-bottom:1px solid rgba(255,253,246,0.08);
  }

  .map-tag{
    display:flex;
    align-items:center;
    gap:8px;
    font-size:13px;
    font-weight:700;
    color:var(--cream);
  }

  .map-pin-dot{
    width:8px;
    height:8px;
    background:var(--red);
    border-radius:50%;
  }

  .map-coord-badge{
    font-family:monospace;
    font-size:11.5px;
    color:#a9a493;
    background:rgba(255,253,246,0.06);
    padding:3px 8px;
    border-radius:4px;
  }

  .map-embed-container{
    flex:1;
    min-height:380px;
    position:relative;
    background:#11100e;
  }

  .map-embed-container iframe{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    border:0;
    filter:contrast(1.05) brightness(0.92);
  }

  .map-footer-bar{
    padding:14px 22px;
    background:#141311;
    border-top:1px solid rgba(255,253,246,0.08);
    display:flex;
    justify-content:space-between;
    align-items:center;
    font-size:13px;
    color:#aba695;
  }

  .map-external-link{
    color:var(--yellow);
    text-decoration:none;
    font-weight:600;
    transition:color .2s ease;
  }

  .map-external-link:hover{
    color:#fff;
    text-decoration:underline;
  }

  /* ---------- PROFESSIONAL 4-COLUMN FOOTER ---------- */
  .site-footer{
    background:#0d0c0a;
    color:var(--cream);
    padding:72px 0 28px;
    border-top:1px solid rgba(255,253,246,0.09);
  }

  .footer-grid{
    display:grid;
    grid-template-columns:1.4fr 1fr 1.15fr 1.15fr;
    gap:48px;
    padding-bottom:48px;
    border-bottom:1px solid rgba(255,253,246,0.08);
  }

  .footer-col{
    display:flex;
    flex-direction:column;
  }

  .footer-brand{
    display:flex;
    align-items:center;
    font-family:'Archivo Black', sans-serif;
    font-size:20px;
    text-decoration:none;
    color:var(--cream);
    margin-bottom:14px;
    letter-spacing:.2px;
  }

  .footer-brand img{
    margin-right:12px;
  }

  .footer-brand .dot{
    display:inline-block;
    width:9px;
    height:9px;
    background:var(--red);
    border-radius:50%;
    margin:0 1px 2px;
  }

  .footer-tagline{
    font-size:13.5px;
    line-height:1.65;
    color:#aba695;
    margin:0 0 20px;
    max-width:320px;
  }

  .footer-social-links{
    display:flex;
    gap:10px;
  }

  .footer-social{
    width:38px;
    height:38px;
    border-radius:50%;
    border:1px solid rgba(255,253,246,0.18);
    background:rgba(255,253,246,0.04);
    display:flex;
    align-items:center;
    justify-content:center;
    color:var(--cream);
    text-decoration:none;
    transition:all .2s var(--ease);
  }

  .footer-social svg{
    width:17px;
    height:17px;
  }

  .footer-social:hover{
    background:var(--red);
    border-color:var(--red);
    color:#fff;
    transform:translateY(-2px);
  }

  .footer-heading{
    font-family:'Archivo Black', sans-serif;
    font-size:13.5px;
    text-transform:uppercase;
    letter-spacing:.7px;
    color:var(--yellow);
    margin:0 0 18px;
  }

  .footer-nav{
    list-style:none;
    padding:0;
    margin:0;
    display:flex;
    flex-direction:column;
    gap:11px;
  }

  .footer-nav a{
    text-decoration:none;
    font-size:14px;
    color:#b5b0a1;
    transition:color .2s ease, transform .2s ease;
    display:inline-block;
  }

  .footer-nav a:hover{
    color:var(--cream);
    transform:translateX(4px);
  }

  .footer-schedule{
    display:flex;
    flex-direction:column;
    gap:10px;
  }

  .sched-row{
    display:flex;
    justify-content:space-between;
    font-size:13.5px;
    padding-bottom:8px;
    border-bottom:1px dashed rgba(255,253,246,0.1);
  }

  .sched-row span{
    color:#a9a493;
  }

  .sched-row strong{
    color:var(--cream);
    font-weight:600;
  }

  .footer-badge-open{
    display:inline-flex;
    align-items:center;
    gap:8px;
    font-size:12px;
    color:#4ade80;
    margin-top:6px;
  }

  .mini-dot{
    width:7px;
    height:7px;
    background:#4ade80;
    border-radius:50%;
  }

  .footer-contact-info{
    font-size:13.5px;
    line-height:1.6;
    color:#b5b0a1;
    margin:0 0 16px;
  }

  .footer-contact-info a{
    color:var(--yellow);
    text-decoration:none;
    font-weight:600;
  }

  .footer-contact-info a:hover{
    text-decoration:underline;
  }

  .payment-methods{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
  }

  .payment-pill{
    background:rgba(255,253,246,0.06);
    border:1px solid rgba(255,253,246,0.12);
    padding:5px 10px;
    border-radius:6px;
    font-size:12px;
    font-weight:600;
    color:#ded9ca;
  }

  .footer-bottom-bar{
    display:flex;
    justify-content:space-between;
    align-items:center;
    flex-wrap:wrap;
    gap:14px;
    padding-top:24px;
    font-size:13px;
    color:#7a7566;
  }

  /* ---------- CART DRAWER ---------- */
  .overlay{
    position:fixed; inset:0;
    background:rgba(20,19,17,.5);
    opacity:0;
    pointer-events:none;
    transition:opacity .3s var(--ease);
    z-index:80;
  }
  .overlay.open{opacity:1; pointer-events:auto;}

  .drawer{
    position:fixed;
    top:0; right:0; bottom:0;
    width:min(420px, 100%);
    background:var(--ink);
    color:var(--cream);
    z-index:90;
    display:flex;
    flex-direction:column;
    transform:translateX(100%);
    transition:transform .4s var(--ease);
    box-shadow:-20px 0 60px rgba(0,0,0,.45);
  }


  .drawer.open{transform:translateX(0);}
  .drawer-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:26px 28px;
    border-bottom:1px solid rgba(255,253,246,.14);
  }
  .drawer-head h3{
    font-family:'Archivo Black', sans-serif;
    font-size:20px;
    margin:0;
    color:var(--cream);
  }
  .drawer-close{
    width:36px;height:36px;
    border-radius:50%;
    border:1.5px solid var(--cream);
    background:transparent;
    cursor:pointer;
    display:flex;align-items:center;justify-content:center;
  }
  .drawer-close svg{width:14px;height:14px; stroke:var(--cream);}
  .drawer-body{
    flex:1;
    overflow-y:auto;
    padding:12px 28px;
  }
  .cart-line{
    display:grid;
    grid-template-columns:1fr auto auto;
    align-items:center;
    gap:14px;
    padding:18px 0;
    border-bottom:1px solid rgba(255,253,246,.14);
  }
  .cart-line .name{font-weight:700; font-size:15px; margin:0 0 4px; color:var(--cream);}
  .cart-line .unit{font-size:13px; color:#a9a493; margin:0;}
  .qty-control{
    display:flex;
    align-items:center;
    gap:10px;
    border:1px solid rgba(255,253,246,.2);
    border-radius:999px;
    padding:6px 10px;
  }
  .qty-control button{
    width:20px;height:20px;
    border:none;
    background:transparent;
    cursor:pointer;
    font-size:16px;
    line-height:1;
    color:var(--cream);
    display:flex;align-items:center;justify-content:center;
  }
  
  .qty-control span{font-weight:700; font-size:14px; min-width:14px; text-align:center;}
  .line-total{font-weight:700; font-size:15px; white-space:nowrap;}

  .empty-cart{
    padding:60px 0;
    text-align:center;
    color:#a9a493;
  }
  .empty-cart svg{width:44px;height:44px; margin-bottom:14px; stroke:rgba(255,253,246,.3);}
  .drawer-footer{
    padding:22px 28px 28px;
    border-top:1px solid rgba(255,253,246,.14);
  }
  .total-row{
    display:flex;
    justify-content:space-between;
    align-items:baseline;
    margin-bottom:18px;
  }
  .total-row span:first-child{font-size:14px; color:#a9a493; font-weight:600;}
  .total-row span:last-child{font-family:'Archivo Black', sans-serif; font-size:26px; color:var(--cream);}
  .gps-btn{margin-bottom:12px;}
  .gps-btn svg{width:16px;height:16px; stroke:currentColor; fill:none;}

  .location-status{
    display:none;
    align-items:center;
    gap:10px;
    background:#eef7f0;
    border:1px solid #cfe8d6;
    color:#1c7d3e;
    font-size:13px;
    font-weight:600;
    padding:11px 14px;
    border-radius:8px;
    margin-bottom:12px;
  }
  .location-status.show{display:flex;}
  .location-status svg{width:16px;height:16px; flex-shrink:0;}

  .whatsapp-btn{
    background:var(--red);
    color:#fff;
  }
  .whatsapp-btn svg{width:18px;height:18px; fill:#fff;}

  .toast{
    position:fixed;
    bottom:28px; left:50%;
    transform:translate(-50%, 20px);
    background:var(--ink);
    color:var(--cream);
    padding:13px 22px;
    border-radius:999px;
    font-size:14px;
    font-weight:600;
    opacity:0;
    pointer-events:none;
    transition:opacity .3s var(--ease), transform .3s var(--ease);
    z-index:120;
    display:flex;
    align-items:center;
    gap:10px;
    max-width:90%;
    text-align:center;
  }
  .toast.show{opacity:1; transform:translate(-50%, 0);}
  .toast .dot{width:7px;height:7px;background:var(--red);border-radius:50%; flex-shrink:0;}

  /* ---------- FLOATING CART ---------- */
  .fab{
    position:fixed;
    bottom:26px; right:26px;
    width:60px;height:60px;
    border-radius:50%;
    background:var(--red);
    display:none;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    z-index:70;
    box-shadow:0 12px 30px rgba(226,27,27,.35);
    border:none;
  }
  .fab svg{width:22px;height:22px; stroke:#fff;}
  .fab .cart-count{background:var(--yellow); color:var(--ink);}
  .fab.show{display:flex;}

  /* ---------- RESPONSIVE ---------- */
  @media (max-width: 880px){
    .about-inner{grid-template-columns:1fr; gap:44px;}
    .about-mark{max-width:220px; margin:0 auto;}
    .contact-top{grid-template-columns:1fr; gap:44px;}
    .about-stats{flex-wrap:wrap; row-gap:20px;}
    .about-stats div{flex:1 1 45%;}
  }
  
  @supports selector(:has(*)) {
    body:has(nav.main-nav.open)::after{
      content:"";
      position:fixed;
      inset:0;
      background:rgba(0,0,0,.45);
      z-index:90;
      animation:navFade .3s var(--ease);
    }
  }
  @keyframes navFade{ from{opacity:0} to{opacity:1} }

  .burger span{transition:transform .3s var(--ease), opacity .2s var(--ease);}
  .burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg);}
  .burger[aria-expanded="true"] span:nth-child(2){opacity:0;}
  .burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}


    .search-container{margin-bottom:28px;}
  #searchInput{
    width:100%;
    max-width:420px;
    background:var(--ink);
    color:var(--cream);
    border:1.5px solid transparent;
    border-radius:999px;
    padding:15px 22px;
    font-family:'Archivo', sans-serif;
    font-size:15px;
    font-weight:500;
    outline:none;
    transition:border-color .25s var(--ease), box-shadow .25s var(--ease), background .25s var(--ease);
  }
  #searchInput::placeholder{color:#9a9484;}
  #searchInput:focus{
    border-color:var(--red);
    box-shadow:0 0 0 4px rgba(226,27,27,.15);
    background:#000;
  }
  .no-results{
    text-align:center;
    color:var(--gray);
    padding:40px 0;
    font-size:15px;
  }
  @media (max-width:600px){
    #searchInput{max-width:none;}
  }

  /* Mobile nav drawer */
  .mobile-nav{
    position:fixed;
    top:0; right:0;
    width:min(300px,80%);
    height:100%;
    background:var(--ink);
    color:var(--cream);
    z-index:95;
    transform:translateX(100%);
    transition:transform .35s var(--ease);
    padding:100px 32px 32px;
    display:flex;
    flex-direction:column;
    gap:26px;
  }
  .mobile-nav.open{transform:translateX(0);}
  .mobile-nav a{
    text-decoration:none;
    color:var(--cream);
    font-weight:700;
    font-size:20px;
  }

  :focus-visible{
    outline:2.5px solid var(--red);
    outline-offset:3px;
  }

  /* ---------- BESPOKE CINEMATIC THEATRICAL LOADER ---------- */
  .loader-stage{
    position:fixed;
    inset:0;
    z-index:99999;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
    user-select:none;
    pointer-events:all;
    background:transparent;
  }

  /* Theatrical Dual Curtains */
  .loader-curtain{
    position:absolute;
    left:0;
    right:0;
    width:100%;
    height:50.5%;
    background:#080807;
    z-index:1;
    transition:transform 0.92s cubic-bezier(0.85, 0, 0.15, 1);
    will-change:transform;
  }

  .loader-curtain-top{
    top:0;
    transform-origin:top center;
    border-bottom:1px solid rgba(246, 207, 0, 0.18);
  }

  .loader-curtain-bottom{
    bottom:0;
    transform-origin:bottom center;
    border-top:1px solid rgba(226, 27, 27, 0.25);
  }

  .loader-curtain-edge{
    position:absolute;
    left:0;
    right:0;
    height:1.5px;
    background:linear-gradient(90deg, transparent 0%, rgba(246, 207, 0, 0.4) 25%, rgba(226, 27, 27, 0.85) 50%, rgba(246, 207, 0, 0.4) 75%, transparent 100%);
    opacity:0.85;
  }
  .loader-curtain-top .loader-curtain-edge{bottom:0;}
  .loader-curtain-bottom .loader-curtain-edge{top:0;}

  /* Shutter curtain split reveal */
  .loader-stage.revealing .loader-curtain-top{
    transform:translateY(-101%);
  }
  .loader-stage.revealing .loader-curtain-bottom{
    transform:translateY(101%);
  }
  .loader-stage.revealing .loader-content{
    opacity:0;
    transform:scale(1.08);
    filter:blur(6px);
  }
  .loader-stage.revealing .loader-stamp{
    opacity:0;
  }

  /* Atmospheric Light & Grill Embers */
  .loader-atmosphere{
    position:absolute;
    inset:0;
    z-index:2;
    pointer-events:none;
    overflow:hidden;
  }

  .loader-glow-core{
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%, -50%);
    width:clamp(300px, 60vw, 560px);
    height:clamp(300px, 60vw, 560px);
    border-radius:50%;
    background:radial-gradient(circle, rgba(226, 27, 27, 0.32) 0%, rgba(246, 207, 0, 0.12) 38%, rgba(8, 8, 7, 0) 70%);
    filter:blur(52px);
    animation:loaderGlowBreathe 4s ease-in-out infinite alternate;
    will-change:transform, opacity;
  }

  @keyframes loaderGlowBreathe{
    0%{transform:translate(-50%, -50%) scale(0.92); opacity:0.75;}
    100%{transform:translate(-50%, -50%) scale(1.12); opacity:1;}
  }

  /* Floating embers from the gourmet grill */
  .loader-embers{
    position:absolute;
    inset:0;
  }

  .loader-ember{
    position:absolute;
    border-radius:50%;
    pointer-events:none;
    filter:blur(0.5px);
    animation:floatEmber 5s linear infinite;
  }

  .eb-1{width:3px; height:3px; background:#f6cf00; left:28%; bottom:20%; animation-duration:4.4s; animation-delay:0s; box-shadow:0 0 8px #f6cf00;}
  .eb-2{width:4px; height:4px; background:#e21b1b; left:52%; bottom:15%; animation-duration:5.5s; animation-delay:1.2s; box-shadow:0 0 10px #e21b1b;}
  .eb-3{width:2.5px; height:2.5px; background:#ff8a00; left:70%; bottom:25%; animation-duration:4.8s; animation-delay:2.1s; box-shadow:0 0 6px #ff8a00;}
  .eb-4{width:3.5px; height:3.5px; background:#f6cf00; left:40%; bottom:12%; animation-duration:6.2s; animation-delay:0.8s; box-shadow:0 0 8px #f6cf00;}
  .eb-5{width:2px; height:2px; background:#ffffff; left:62%; bottom:32%; animation-duration:3.9s; animation-delay:2.8s; box-shadow:0 0 6px #ffffff;}
  .eb-6{width:3px; height:3px; background:#e21b1b; left:46%; bottom:22%; animation-duration:5.1s; animation-delay:3.5s; box-shadow:0 0 8px #e21b1b;}

  @keyframes floatEmber{
    0%{transform:translateY(0) translateX(0) scale(0.8); opacity:0;}
    20%{opacity:0.9;}
    80%{opacity:0.8;}
    100%{transform:translateY(-220px) translateX(24px) scale(1.2); opacity:0;}
  }

  /* Editorial Architectural Metadata Stamps */
  .loader-stamp{
    position:absolute;
    z-index:12;
    font-family:'Archivo', sans-serif;
    font-size:10px;
    font-weight:600;
    letter-spacing:0.24em;
    color:rgba(255, 253, 246, 0.44);
    text-transform:uppercase;
    display:flex;
    align-items:center;
    gap:8px;
    pointer-events:none;
    transition:opacity 0.5s ease, transform 0.5s ease;
  }

  .loader-stamp-tl{top:28px; left:32px;}
  .loader-stamp-tr{top:28px; right:32px;}
  .loader-stamp-bl{bottom:28px; left:32px;}
  .loader-stamp-br{bottom:28px; right:32px;}

  .stamp-dot-red{
    width:6px;
    height:6px;
    border-radius:50%;
    background:var(--red);
    box-shadow:0 0 8px var(--red);
  }

  .stamp-sep{
    color:rgba(246, 207, 0, 0.5);
  }

  .stamp-live-pulse{
    width:7px;
    height:7px;
    border-radius:50%;
    background:#22c55e;
    box-shadow:0 0 10px #22c55e;
    animation:pulseLiveDot 2s infinite ease-in-out;
  }
  @keyframes pulseLiveDot{
    0%, 100%{transform:scale(1); opacity:1;}
    50%{transform:scale(1.35); opacity:0.6;}
  }

  /* Monolithic Centerpiece */
  .loader-content{
    position:relative;
    z-index:10;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    max-width:460px;
    width:90%;
    margin:0 auto;
    transition:opacity 0.65s cubic-bezier(0.4, 0, 0.2, 1), transform 0.65s cubic-bezier(0.4, 0, 0.2, 1), filter 0.65s ease;
    will-change:transform, opacity, filter;
  }

  .loader-emblem{
    position:relative;
    width:190px;
    height:190px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin-bottom:18px;
  }

  .loader-dial-svg{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    pointer-events:none;
  }

  .dial-segments-ring{
    transform-origin:110px 110px;
    animation:spinDialSegments 22s linear infinite;
  }
  @keyframes spinDialSegments{
    from{transform:rotate(0deg);}
    to{transform:rotate(360deg);}
  }

  .dial-arc-runner{
    transform-origin:110px 110px;
    transform:rotate(-90deg);
    transition:stroke-dashoffset 0.12s linear;
    filter:drop-shadow(0 0 6px rgba(226, 27, 27, 0.7));
  }

  /* Encased Seal Medallion */
  .loader-seal-medallion{
    position:relative;
    width:102px;
    height:102px;
    border-radius:50%;
    background:radial-gradient(circle at 35% 35%, #2a2824 0%, #141311 75%);
    border:2px solid rgba(246, 207, 0, 0.45);
    box-shadow:0 0 30px rgba(226, 27, 27, 0.45), 0 10px 25px rgba(0,0,0,0.85), inset 0 0 16px rgba(0,0,0,0.9);
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
    z-index:4;
    transition:transform 0.3s ease, box-shadow 0.3s ease;
  }

  .loader-stage.is-complete .loader-seal-medallion{
    box-shadow:0 0 50px rgba(226, 27, 27, 0.85), 0 0 80px rgba(246, 207, 0, 0.4);
    transform:scale(1.04);
  }

  .loader-seal-img{
    width:100%;
    height:100%;
    object-fit:cover;
    transform:scale(1.08);
    filter:contrast(1.05);
  }

  .loader-seal-shine{
    position:absolute;
    inset:0;
    background:linear-gradient(135deg, rgba(255,255,255,0.25) 0%, transparent 45%, rgba(0,0,0,0.4) 100%);
    pointer-events:none;
    border-radius:50%;
  }

  /* Ruby Focal Point */
  .loader-ruby-focal{
    position:absolute;
    bottom:8px;
    right:34px;
    width:18px;
    height:18px;
    z-index:6;
    pointer-events:none;
  }

  .ruby-core-dot{
    position:absolute;
    inset:2px;
    border-radius:50%;
    background:var(--red);
    box-shadow:0 0 10px var(--red), 0 0 20px rgba(226, 27, 27, 0.9);
    animation:rubyHeartbeat 1.6s ease-in-out infinite;
  }

  .ruby-core-halo{
    position:absolute;
    inset:-4px;
    border-radius:50%;
    border:1px solid rgba(246, 207, 0, 0.5);
    animation:rubyHaloRipples 1.6s ease-out infinite;
  }

  @keyframes rubyHeartbeat{
    0%, 100%{transform:scale(1); opacity:1;}
    50%{transform:scale(1.22); opacity:0.85;}
  }
  @keyframes rubyHaloRipples{
    0%{transform:scale(0.8); opacity:0.9;}
    100%{transform:scale(2.2); opacity:0;}
  }

  /* Haute Brand Lockup */
  .loader-brand-lockup{
    margin-bottom:18px;
  }

  .loader-brand-name{
    font-family:'Archivo Black', sans-serif;
    font-size:clamp(22px, 5vw, 28px);
    color:var(--cream);
    letter-spacing:0.18em;
    margin:0 0 6px 0;
    text-transform:uppercase;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:1px;
  }

  .loader-red-dot{
    display:inline-block;
    width:10px;
    height:10px;
    background:var(--red);
    border-radius:50%;
    margin:0 2px 2px;
    box-shadow:0 0 10px var(--red), 0 0 20px var(--red);
    animation:rubyHeartbeat 1.6s ease-in-out infinite;
  }

  .loader-brand-sub{
    font-family:'Archivo', sans-serif;
    font-size:10px;
    font-weight:600;
    letter-spacing:0.34em;
    color:rgba(255, 253, 246, 0.5);
    text-transform:uppercase;
    margin:0;
  }

  /* Progress Console */
  .loader-progress-console{
    width:100%;
    max-width:330px;
    display:flex;
    flex-direction:column;
    gap:10px;
  }

  .loader-console-header{
    display:flex;
    align-items:baseline;
    justify-content:space-between;
    width:100%;
  }

  .loader-phase-readout{
    font-size:12px;
    font-weight:500;
    font-style:italic;
    color:#b8b2a0;
    letter-spacing:0.03em;
    transition:opacity 0.15s ease, transform 0.15s ease;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    max-width:230px;
    text-align:left;
  }

  .loader-metric-group{
    display:flex;
    align-items:baseline;
    gap:2px;
  }

  .loader-metric-val{
    font-family:'Archivo Black', monospace;
    font-size:24px;
    line-height:1;
    color:var(--yellow);
    letter-spacing:-0.02em;
    font-variant-numeric:tabular-nums;
    text-shadow:0 0 14px rgba(246, 207, 0, 0.35);
  }

  .loader-metric-pct{
    font-family:'Archivo', sans-serif;
    font-size:12px;
    font-weight:700;
    color:rgba(246, 207, 0, 0.7);
  }

  /* Timeline Track */
  .loader-timeline-track{
    position:relative;
    width:100%;
    height:2.5px;
    background:rgba(255, 253, 246, 0.1);
    border-radius:999px;
    overflow:visible;
  }

  .loader-timeline-rail{
    position:relative;
    height:100%;
    width:0%;
    background:linear-gradient(90deg, rgba(226, 27, 27, 0.7) 0%, var(--red) 55%, var(--yellow) 100%);
    border-radius:999px;
    transition:width 0.1s linear;
    box-shadow:0 0 12px rgba(226, 27, 27, 0.85);
  }

  .loader-timeline-head{
    position:absolute;
    right:-4px;
    top:-3.5px;
    width:9px;
    height:9px;
    border-radius:50%;
    background:#fff;
    box-shadow:0 0 10px #fff, 0 0 18px var(--yellow), 0 0 28px var(--red);
    pointer-events:none;
  }

  /* Responsive Adjustments */
  @media(max-width:768px){
    .loader-stamp-tl, .loader-stamp-tr{top:18px;}
    .loader-stamp-bl, .loader-stamp-br{bottom:18px;}
    .loader-stamp-tl, .loader-stamp-bl{left:20px;}
    .loader-stamp-tr, .loader-stamp-br{right:20px;}
  }

  @media(max-width:540px){
    .loader-stamp-tr, .loader-stamp-bl{display:none;}
    .loader-stamp-tl{
      top:16px;
      left:50%;
      transform:translateX(-50%);
      white-space:nowrap;
      font-size:9px;
      letter-spacing:0.18em;
    }
    .loader-stamp-br{
      bottom:16px;
      right:50%;
      transform:translateX(50%);
      white-space:nowrap;
      font-size:9px;
      letter-spacing:0.16em;
    }
    .loader-emblem{
      width:160px;
      height:160px;
      margin-bottom:14px;
    }
    .loader-seal-medallion{
      width:88px;
      height:88px;
    }
    .loader-brand-name{
      font-size:22px;
    }
    .loader-progress-console{
      max-width:280px;
    }
    .loader-phase-readout{
      font-size:11px;
      max-width:185px;
    }
    .loader-metric-val{
      font-size:20px;
    }
  }

  @media(prefers-reduced-motion: reduce){
    .dial-segments-ring{animation:none;}
    .loader-curtain{transition-duration:0.3s;}
    .loader-ember{animation:none; display:none;}
  }

  /* ---------- SCROLL REVEAL ANIMATION ---------- */
  .reveal-on-scroll{
    opacity:0;
    transform:translateY(28px);
    transition:opacity 0.75s cubic-bezier(0.22, 1, 0.36, 1), transform 0.75s cubic-bezier(0.22, 1, 0.36, 1);
  }

  .reveal-on-scroll.revealed{
    opacity:1;
    transform:translateY(0);
  }

  /* =========================================
   NAV RESPONSIVE MEJORADO
   ========================================= */
.header-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 0;
  position: relative;
}

.logo {
  display: flex;
  align-items: center;
  font-family: 'Archivo Black', sans-serif;
  font-size: 1.25rem;
  text-decoration: none;
  color: inherit;
  z-index: 102;
  white-space: nowrap;
}

.main-nav {
  display: flex;
  gap: 32px;
  align-items: center;
}

.main-nav a {
  text-decoration: none;
  color: inherit;
  font-weight: 600;
  font-size: 0.95rem;
  transition: color 0.2s ease;
  position: relative;
}

/* Efecto de subrayado animado en desktop */
.main-nav a::after {
  content: '';
  position: absolute;
  bottom: -4px;
  left: 0;
  width: 0;
  height: 2px;
  background-color: #E21B1B;
  transition: width 0.3s ease;
}

.main-nav a:hover::after {
  width: 100%;
}

.head-actions {
  display: flex;
  align-items: center;
  gap: 16px;
  z-index: 102;
}

.burger {
  display: none;
  background: none;
  border: none;
  cursor: pointer;
  padding: 8px;
  color: inherit;
}

.burger span {
  display: block;
  width: 24px;
  height: 2px;
  background-color: currentColor;
  margin: 5px 0;
  transition: all 0.3s ease;
  border-radius: 2px;
}

/* --- Responsive Móvil (<= 880px) --- */
@media (max-width: 880px) {
  .burger {
    display: block;
  }

  .main-nav {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background-color: var(--black);
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 40px;
    transform: translateX(100%);
    transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 101;
  }
  .main-nav.open {
    transform: translateX(0);
  }

  .main-nav a {
    font-size: 1.75rem;
    font-family: 'Archivo Black', sans-serif;
  }

  .main-nav a::after {
    display: none; /* Limpieza visual en móvil */
  }

  /* Animación del icono de hamburguesa a "X" */
  .burger[aria-expanded="true"] span:nth-child(1) {
    transform: rotate(45deg) translate(5px, 6px);
  }
  .burger[aria-expanded="true"] span:nth-child(2) {
    opacity: 0;
  }
  .burger[aria-expanded="true"] span:nth-child(3) {
    transform: rotate(-45deg) translate(5px, -6px);
  }
}

/* Search Container */
.search-container {
  margin-bottom: 24px;
  position: relative;
}

#searchInput {
  width: 100%;
  padding: 14px 20px;
  font-size: 1rem;
  border: 1.5px solid rgba(255,253,246,.2);
  border-radius: 12px;
  background-color: var(--ink);
  color: var(--cream);
  font-family: 'Archivo', sans-serif;
  transition: all 0.3s ease;
  box-sizing: border-box;
}

#searchInput:focus {
  outline: none;
  border-color: #E21B1B;
  box-shadow: 0 0 0 3px rgba(226, 27, 27, 0.1);
}

#searchInput::placeholder {
  color: #9a9484;
}

.no-results {
  text-align: center;
  padding: 40px 20px;
  color: #a9a493;
  font-size: 1.1rem;
  grid-column: 1 / -1;
}
/* Responsive para el buscador */
@media (max-width: 768px) {
  .search-container {
    margin-bottom: 16px;
  }
  
  #searchInput {
    padding: 12px 16px;
    font-size: 0.95rem;
  }
}

/* --- Tablet / Medium Devices (<= 960px) --- */
@media (max-width: 960px) {
  .hero{
    min-height: auto;
    overflow-x: hidden;
  }
  .hero-wrap{
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-top: 110px;
    padding-bottom: 54px;
    gap: 32px;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    overflow-x: hidden;
  }
  .hero-copy{
    order: 1; /* TEXTO ARRIBA */
    max-width: 100%;
    width: 100%;
    text-align: center;
  }
  .hero-eyebrow{
    justify-content: center;
  }
  .hero p.lead{
    margin-left: auto;
    margin-right: auto;
    max-width: 520px;
  }
  .hero-ctas{
    justify-content: center;
  }
  .hero-socials{
    justify-content: center;
  }
  .hero-visual{
    order: 2; /* HAMBURGUESA ABAJO DEL TEXTO */
    max-width: 360px;
    width: 100%;
    margin: 0 auto;
    display: flex;
    justify-content: center;
    overflow: hidden;
  }
  .hero-burger-showcase{
    max-width: 340px;
    width: 100%;
  }
}

/* --- Responsive Hub & Footer (<= 880px) --- */
@media (max-width: 880px) {
  .logo {
    margin-left: 8px;
  }
  .burger {
    display: block;
  }

  .location-hub-grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }
  .hub-map-panel {
    min-height: 380px;
  }

  .footer-grid {
    grid-template-columns: 1fr 1fr;
    gap: 36px;
  }
}

/* --- Mobile Devices (<= 600px) --- */
  @media (max-width: 600px) {
  .hero{
    min-height: auto;
    overflow-x: hidden;
  }

  .hero-wrap{
    padding-top: 96px;
    padding-bottom: 38px;
    gap: 24px;
    width: 100%;
    max-width: 100%;
  }
  .hero h1{
    font-size: clamp(30px, 9.2vw, 40px);
    margin-bottom: 14px;
    line-height: 1.05;
  }
  .hero p.lead{
    font-size: 15px;
    margin-bottom: 22px;
    line-height: 1.5;
  }
  
  /* Hero Burger Mobile: siempre abajo del texto, centrado, sin overflow */
  .hero-visual{
    order: 2;
    max-width: 280px;
    width: 100%;
    margin: 0 auto;
    overflow: hidden;
  }
  .hero-burger-showcase{
    max-width: 260px;
    width: 100%;
  }
  
  /* Cards Mobile (maintain 50/50 proportion) */
  .section-head{flex-direction:column; align-items:flex-start;}
  .menu-grid{
    grid-template-columns: 1fr;
    gap: 22px;
  }
  .card-media{
    height: 195px;
  }
  .card-content{
    min-height: 195px;
    padding: 16px 18px 18px;
  }
  .card-title{
    font-size: 17px;
  }

  /* Hub & Location Mobile */
  .hub-info-panel{
    padding: 24px 20px;
    border-radius: 16px;
  }
  .hub-map-panel{
    border-radius: 16px;
  }
  .map-embed-container{
    min-height: 280px;
  }

  /* Footer Mobile */
  .footer-grid{
    grid-template-columns: 1fr;
    gap: 32px;
  }
  .footer-bottom-bar{
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }

  /* Drawer Mobile */
  .drawer-head{padding:18px 20px;}
  .drawer-body{padding:8px 20px;}
  .drawer-footer{padding:16px 20px 20px;}
}



/* ---------- Punto Rojo: noche de marca ---------- */
:root{
  --black:#0d0d0c;
  --ink:#171716;
  --cream:#f4f0e5;
  --paper:#151514;
  --yellow:#fdef3b;
  --yellow-deep:#e6cf2c;
  --red:#e0010a;
  --red-deep:#b90008;
  --line:#302f2b;
  --gray:#a39e91;
  --ease:cubic-bezier(.22,.68,0,1);
}
html{background:var(--black);scroll-padding-top:88px;}
body{background:var(--black);color:var(--cream);}
::selection{background:var(--yellow);color:var(--black);}

/* Header */
header{padding:17px 0;background:linear-gradient(180deg,rgba(8,8,7,.7),transparent);}
header.solid{padding:13px 0;background:rgba(13,13,12,.88);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 1px 0 rgba(255,255,255,.08);}
.logo{align-items:center;color:var(--cream);font-size:20px;letter-spacing:.01em;}
.logo .dot{width:8px;height:8px;background:var(--red);top:0;margin:0 1px 1px;}
nav.main-nav{gap:32px;}
nav.main-nav a{position:relative;color:rgba(244,240,229,.78);font-size:12px;font-weight:600;letter-spacing:.055em;}
nav.main-nav a::after{content:"";position:absolute;left:0;right:100%;bottom:-8px;height:1px;background:var(--yellow);transition:right .25s var(--ease);}
nav.main-nav a:hover{color:var(--cream);}
nav.main-nav a:hover::after{right:0;}
.cart-btn{width:auto;min-width:106px;height:42px;padding:0 15px;gap:9px;border:1px solid rgba(244,240,229,.2);border-radius:999px;background:rgba(255,255,255,.045);}
.cart-btn svg{width:17px;height:17px;stroke:var(--cream);}
.cart-btn-label{color:var(--cream);font-size:12px;font-weight:700;}
.cart-btn:hover{background:rgba(253,239,59,.1);border-color:rgba(253,239,59,.6);transform:translateY(-1px);}
.cart-count{background:var(--red);color:#fff;box-shadow:0 0 0 2px var(--black);}
.burger span{background:var(--cream);}
.main-nav.open{background:#10100f;}
.main-nav.open a{color:var(--cream);}

/* Dark hero */
.hero{min-height:min(880px,100svh);background:#0c0c0b;color:var(--cream);isolation:isolate;}
.hero-bg{opacity:0;background:none;}
.hero-overlay{z-index:-1;background:radial-gradient(ellipse at 78% 44%,rgba(253,239,59,.075),transparent 31%),radial-gradient(ellipse at 58% 78%,rgba(224,1,10,.07),transparent 38%),linear-gradient(112deg,#0b0b0a 0%,#11110f 100%);}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;background-image:radial-gradient(rgba(244,240,229,.17) .55px,transparent .55px);background-size:8px 8px;opacity:.12;mask-image:linear-gradient(90deg,transparent 32%,#000 100%);pointer-events:none;}
.hero .wrap,.hero-wrap{grid-template-columns:1.03fr .97fr;align-items:center;gap:clamp(28px,6vw,88px);padding-top:142px;padding-bottom:92px;}
.hero-copy{max-width:610px;position:relative;z-index:2;}
.hero-eyebrow{display:flex;align-items:center;gap:12px;margin:0 0 25px;color:#b5ad96;font-size:10px;font-weight:700;letter-spacing:.18em;}
.hero-eyebrow .dot{width:8px;height:8px;background:var(--red);box-shadow:0 0 0 5px rgba(224,1,10,.13);}
.hero h1{margin:0 0 25px;color:var(--cream);font-size:clamp(54px,7.1vw,96px);line-height:.91;letter-spacing:-.065em;}
.hero h1 .red{color:var(--yellow);}
.hero p.lead{max-width:440px;margin:0 0 31px;color:#b7b2a6;font-size:16px;line-height:1.75;}
.hero .btn{min-height:51px;border-radius:4px;padding:15px 22px;font-size:12px;letter-spacing:.035em;}
.hero .btn-primary{background:var(--red);color:#fff;border-color:var(--red);box-shadow:0 8px 24px rgba(224,1,10,.2);}
.hero .btn-primary:hover{background:var(--red-deep);border-color:var(--red-deep);transform:translateY(-2px);box-shadow:0 12px 28px rgba(224,1,10,.28);}
.hero .btn-ghost{color:var(--cream);border-color:rgba(244,240,229,.22);background:rgba(255,255,255,.025);}
.hero .btn-ghost:hover{border-color:rgba(253,239,59,.65);background:rgba(253,239,59,.07);}
.hero-visual{position:relative;display:flex;justify-content:center;align-items:center;width:100%;max-width:520px;margin:0 auto;opacity:0;animation:riseIn .8s var(--ease) .25s forwards;overflow:visible;}
.hero-poster{position:relative;isolation:isolate;display:flex;flex-direction:column;width:min(100%,470px);min-height:500px;padding:29px 34px 24px;background:#171716;color:var(--yellow);border:1px solid rgba(244,240,229,.13);box-shadow:0 30px 90px rgba(0,0,0,.42);}
.hero-poster::before{content:"";position:absolute;z-index:-1;inset:12px;border:1px solid rgba(253,239,59,.25);pointer-events:none;}
.hero-poster::after{content:"";position:absolute;z-index:-2;inset:0;background:var(--red);transform:translate(10px,10px) rotate(1.2deg);}
.poster-topline,.poster-foot{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;font-size:9px;font-weight:700;letter-spacing:.15em;}
.poster-topline{padding-bottom:16px;border-bottom:1px solid rgba(253,239,59,.24);}
.poster-topline span:last-child{color:#bcb6a4;}
.poster-mark{position:absolute;top:66px;right:37px;width:112px;height:132px;display:flex;justify-content:center;}
.poster-needle{position:relative;z-index:1;width:86px;height:86px;border-radius:50%;background:var(--red);box-shadow:inset -9px -8px 0 rgba(0,0,0,.18);}
.poster-needle::after{content:"";position:absolute;left:34px;bottom:-39px;width:18px;height:48px;background:var(--red);clip-path:polygon(0 0,100% 0,50% 100%);}
.poster-orbit{position:absolute;inset:7px 7px auto;width:100px;height:100px;border:1px solid rgba(253,239,59,.35);border-radius:50%;transform:scale(1.16);}
.poster-heading{position:relative;z-index:2;margin-top:49px;display:flex;flex-direction:column;align-items:flex-start;font-family:'Archivo Black',sans-serif;letter-spacing:-.065em;line-height:.83;}
.poster-heading>span{font-size:clamp(27px,3vw,38px);color:var(--cream);}
.poster-heading strong{font-size:clamp(44px,5vw,66px);font-weight:900;white-space:nowrap;color:var(--cream);}
.poster-heading strong span{color:var(--yellow);font-size:inherit;}
.poster-rule{display:flex;align-items:center;gap:10px;margin:24px 0 14px;}
.poster-rule::before{content:"";height:1px;flex:1;background:rgba(253,239,59,.28);}
.poster-rule span{width:7px;height:7px;background:var(--red);border-radius:50%;}
.poster-menu{position:relative;z-index:1;margin:0;padding:0;list-style:none;}
.poster-menu li{display:flex;align-items:center;gap:15px;padding:9px 0;border-bottom:1px solid rgba(244,240,229,.1);font-size:13px;font-weight:600;color:#e6e0d2;}
.poster-menu li span{color:var(--yellow);font-size:10px;font-weight:700;letter-spacing:.1em;}
.poster-foot{margin-top:auto;padding-top:17px;color:#999486;font-size:8px;letter-spacing:.17em;}
.poster-foot-dot{width:8px;height:8px;border-radius:50%;background:var(--red);}
.hero-visual-note{position:absolute;right:-27px;bottom:18px;color:#8f8876;font-size:8px;font-weight:700;letter-spacing:.18em;writing-mode:vertical-rl;}

/* Brand marquee and section rhythm */
.strip{padding:13px 0;background:#171716;color:#d8d2c4;border-top:1px solid #282723;border-bottom:1px solid #282723;}
.strip-track span{font-size:11px;letter-spacing:.13em;}
.strip-track span::after{width:6px;height:6px;background:var(--red);}
.section{padding:clamp(72px,9vw,112px) 0;}
.menu-section{background:#10100f;}
.section-head{align-items:flex-end;margin-bottom:38px;}
.section-heading-group{display:flex;flex-direction:column;gap:10px;}
.section-kicker{display:flex;align-items:center;gap:9px;margin:0;color:#b8ae8a;font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;}
.section-kicker span{width:7px;height:7px;border-radius:50%;background:var(--red);}
.section-head h2{font-size:clamp(38px,5vw,58px);line-height:.98;letter-spacing:-.055em;color:var(--cream);}
.section-head>p{max-width:390px;color:#999589;font-size:14px;line-height:1.7;}

/* Menu and discovery controls */
.search-container{position:relative;max-width:420px;margin:0 0 26px;}
.search-icon{position:absolute;left:16px;top:50%;width:18px;height:18px;transform:translateY(-50%);color:#8f8b80;pointer-events:none;}
#searchInput{width:100%;max-width:none;padding:14px 18px 14px 45px;border:1px solid #34332e;border-radius:7px;background:#171716;color:var(--cream);font-size:13px;box-shadow:inset 0 1px rgba(255,255,255,.025);}
#searchInput::placeholder{color:#777468;}
#searchInput:focus{border-color:rgba(253,239,59,.6);background:#191918;box-shadow:0 0 0 3px rgba(253,239,59,.08);}
.tabs{gap:8px;margin:0 0 30px;}
.tab{padding:10px 16px;border:1px solid #35342f;border-radius:5px;background:transparent;color:#b4afa2;font-size:11px;font-weight:700;letter-spacing:.025em;}
.tab:hover{border-color:#80774c;color:var(--cream);}
.tab.active{border-color:var(--yellow);background:var(--yellow);color:#171716;}
.menu-grid{grid-template-columns:repeat(auto-fill,minmax(265px,1fr));gap:18px;}
.menu-card{border:1px solid #2b2a26;border-radius:9px;background:#171716;box-shadow:0 8px 24px rgba(0,0,0,.18);}
.menu-card:hover{transform:translateY(-4px);border-color:rgba(253,239,59,.36);box-shadow:0 20px 44px rgba(0,0,0,.34);}
.card-media{height:218px;background:#111110;}
.card-img{filter:saturate(.88);}
.menu-card:hover .card-img{transform:scale(1.045);filter:saturate(1);}
.card-fallback-svg{background:radial-gradient(circle at 50% 42%,#26251f 0%,#131312 72%);}
.card-fallback-svg svg{width:62px;height:62px;stroke:var(--yellow);opacity:.85;}
.card-media-shade{background:linear-gradient(180deg,rgba(8,8,7,.18),transparent 38%,rgba(8,8,7,.66));}
.card-cat-badge{padding:6px 9px;border-radius:4px;background:rgba(13,13,12,.86);border-color:rgba(253,239,59,.23);color:var(--yellow);font-size:9px;letter-spacing:.1em;}
.card-signature-badge{padding:6px 9px;border-radius:4px;background:var(--red);box-shadow:none;font-size:9px;letter-spacing:.08em;}
.card-content{min-height:206px;padding:19px 19px 17px;background:#171716;}
.card-title{font-size:17px;letter-spacing:-.02em;}
.card-desc{color:#9d998e;font-size:12.5px;line-height:1.55;}
.card-action-row{padding-top:13px;border-color:rgba(244,240,229,.1);}
.price-prefix{color:#777469;font-size:9px;letter-spacing:.14em;}
.card-price{color:var(--cream);font-size:19px;}
.card-action-row .add-btn{width:39px;height:39px;justify-content:center;gap:0;padding:0;border:1px solid rgba(253,239,59,.32);border-radius:6px;background:rgba(253,239,59,.08);color:var(--yellow);box-shadow:none;}
.card-action-row .add-btn span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.card-action-row .add-btn svg{width:17px;height:17px;stroke:var(--yellow);}
.card-action-row .add-btn:hover{background:var(--yellow);border-color:var(--yellow);transform:translateY(-1px);box-shadow:0 6px 16px rgba(253,239,59,.12);}
.card-action-row .add-btn:hover svg{stroke:#171716;}
.card-action-row .add-btn.pulse{animation:addPulse .38s var(--ease);}
.no-results{color:#aaa597;}
.fly-dot{background:var(--yellow);box-shadow:0 0 0 5px rgba(253,239,59,.12);}

/* Story */
.about{background:#151514;}
.about::before{background:radial-gradient(circle,rgba(253,239,59,.065),transparent 70%);}
.about::after{background:radial-gradient(circle,rgba(224,1,10,.075),transparent 70%);}
.about-inner{grid-template-columns:.82fr 1.18fr;gap:clamp(42px,8vw,100px);}
.about-mark{max-width:440px;min-height:420px;aspect-ratio:.94;margin:0 auto;border:1px solid #34332d;border-radius:8px;padding:0;background:radial-gradient(ellipse at 50% 38%,rgba(253,239,59,.08),transparent 44%),linear-gradient(145deg,#1b1b19,#111110);overflow:hidden;}
.about-mark::before{inset:13px;border:1px solid rgba(253,239,59,.2);border-radius:4px;}
.about-mark svg{position:absolute;top:7%;left:23%;width:54%;height:72%;}
.about-mark-caption{position:absolute;left:30px;right:30px;bottom:28px;display:grid;grid-template-columns:1fr auto;align-items:end;gap:9px 20px;z-index:1;}
.about-mark-caption span{font-size:8px;font-weight:700;letter-spacing:.17em;color:#928b76;}
.about-mark-caption span:first-child{grid-column:1/-1;color:var(--yellow);}
.about-mark-caption strong{font-family:'Archivo Black',sans-serif;font-size:13px;line-height:1.1;letter-spacing:.04em;color:var(--cream);}
.about-copy .kicker{color:var(--yellow);font-size:10px;letter-spacing:.16em;text-transform:uppercase;margin-bottom:18px;}
.about-copy .kicker::before{width:23px;background:var(--red);}
.about-copy h2{font-size:clamp(34px,4.5vw,54px);line-height:1.02;letter-spacing:-.05em;margin-bottom:24px;}
.about-copy p{max-width:560px;color:#a9a498;font-size:14px;line-height:1.8;margin-bottom:15px;}
.story-quote{margin-top:28px;padding:3px 0 3px 20px;border-left:2px solid var(--red);}
.story-quote p{color:var(--cream);font-size:17px;line-height:1.5;font-weight:500;}
.story-quote span{color:#777469;font-size:11px;}
.about-stats{margin-top:32px;padding-top:21px;border-color:#34332d;}
.about-stats div{padding-right:14px;}
.about-stats div strong{color:var(--yellow);font-size:27px;}
.about-stats div span{color:#908b7f;font-size:10px;line-height:1.4;}

/* Location and delivery */
.contact-section{background:#10100f;}
.section-head.text-center{margin-bottom:42px;}
.section-eyebrow{font-size:10px;letter-spacing:.16em;color:var(--yellow);}
.section-eyebrow .dot{width:7px;height:7px;box-shadow:0 0 0 4px rgba(224,1,10,.12);}
.section-head.text-center h2{max-width:760px;font-size:clamp(36px,5vw,54px);}
.section-subtitle{max-width:590px;color:#999589;font-size:14px;line-height:1.75;}
.location-hub-grid{grid-template-columns:.95fr 1.05fr;gap:18px;}
.hub-info-panel,.hub-map-panel{border:1px solid #2d2c28;border-radius:9px;background:#171716;box-shadow:0 18px 44px rgba(0,0,0,.23);}
.hub-info-panel{padding:28px;}
.live-status-card{padding:13px 15px;border-radius:6px;margin-bottom:25px;}
.live-status-card.status-open{background:rgba(71,155,105,.09);border-color:rgba(71,155,105,.3);color:#8bd4a0;}
.live-status-card.status-closed{background:rgba(224,1,10,.08);border-color:rgba(224,1,10,.3);color:#f08787;}
.status-text strong{font-size:12px;letter-spacing:.015em;}
.status-text small{color:#999589;font-size:10px;line-height:1.5;}
.hub-details-list{gap:20px;}
.hub-item{gap:14px;}
.hub-item-icon{width:38px;height:38px;border-radius:6px;background:#20201d;border-color:#37362f;color:var(--yellow);}
.hub-item-icon svg{width:17px;height:17px;}
.hub-item-content h4{font-size:9px;letter-spacing:.14em;color:#b6a867;}
.hub-item-content p{color:#b4afa2;font-size:12px;line-height:1.65;}
.btn-copy-address{padding:6px 9px;background:#20201d;border-color:#383731;border-radius:4px;color:#cbc6ba;font-size:10px;}
.btn-copy-address:hover{background:#292822;border-color:#5d5738;color:var(--cream);}
.btn-copy-address.copied{background:rgba(71,155,105,.12);border-color:#39774e;color:#8bd4a0;}
.hub-action-buttons{gap:9px;padding-top:18px;border-color:#2e2d29;}
.btn-hub{min-height:43px;padding:11px 13px;border-radius:5px;font-size:10px;}
.hub-action-buttons .btn-primary{background:var(--yellow);color:#171716;border-color:var(--yellow);}
.hub-action-buttons .btn-primary:hover{background:#e6cf2c;border-color:#e6cf2c;}
.hub-action-buttons .btn-ghost{color:var(--cream);border-color:#42413a;}
.hub-map-panel{overflow:hidden;}
.map-frame-header,.map-footer-bar{background:#171716;border-color:#2e2d29;}
.map-frame-header{padding:15px 18px;}
.map-tag{font-size:11px;}
.map-coord-badge{color:#898578;background:#20201d;font-size:9px;}
.map-embed-container{min-height:390px;background:#111110;}
.map-embed-container iframe{filter:grayscale(.9) invert(.88) hue-rotate(180deg) saturate(.65) brightness(.82) contrast(.92);}
.map-footer-bar{padding:13px 18px;font-size:10px;color:#999589;}
.map-footer-bar>span:first-child{font-size:10px;}
.map-external-link{color:var(--yellow);font-size:10px;}

/* Footer */
.site-footer{background:#090909;border-top:1px solid #262521;padding:64px 0 24px;}
.footer-grid{grid-template-columns:1.35fr 1fr 1.1fr 1.15fr;gap:32px;padding-bottom:38px;border-color:#24231f;}
.footer-brand{font-size:17px;margin-bottom:13px;}
.footer-brand .dot{width:7px;height:7px;}
.footer-tagline,.footer-contact-info{color:#8e8a80;font-size:11px;line-height:1.75;}
.footer-social{width:34px;height:34px;border-radius:6px;background:#141413;border-color:#302f2b;color:#c6c1b5;}
.footer-social svg{width:15px;height:15px;}
.footer-heading{color:#c7b859;font-size:10px;letter-spacing:.15em;margin-bottom:16px;}
.footer-nav{gap:9px;}
.footer-nav a{color:#9b968a;font-size:11px;}
.footer-nav a:hover{color:var(--cream);}
.sched-row{font-size:10px;border-color:#25241f;}
.sched-row span{color:#898579;}
.sched-row strong{color:#d9d3c6;font-size:10px;}
.footer-badge-open{font-size:9px;color:#8bd4a0;}
.mini-dot{width:6px;height:6px;}
.footer-contact-info a{color:var(--yellow);}
.payment-pill{border-color:#302f2b;border-radius:4px;background:#141413;color:#aca79a;font-size:9px;}
.footer-bottom-bar{padding-top:20px;color:#67645d;font-size:10px;}

/* Cart and order flow */
.overlay{background:rgba(0,0,0,.72);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);}
.drawer{width:min(460px,100%);background:#131312;color:var(--cream);border-left:1px solid #302f2b;box-shadow:-28px 0 80px rgba(0,0,0,.58);}
.drawer-head{padding:22px 25px;border-color:#2b2a26;}
.drawer-kicker{margin:0 0 5px;color:#928b76;font-size:8px;font-weight:700;letter-spacing:.16em;}
.drawer-head h3{font-size:22px;letter-spacing:-.035em;}
.drawer-close{width:34px;height:34px;border:1px solid #3b3a34;background:#1b1b19;transition:background .2s,border-color .2s,transform .2s;}
.drawer-close:hover{background:var(--red);border-color:var(--red);transform:rotate(90deg);}
.drawer-body{padding:8px 25px;}
.cart-line{grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;padding:17px 0;border-color:#2b2a26;}
.cart-line>div:first-child{grid-column:1;grid-row:1;}
.cart-line .name{font-size:13px;letter-spacing:-.01em;}
.cart-line .unit{color:#898579;font-size:10px;}
.qty-control{grid-column:2;grid-row:1/3;gap:10px;padding:6px 9px;border:1px solid #383731;border-radius:6px;background:#1b1b19;}
.qty-control button{width:20px;height:20px;border-radius:4px;color:#d8d2c4;transition:background .16s,color .16s;}
.qty-control button:hover{background:var(--yellow);color:#171716;}
.qty-control span{font-size:12px;}
.line-total{grid-column:1;grid-row:2;color:var(--yellow);font-size:12px;}
.empty-cart{padding:74px 15px;color:#918c80;}
.empty-cart svg{width:48px;height:48px;margin-bottom:16px;padding:12px;border:1px solid #37362f;border-radius:50%;stroke:var(--yellow);}
.empty-cart p{font-size:12px;line-height:1.65;}
.drawer-footer{padding:18px 25px max(22px,env(safe-area-inset-bottom));border-color:#2b2a26;background:#10100f;}
.total-row{margin-bottom:15px;}
.total-row span:first-child{color:#999589;font-size:11px;letter-spacing:.04em;}
.total-row span:last-child{color:var(--cream);font-size:25px;}
.location-status{background:rgba(71,155,105,.1);border:1px solid rgba(71,155,105,.28);color:#8bd4a0;border-radius:5px;font-size:10px;padding:10px 12px;}
.location-status svg{stroke:#8bd4a0;}
.gps-btn{width:100%;min-height:43px;margin:0 0 9px;border-radius:5px;color:#d2ccbd;border-color:#383731;background:#191918;font-size:11px;}
.gps-btn:hover{border-color:rgba(253,239,59,.5);color:var(--yellow);}
.gps-btn.done{border-color:#39774e;color:#8bd4a0;}
.gps-btn:disabled{opacity:.72;}
.whatsapp-btn{min-height:48px;border-radius:5px;background:#147957;color:#fff;font-size:12px;box-shadow:0 7px 18px rgba(20,121,87,.17);}
.whatsapp-btn:hover{background:#116848;}
.toast{bottom:26px;border:1px solid #37362f;border-radius:7px;background:#1b1b19;box-shadow:0 14px 36px rgba(0,0,0,.35);font-size:11px;}
.toast .dot{background:var(--yellow);}
.fab{right:22px;bottom:22px;width:auto;height:54px;min-width:190px;padding:0 19px;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:#1d1d1b;color:var(--cream);box-shadow:0 12px 35px rgba(0,0,0,.45);gap:11px;transition:transform .2s,background .2s,border-color .2s;}
.fab:hover{transform:translateY(-3px);background:#252521;border-color:rgba(253,239,59,.3);}
.fab svg{width:18px;height:18px;stroke:var(--yellow);}
.fab-label{font-size:11px;font-weight:700;}
.fab-total{margin-left:auto;color:var(--yellow);font-size:12px;}
.fab .cart-count{top:-7px;right:-7px;min-width:20px;height:20px;background:var(--red);color:#fff;}

:focus-visible{outline-color:var(--yellow);outline-offset:3px;}

/* Responsive polish */
@media(max-width:960px){
  .hero{min-height:auto;}
  .hero .wrap,.hero-wrap{display:grid;flex-direction:initial;grid-template-columns:1fr .92fr;align-items:center;gap:26px;padding-top:130px;padding-bottom:72px;overflow:visible;}
  .hero-copy{width:auto;text-align:left;}
  .hero-eyebrow{justify-content:flex-start;}
  .hero p.lead{margin-left:0;margin-right:0;}
  .hero-ctas{justify-content:flex-start;}
  .hero-poster{min-height:450px;padding:25px 27px 22px;}
  .poster-mark{top:61px;right:26px;transform:scale(.84);transform-origin:top right;}
  .poster-heading{margin-top:52px;}
  .poster-heading strong{font-size:clamp(38px,5.2vw,55px);}
  .hero-visual-note{display:none;}
  .footer-grid{grid-template-columns:1fr 1fr;gap:34px;}
  .location-hub-grid{grid-template-columns:1fr 1fr;gap:14px;}
  .hub-info-panel{padding:23px;}
}
@media(max-width:760px){
  .header-row{padding-left:20px;padding-right:20px;}
  .logo{font-size:17px;}
  .cart-btn{width:42px;min-width:42px;height:42px;padding:0;justify-content:center;border-radius:50%;}
  .cart-btn-label{display:none;}
  .hero .wrap,.hero-wrap{display:grid;flex-direction:initial;grid-template-columns:1fr;align-items:start;padding-top:116px;padding-bottom:48px;gap:34px;overflow:visible;}
  .hero-copy{max-width:600px;width:100%;text-align:left;}
  .hero-eyebrow{font-size:9px;margin-bottom:19px;justify-content:flex-start;}
  .hero h1{font-size:clamp(52px,11.8vw,78px);margin-bottom:20px;}
  .hero p.lead{font-size:15px;margin-bottom:25px;}
  .hero-ctas{gap:10px;justify-content:flex-start;}
  .hero .btn{padding:14px 16px;font-size:11px;}
  .hero-visual{order:2;max-width:500px;}
  .hero-poster{width:100%;min-height:465px;padding:28px 31px 23px;}
  .poster-mark{right:40px;transform:none;}
  .poster-heading>span{font-size:34px;}
  .poster-heading strong{font-size:clamp(48px,9vw,64px);}
  .section{padding:72px 0;}
  .section-head{align-items:flex-start;gap:16px;margin-bottom:28px;}
  .section-head>p{max-width:420px;font-size:12px;}
  .menu-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
  .card-media{height:170px;}
  .card-content{min-height:192px;padding:15px 14px 13px;}
  .card-title{font-size:15px;}
  .card-desc{font-size:11px;}
  .card-price{font-size:17px;}
  .tabs{flex-wrap:nowrap;overflow-x:auto;padding-bottom:8px;scrollbar-width:none;}
  .tabs::-webkit-scrollbar{display:none;}
  .tab{flex:0 0 auto;}
  .about-inner{grid-template-columns:1fr;gap:34px;}
  .about-mark{width:min(100%,390px);min-height:360px;}
  .about-copy h2{font-size:clamp(34px,8vw,48px);}
  .about-stats{gap:14px;}
  .about-stats div{padding-right:0;}
  .location-hub-grid{grid-template-columns:1fr;gap:14px;}
  .hub-info-panel{padding:22px;}
  .hub-map-panel{min-height:360px;}
  .map-embed-container{min-height:300px;}
  .footer-grid{grid-template-columns:1fr 1fr;gap:30px 22px;}
  .fab{right:16px;bottom:max(16px,env(safe-area-inset-bottom));min-width:174px;height:50px;}
  .drawer-footer{max-height:48svh;overflow-y:auto;}
}
@media(max-width:480px){
  .hero .wrap,.hero-wrap{padding-top:104px;padding-bottom:40px;gap:30px;}
  .hero h1{font-size:clamp(46px,12.8vw,60px);}
  .hero-ctas{align-items:stretch;flex-direction:column;max-width:300px;}
  .hero .btn{width:100%;}
  .hero-poster{min-height:414px;padding:24px 25px 20px;}
  .hero-poster::before{inset:9px;}
  .poster-topline{font-size:8px;}
  .poster-mark{top:58px;right:26px;transform:scale(.78);transform-origin:top right;}
  .poster-heading{margin-top:49px;}
  .poster-heading>span{font-size:29px;}
  .poster-heading strong{font-size:clamp(40px,10vw,49px);}
  .poster-menu li{font-size:12px;padding:8px 0;}
  .poster-foot{font-size:7px;}
  .section-head{flex-direction:column;align-items:flex-start;}
  .section-head.text-center{align-items:center;text-align:center;}
  .section-head>p{max-width:100%;}
  .search-container{max-width:none;}
  .menu-grid{grid-template-columns:1fr;gap:14px;}
  .card-media{height:210px;}
  .card-content{min-height:180px;padding:17px;}
  .card-title{font-size:16px;}
  .card-desc{font-size:12px;}
  .about-mark{min-height:330px;}
  .about-stats div{flex:1 1 28%;}
  .hub-action-buttons{flex-direction:column;}
  .hub-action-buttons .btn{width:100%;}
  .map-frame-header,.map-footer-bar{padding-left:13px;padding-right:13px;}
  .map-coord-badge{font-size:8px;}
  .map-footer-bar{align-items:flex-start;flex-direction:column;gap:8px;}
  .footer-grid{grid-template-columns:1fr;gap:26px;}
  .footer-bottom-bar{align-items:flex-start;flex-direction:column;gap:8px;}
  .drawer-head{padding:18px 20px;}
  .drawer-body{padding:8px 20px;}
  .drawer-footer{padding:16px 20px max(20px,env(safe-area-inset-bottom));}
  .toast{bottom:82px;}
}
@media(prefers-reduced-motion:reduce){
  .hero-visual{animation:none;opacity:1;}
  .strip-track{animation:none;}
  .menu-card,.card-img,.fab,nav.main-nav a::after{transition:none;}
}
