:root {
        --header-bg: #fdc010;
        --text-color: #000000;
        --brush-bg: #f3e6c6;
        --card-bg: #ffffff;
        --uber-glow: #32cd32; /* lime */
        --doordash-glow: #ff3008; /* red */
      }
      * { box-sizing: border-box; }
      html, body { height: 100%; }
      body {
        margin: 0;
        font: 16px/1.65 ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, "Noto Sans";
        color: var(--text-color);
        /* Geometric dots + soft gold blooms */
        background:
          radial-gradient(1200px 800px at -10% -20%, rgba(253,192,16,0.12), transparent 60%),
          radial-gradient(1000px 700px at 110% 120%, rgba(243,230,198,0.20), transparent 55%),
          radial-gradient(circle at 25% 35%, rgba(253,192,16,0.06), transparent 45%),
          radial-gradient(circle at 75% 65%, rgba(253,192,16,0.05), transparent 45%),
          radial-gradient(rgba(0,0,0,0.035) 1px, transparent 1.2px) 0 0/16px 16px,
          radial-gradient(rgba(243,230,198,0.35) 1px, transparent 1.2px) 8px 8px/16px 16px,
          #ffffff;
        background-attachment: fixed, fixed, fixed, fixed, fixed, fixed, scroll;
      }
      a { color: inherit; text-decoration: none; }
      a:focus-visible, button:focus-visible { outline: 3px solid #000; outline-offset: 2px; }
      img { max-width: 100%; height: auto; }
      .container { max-width: 1100px; margin: 0 auto; padding: 0 20px; }

      /* Header */
      header { position: sticky; top: 0; background: var(--header-bg); border-bottom: 1px solid rgba(0,0,0,0.1); z-index: 10; }
      .nav { display: flex; align-items: center; justify-content: space-between; height: 70px; }
      .brand img { height: 63px; width: auto; border-radius: 6px; transition: transform 0.2s ease; }
      .brand img:hover { transform: scale(1.05); }
      nav ul { display: flex; gap: 22px; list-style: none; padding: 0; margin: 0; }
      nav a { display: inline-block; padding: 8px 14px; border-radius: 6px; color: var(--text-color); font-weight: 700; letter-spacing:.2px; transition: all 0.25s ease; }
      nav a:hover { background: #ffffff; color: var(--text-color); box-shadow: 0 0 8px rgba(255,255,255,0.4); }

      /* Reusable */
      .section-title { font-size: 28px; margin: 0 0 10px; position: relative; display:inline-block; }
      .section-title::after { content:""; position:absolute; left:0; right:0; bottom:-6px; height:10px; background: linear-gradient(90deg, rgba(253,192,16,.35), rgba(253,192,16,.0)); filter: blur(2px); border-radius:10px; }
      .muted { color:#333; }
      .btns { display:flex; gap:12px; justify-content:center; flex-wrap:wrap; margin-top:18px; }
      .btn { display:inline-block; padding:10px 16px; border-radius:10px; font-weight:800; border:2px solid #000; background:#000; color:#fff; transition: transform .15s ease, box-shadow .2s ease, background .2s ease, color .2s ease; }
      .btn:hover { transform: translateY(-1px); box-shadow:0 8px 18px rgba(0,0,0,.18); }
      .btn.outline { background:#fff; color:#000; }

      /* Hero */
      .hero { display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:84px 20px 72px; position: relative; overflow: hidden; }
      .hero::before { content: ""; position: absolute; top: 50%; left: 50%; width: 95%; height: 70%; background: repeating-linear-gradient(-10deg, var(--brush-bg) 0px, var(--brush-bg) 6px, rgba(255,255,255,0.4) 10px, rgba(255,255,255,0.4) 14px); transform: translate(-50%, -50%) rotate(-4deg); border-radius: 120px; filter: blur(5px) contrast(1.1) brightness(1.1); opacity: 0.9; z-index: 0; }
      .hero img, .hero h1, .hero p, .btns { position: relative; z-index: 1; }
      .hero img { width: 450px; height: auto; margin-bottom: 20px; border-radius: 50%; }
      .hero h1 { font-size: 34px; margin-bottom: 10px; letter-spacing:.2px; }
      .hero p { font-size: 18px; color: #333; line-height: 1.6; max-width: 720px; margin: 0 auto; }

      /* Speed hints: render only when visible and reserve space to cut CLS */
      .hero, .special-dishes, .order-online, .hours-map { content-visibility: auto; contain-intrinsic-size: 700px 800px; }

      /* Special Dishes */
      .special-dishes { padding: 60px 20px; text-align: center; position: relative; overflow: hidden; }
      /* add the same soft brush backer used on the Menu page */
      .special-dishes::before { content:""; position:absolute; top:50%; left:50%; width: min(1080px, 92%); height: 68%; transform: translate(-50%, -50%) rotate(-3deg); border-radius: 120px; background: repeating-linear-gradient(-10deg, var(--brush-bg) 0px, var(--brush-bg) 6px, rgba(255,255,255,0.6) 10px, rgba(255,255,255,0.6) 14px); filter: blur(4px) contrast(1.05); opacity:.9; z-index:0; }
      .special-dishes .inner { position:relative; z-index:1; max-width:1100px; margin:0 auto; }
      .special-dishes .inner { position:relative; z-index:1; max-width:1100px; margin:0 auto; }
      .special-dishes h2.section-title { }
      .special-dishes .day { font-size:24px; font-weight:900; letter-spacing:.3px; margin:14px 0 26px; color:#000; text-shadow: 1px 1px 0 #fff, -1px 1px 0 #fff, 1px -1px 0 #fff, -1px -1px 0 #fff; }
      .specials-note { margin-top:18px; }
      .free-delivery { font-weight:800; padding:8px 12px; display:inline-block; border-radius:10px; background:#fff; border:2px dashed var(--header-bg); box-shadow:0 2px 8px rgba(0,0,0,.06); }
      .call-now { margin-top:12px; font-size:20px; font-weight:900; display:inline-block; padding:6px 12px; border-radius:999px; background:#000; color:#fff; border:2px solid #000; text-decoration:none; box-shadow:0 10px 20px rgba(0,0,0,.18); animation: callGlow 2.4s ease-in-out infinite; transition: transform .15s ease, box-shadow .2s ease; }
      .call-now:hover { transform: translateY(-1px) scale(1.04); box-shadow:0 14px 28px rgba(0,0,0,.22), 0 0 18px rgba(253,192,16,.55); }
      @keyframes callGlow { 0%,100%{ text-shadow:0 0 10px rgba(255,255,255,.65); box-shadow:0 10px 20px rgba(0,0,0,.18), 0 0 14px rgba(253,192,16,.45);} 50%{ text-shadow:0 0 2px rgba(255,255,255,.45); box-shadow:0 10px 20px rgba(0,0,0,.18), 0 0 8px rgba(253,192,16,.35);} }
      .grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:22px; align-items:stretch; }
      .dish-card { background: var(--card-bg); border-radius: 14px; box-shadow: 0 4px 12px rgba(0,0,0,0.08), 0 0 12px rgba(243,230,198,0.5); overflow:hidden; display:flex; flex-direction:column; transform: translateZ(0); transition: transform 0.2s ease, box-shadow 0.2s ease; border: 3px solid var(--header-bg); position: relative; height:100%; }
      /* sticker-style accent */
      .dish-card::before { content:""; position:absolute; inset:-10px -12px -14px -12px; border-radius: 28px 60px 38px 60px; background:
        /* subtle linen texture over gold */
        repeating-linear-gradient(-12deg, rgba(255,255,255,0.07) 0 6px, rgba(0,0,0,0.06) 6px 12px),
        linear-gradient(160deg, rgba(253,192,16,.92), rgba(253,192,16,.68));
      transform: rotate(-2.5deg); z-index:-1; filter: drop-shadow(0 16px 26px rgba(0,0,0,.18)); }
      .dish-card::after { content:""; position:absolute; width:120px; height:80px; bottom:-16px; right:-10px; background: radial-gradient(#c9c2aa 1px, transparent 1.6px) 0 0/10px 10px; opacity:.35; transform: rotate(12deg); z-index:-2; }
      .dish-card img { width:100%; aspect-ratio: 4/3; object-fit: cover; display:block; }
      .dish-card .body { padding:16px; text-align:center; display:grid; grid-template-rows:auto 1fr auto; align-items:start; justify-items:center; min-height: 156px; 
        /* paper-like background inside card */
        background:
          radial-gradient(120% 100% at 50% 0%, rgba(253,192,16,0.10), transparent 55%),
          repeating-linear-gradient(-8deg, rgba(243,230,198,0.22) 0px, rgba(243,230,198,0.22) 6px, rgba(255,255,255,0.85) 10px, rgba(255,255,255,0.85) 16px),
          #ffffff;
        box-shadow: inset 0 0 0 1px rgba(0,0,0,0.05), inset 0 14px 30px rgba(0,0,0,0.04);
      }
      .dish-card h3 { margin:0 0 8px; font-size:18px; color:#000; font-weight:800; }
      .dish-card p { margin:0 8px 10px; font-size:14px; color:#333; font-style: italic; }
      .dish-card .price { font-size:16px; font-weight:900; color:#000; letter-spacing:.2px; }
      .dish-card:hover { transform: scale(1.04); box-shadow: 0 10px 24px rgba(0,0,0,0.15), 0 0 18px var(--header-bg); border-color: var(--header-bg); }

      /* Order Online */
      .order-online { padding: 56px 20px; position: relative; overflow: hidden; }
      .order-online .stroke { position:absolute; inset:0; background: repeating-linear-gradient(12deg, var(--brush-bg) 0px, var(--brush-bg) 6px, rgba(255,255,255,0.5) 12px, rgba(255,255,255,0.5) 18px); opacity:.4; filter: blur(6px); z-index:0; }
      .order-online .inner { position:relative; z-index:1; max-width: 1000px; margin: 0 auto; }
      .order-online .content { position:relative; display:grid; grid-template-columns: 0.9fr 1.1fr; align-items:center; gap: 28px; }
      .order-online .left { position: relative; }
      .order-online .left img { width: 100%; max-width: 216px; height: auto; display:block; margin: 0 auto; filter: drop-shadow(0 10px 22px rgba(0,0,0,.15)); position: relative; z-index: 1; }
      .order-online .left::before { content:""; position:absolute; left:50%; top:50%; width: 240px; height: 150px; transform: translate(-50%,-50%) rotate(-6deg); border-radius: 40px; background: linear-gradient(160deg, rgba(253,192,16,.9), rgba(253,192,16,.6)); box-shadow: 0 18px 30px rgba(0,0,0,.18); z-index:0; opacity:.9; }
      .order-online .right { text-align: left; }
      .order-online h2.section-title { font-size:26px; margin-left: 6px; }
      .order-online p.lead { margin: 6px 0 18px; color: #333; font-size: 18px; }
      .partners { display:flex; justify-content:flex-start; align-items:center; gap: 36px; flex-wrap: wrap; }
      .partner-pill { display:inline-flex; align-items:center; justify-content:center; padding:8px 18px; border-radius:999px; background:#fff; border:2px solid rgba(0,0,0,.08); box-shadow:0 2px 8px rgba(0,0,0,.06); transition: border-color .25s ease, box-shadow .25s ease, transform .25s ease; }
      .uber-eats .partner-pill:hover { border-color: var(--uber-glow); box-shadow: 0 8px 20px rgba(50,205,50,.25); transform: translateY(-1px); }
      .doordash .partner-pill:hover { border-color: var(--doordash-glow); box-shadow: 0 8px 20px rgba(255,48,8,.25); transform: translateY(-1px); }
      .partner-logo { width: 200px; height: auto; display:block; transition: filter .3s ease, transform .3s ease; }
      .uber-eats:hover .partner-logo { filter: drop-shadow(0 0 14px var(--uber-glow)); transform: scale(1.05); }
      .doordash:hover .partner-logo { filter: drop-shadow(0 0 14px var(--doordash-glow)); transform: scale(1.05); }
      @media (max-width: 860px) {
        .order-online .content { grid-template-columns: 1fr; }
        .order-online .right { text-align:center; }
        .partners { justify-content:center; gap: 28px; }
      }

      /* Hours + Map */
      .hours-map { padding: 56px 20px; background: var(--brush-bg); }
      .hours-map .inner { max-width: 1100px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1.2fr; gap: 24px; align-items: stretch; }
      .hours-card { background:#fff; border: 3px solid var(--header-bg); border-radius: 14px; padding: 18px; box-shadow: 0 4px 12px rgba(0,0,0,0.08); }
      .hours-card h3 { margin: 0 0 12px; font-size: 22px; }
      .hours-rows { display:grid; row-gap: 8px; font-size: 15px; }
      .hours-row { display:grid; grid-template-columns: 1fr auto; gap: 14px; align-items:center; padding:6px 8px; border-radius:10px; }
      .hours-row .day { font-weight: 700; }
      .hours-row.today { background:#fff8e1; box-shadow: inset 0 0 0 2px var(--header-bg); }
      .map-wrap { background:#fff; border: 3px solid var(--header-bg); border-radius:14px; overflow:hidden; box-shadow: 0 4px 12px rgba(0,0,0,0.08); position: relative; }
      .map-wrap iframe { width:100%; height:100%; min-height: 280px; border:0; display:block; }
      .map-consent { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; background: rgba(255,255,255,0.85); backdrop-filter: blur(2px); }
      .map-consent button { background:#000; color:#fff; border:none; border-radius:10px; padding:10px 14px; font-weight:800; cursor:pointer; box-shadow:0 6px 16px rgba(0,0,0,.2); transition: transform .15s ease, box-shadow .15s ease; }
      .map-consent button:hover { transform: translateY(-1px); box-shadow:0 10px 22px rgba(0,0,0,.25);} 
      .map-alt { text-align:center; font-size:12px; color:#555; padding:8px; }
      @media (max-width: 860px) {
        .hours-map .inner { grid-template-columns: 1fr; }
        .map-wrap iframe { min-height: 220px; }
      }

      /* Sticky mobile order bar */
      .sticky-order { position: fixed; left:0; right:0; bottom: 10px; display:none; gap:10px; justify-content:center; z-index:20; }
      .sticky-order .bar { background:#000; color:#fff; display:flex; gap:10px; padding:10px 12px; border-radius: 999px; box-shadow:0 12px 24px rgba(0,0,0,.22); }
      .sticky-order a { display:inline-block; padding:8px 12px; border-radius:999px; background:#fff; color:#000; font-weight:800; border:2px solid #000; }
      @media (max-width: 640px) { .sticky-order { display:flex; } }

      /* Footer */
      footer { background: var(--header-bg); color: #000; min-height: 105px; padding: 16px 20px; border-top: 2px solid rgba(0,0,0,0.1); margin-top: 40px; display: flex; align-items: center; }
      .footer-content { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 20px; width: 100%; margin-bottom: 0; }
      .footer-content p { margin: 2px 0; font-size: 15px; line-height: 1.3; }
      .footer-content a { color: #000; font-weight: 600; position: relative; transition: color 0.3s ease, text-shadow 0.3s ease; }
      .footer-content a:hover { color: #fff; text-shadow: 0 0 6px rgba(255,255,255,0.7); }
      .footer-bottom { text-align: center; border-top: 1px solid rgba(0,0,0,0.15); padding-top: 6px; font-size: 13px; margin-top: 8px; }
      .footer-left { display:flex; align-items:center; gap:14px; }
      .footer-left .footer-logo { height: 72px; width: auto; display:block; }
      .footer-left .addr { display:flex; flex-direction:column; justify-content:center; text-align:center; }
      .footer-left .addr p { margin:2px 0; font-weight:800; }
      /* Contact list formatting */
      .footer-center .contact-list, .footer-right .contact-list { list-style:none; margin:0; padding:0; }
      .footer-center .contact-list li, .footer-right .contact-list li { display:grid; grid-template-columns: auto 1fr; align-items:center; gap:8px 10px; margin:4px 0; }
      .footer-center .label, .footer-right .label { display:inline-flex; align-items:center; gap:6px; font-weight:900; letter-spacing:.2px; padding:0; border-radius:0; background: transparent; border:none; }
      .footer-center a { font-weight:800; }
      .footer-center .icon { width:14px; height:14px; display:inline-block; }
      .footer-right a:hover { color: #fff; text-shadow: 0 0 6px rgba(255,255,255,0.9); }
      .social a { display:inline-flex; align-items:center; justify-content:center; width:34px; height:34px; border-radius:50%; background: rgba(255,255,255,0.5); margin-right:4px; transition: background .25s ease, transform .2s ease, box-shadow .2s ease; }
      .social a:hover { background:#000; color:#fff; transform: translateY(-1px); box-shadow: 0 4px 10px rgba(0,0,0,.25); }
