
    :root{
      --red-deep:#5F1414;
      --red-cover:#4F1010;
      --red-accent:#E11D2E;
      --red-dark:#350909;
      --red-glow:#8A1818;
      --cream:#FAF7F2;
      --white:#FFFFFF;
      --black:#1A1A1A;
      --gray-text:#555555;
      --gray-light:#999;
      --line:rgba(0,0,0,0.08);
      --font-sans:'Lato',Arial,sans-serif;
      --font-serif:'Playfair Display',Georgia,serif;
      --font-display:'Cinzel','Playfair Display',Georgia,serif;
      --font-script:'Dancing Script',cursive;
    }

    *{margin:0;padding:0;box-sizing:border-box}
    html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
    body{
      font-family:var(--font-sans);
      color:var(--black);
      background-color:#5F1414;
      background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='lg'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.7' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23lg)' opacity='0.06'/%3E%3C/svg%3E");
      line-height:1.6;
      overflow-x:clip;
      -webkit-font-smoothing:antialiased;
      position:relative;
    }
    /* Fixed leather texture behind everything — more reliable than background-attachment:fixed on iOS */
    body::before{
      content:'';position:fixed;inset:0;z-index:-2;pointer-events:none;
      background:#3A0808 url('/assets/leather-background.webp') center center / cover no-repeat;
    }
    body::after{
      content:'';position:fixed;inset:0;z-index:-1;pointer-events:none;
      background:rgba(0,0,0,.35);
    }
    a{color:inherit}

    /* ======================= HERO ======================= */
    .hero{
      min-height:100vh;
      position:relative;
      display:flex;flex-direction:column;align-items:center;justify-content:center;
      padding:4rem 1.5rem;text-align:center;color:#fff;overflow:hidden;
      background:#5F1414 url('/assets/leather-background.webp') center center / cover no-repeat;
    }
    /* Subtle vignette so the logo and text pop a bit on the texture */
    .hero::before{
      content:'';position:absolute;inset:0;pointer-events:none;
      background:radial-gradient(ellipse at center, transparent 0%, transparent 45%, rgba(0,0,0,.25) 100%);
    }
    .hero-content{position:relative;z-index:3;animation:fadeUp 1.2s cubic-bezier(.16,1,.3,1) forwards}
    @keyframes fadeUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}

    .logo-img{
      display:block;
      width:clamp(220px, 38vw, 380px);
      height:auto;
      filter:
        brightness(0) invert(1)
        drop-shadow(0 4px 24px rgba(0,0,0,.55))
        drop-shadow(0 2px 6px rgba(0,0,0,.4))
        drop-shadow(0 0 1px rgba(0,0,0,.5));
      margin:0 auto;
    }
    .footer-logo-img{
      display:block;
      width:clamp(160px, 26vw, 240px);
      height:auto;
      filter:
        brightness(0) invert(1)
        drop-shadow(0 3px 16px rgba(0,0,0,.5))
        drop-shadow(0 1px 4px rgba(0,0,0,.35));
      margin:0 auto .5rem;
    }
    .steak-night-logo-img{
      display:block;
      width:clamp(90px, 14vw, 130px);
      height:auto;
      filter:
        brightness(0) invert(1)
        drop-shadow(0 3px 12px rgba(0,0,0,.6))
        drop-shadow(0 1px 3px rgba(0,0,0,.4));
      margin:0 auto;
    }

    .hero-divider{margin:2.5rem auto;width:220px;opacity:.85}

    .welcome{
      font-family:var(--font-display);
      font-size:clamp(.85rem,1.5vw,1rem);
      letter-spacing:.35em;text-transform:uppercase;
      margin-bottom:1rem;opacity:.92;font-weight:400;
      text-shadow:0 2px 6px rgba(0,0,0,.4);
    }
    .hero-subtitle{
      font-family:var(--font-serif);
      font-style:italic;font-weight:400;
      font-size:clamp(1.1rem,2.4vw,1.55rem);
      margin-bottom:3rem;max-width:560px;line-height:1.5;opacity:.98;
      text-shadow:0 2px 8px rgba(0,0,0,.45);
    }
    .contact-info{
      font-family:var(--font-sans);font-size:.95rem;
      letter-spacing:.05em;line-height:1.9;opacity:.98;
      text-shadow:0 1px 4px rgba(0,0,0,.4);
    }
    .contact-info a{
      text-decoration:none;border-bottom:1px solid rgba(255,255,255,.35);
      transition:border-color .25s;
    }
    .contact-info a:hover{border-color:#fff}

    .hero-opening-hours{
      display:flex;flex-direction:column;align-items:center;gap:.75rem;
      margin:1.35rem auto 0;padding:1rem 1.25rem 1.05rem;
      max-width:23rem;width:min(100%,23rem);
      border:1px solid rgba(255,255,255,.48);
      background:rgba(0,0,0,.30);
      box-shadow:0 10px 28px rgba(0,0,0,.18);
      text-shadow:0 1px 4px rgba(0,0,0,.45);
      text-align:center;
      border-radius:2px;
    }
    .hero-opening-label{
      font-family:var(--font-display);font-size:.72rem;letter-spacing:.28em;
      text-transform:uppercase;font-weight:700;opacity:.82;
    }
    .hero-opening-main{
      display:flex;flex-direction:column;align-items:center;gap:.18rem;
      width:100%;
    }
    .hero-opening-days{
      font-family:var(--font-sans);font-size:.84rem;letter-spacing:.18em;
      text-transform:uppercase;opacity:.86;
    }
    .hero-opening-time{
      font-family:var(--font-serif);font-size:1.12rem;letter-spacing:.02em;
      line-height:1.3;
    }
    .hero-opening-detail{
      width:100%;display:flex;flex-direction:column;align-items:center;gap:.16rem;
      padding-top:.8rem;border-top:1px solid rgba(255,255,255,.24);
    }
    .hero-opening-detail-label{
      font-family:var(--font-sans);font-size:.74rem;letter-spacing:.16em;
      text-transform:uppercase;opacity:.72;
    }
    .hero-opening-detail-time{
      font-family:var(--font-serif);font-size:1rem;letter-spacing:.01em;
      line-height:1.25;
    }
    .hero-opening-detail-note{
      font-family:var(--font-sans);font-size:.8rem;opacity:.82;letter-spacing:.04em;
    }

    .scroll-cue{
      position:absolute;bottom:1.8rem;left:50%;transform:translateX(-50%);
      color:#fff;opacity:.6;font-size:.75rem;letter-spacing:.3em;text-transform:uppercase;
      z-index:3;animation:bounce 2.2s ease-in-out infinite;
      font-family:var(--font-display);
    }
    @keyframes bounce{
      0%,100%{transform:translate(-50%,0);opacity:.6}
      50%{transform:translate(-50%,8px);opacity:1}
    }

    /* ======================= NAV ======================= */
    .nav{
      position:sticky;top:0;background:rgba(250,247,242,.96);
      backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
      border-bottom:1px solid var(--line);
      z-index:50;padding:.9rem 0;
    }
    .nav-container{
      max-width:1200px;margin:0 auto;padding:0 1.5rem;
      overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;
      touch-action:pan-x;
      position:relative;
      mask-image:linear-gradient(to right, transparent 0, #000 1.5rem, #000 calc(100% - 1.5rem), transparent 100%);
      -webkit-mask-image:linear-gradient(to right, transparent 0, #000 1.5rem, #000 calc(100% - 1.5rem), transparent 100%);
    }
    .nav-container::-webkit-scrollbar{display:none}
    .nav-list{
      display:flex;list-style:none;gap:1.75rem;justify-content:center;
      flex-wrap:nowrap;white-space:nowrap;
    }
    .nav-list a{
      font-family:var(--font-sans);font-size:.78rem;font-weight:700;
      letter-spacing:.18em;text-transform:uppercase;
      color:var(--black);text-decoration:none;
      transition:color .2s;position:relative;padding:.5rem 0;
      display:inline-block;
    }
    .nav-list a:hover{color:var(--red-accent)}
    .nav-list a::after{
      content:'';position:absolute;left:0;bottom:-2px;width:0;height:2px;
      background:var(--red-accent);transition:width .3s;
    }
    .nav-list a:hover::after{width:100%}

    /* ======================= MENU ======================= */
    .menu-wrap{position:relative}
    .menu{max-width:1000px;margin:0 auto;padding:5rem 1.5rem 3rem;position:relative;z-index:1}
    .section{
      background:var(--cream);
      padding:3.5rem 2.5rem 3rem;
      margin-bottom:1.5rem;
      scroll-margin-top:5rem;
      position:relative;
      box-shadow:
        0 14px 50px -12px rgba(0,0,0,.55),
        0 4px 10px rgba(0,0,0,.18);
    }
    .section::before{
      content:'';position:absolute;inset:0;pointer-events:none;z-index:0;
      background-image:
        url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 1600' preserveAspectRatio='xMidYMid slice'><defs><linearGradient id='g1' x1='0' y1='0' x2='1' y2='1'><stop offset='0' stop-color='%23000' stop-opacity='0.045'/><stop offset='1' stop-color='%23000' stop-opacity='0.015'/></linearGradient><linearGradient id='g2' x1='1' y1='0' x2='0' y2='1'><stop offset='0' stop-color='%23000' stop-opacity='0.05'/><stop offset='1' stop-color='%23000' stop-opacity='0.02'/></linearGradient></defs><path d='M1200 0 L850 0 L1200 360 Z' fill='url(%23g1)'/><path d='M0 0 L0 220 L320 0 Z' fill='url(%23g2)'/><path d='M1200 460 L900 380 L1200 880 Z' fill='url(%23g1)'/><path d='M0 1100 L0 1400 L450 1600 L0 1600 Z' fill='url(%23g2)'/><path d='M1200 1600 L1200 1320 L840 1600 Z' fill='url(%23g1)'/><path d='M280 1200 L840 240 L890 270 L330 1230 Z' fill='%23000' fill-opacity='0.015'/><path d='M170 760 L370 800 L350 870 L150 830 Z' fill='%23000' fill-opacity='0.02'/></svg>"),
        url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='400' height='400'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch' seed='4'/><feColorMatrix values='0 0 0 0 0.3 0 0 0 0 0.15 0 0 0 0 0.05 0 0 0 0.04 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
      background-size:cover, 400px 400px;
      background-position:center, 0 0;
      background-repeat:no-repeat, repeat;
      opacity:1;
      mix-blend-mode:multiply;
    }
    .section > *{position:relative;z-index:1}

    .section-header{text-align:center;margin-bottom:2.5rem;padding:0}
    .section-intro{
      max-width:680px;margin:-1rem auto 2.5rem;text-align:center;
      font-family:var(--font-serif);font-style:italic;
      font-size:1rem;line-height:1.65;color:var(--gray-text);
    }
    .section-title{
      font-family:var(--font-serif);
      font-size:clamp(1.4rem,3vw,1.9rem);
      font-weight:700;letter-spacing:.18em;
      color:var(--black);margin-bottom:1rem;
    }
    .divider{display:inline-block;margin:0 auto;color:var(--red-deep)}

    /* Items */
    .menu-item{padding:1.4rem 0;border-bottom:1px solid var(--line)}
    .menu-item:last-child{border-bottom:none}
    .item-row{
      display:grid;
      grid-template-columns:2.5rem 1fr auto;
      gap:1rem;align-items:baseline;margin-bottom:.4rem;
    }
    .item-code{
      font-family:var(--font-sans);font-weight:900;
      color:var(--red-accent);font-size:.95rem;letter-spacing:.03em;
    }
    .item-names{
      display:grid;grid-template-columns:1fr 1.1fr;gap:.5rem 1rem;
      align-items:baseline;
    }
    .item-name-vn,.item-name-en{
      font-family:var(--font-sans);font-weight:700;
      font-size:.95rem;letter-spacing:.025em;
      color:var(--black);text-transform:uppercase;
    }
    .item-price{
      font-family:var(--font-sans);font-weight:700;
      color:var(--red-accent);font-size:.95rem;white-space:nowrap;
      border-left:2px solid var(--red-accent);padding-left:.75rem;
    }
    .item-description{
      font-family:var(--font-serif);font-style:italic;
      font-size:.94rem;color:var(--gray-text);
      line-height:1.55;margin:.2rem 0 0 3.5rem;max-width:88%;
    }
    .item-note{
      font-family:var(--font-sans);font-size:.85rem;
      color:var(--gray-text);margin:.4rem 0 0 3.5rem;font-style:italic;
    }
    .item-note b{color:var(--black);font-weight:700;font-style:normal}

    /* Variants (size/price options under an item) */
    .item-variants{
      margin:.5rem 0 0 3.5rem;
      display:grid;
      grid-template-columns:auto auto 1fr auto;
      column-gap:1rem;row-gap:.35rem;
      align-items:baseline;font-size:.92rem;
    }
    .item-variants > .variant-row{display:contents}
    .item-variants > .sub-options{
      grid-column:1 / -1;
      display:grid;
      grid-template-columns:auto 1fr auto;
      column-gap:1rem;row-gap:.35rem;
      margin:.25rem 0 0 1.5rem;
      align-items:baseline;
    }
    .sub-options > .variant-row{display:contents}
    .variant-row{align-items:baseline;font-size:.92rem}
    .variant-code{
      font-family:var(--font-sans);font-weight:900;
      color:var(--red-accent);font-size:.85rem;
    }
    .variant-label{font-style:italic;color:var(--gray-text);font-family:var(--font-serif)}
    .variant-size{color:var(--gray-text);font-size:.88rem}
    .variant-price{
      font-family:var(--font-sans);font-weight:700;
      color:var(--red-accent);border-left:2px solid var(--red-accent);
      padding-left:.75rem;white-space:nowrap;font-size:.92rem;
    }

    /* Chili icon */
    .chili{display:inline-block;margin-left:.4rem;color:var(--red-accent);font-size:.95rem;line-height:1}

    /* Sub-options (variants where the variant is a category, e.g. seafood/beef) */
    .sub-options{margin:.5rem 0 0 3.5rem}
    /* Sauce box */
    .sauce-box{
      border:1.5px solid var(--red-accent);
      padding:1.4rem 1.75rem;margin:2.5rem auto;
      max-width:640px;border-radius:2px;
    }
    .sauce-box-title{
      font-family:var(--font-serif);font-style:italic;
      color:var(--red-accent);text-align:center;margin-bottom:1rem;
      font-size:1.1rem;font-weight:700;
    }
    .sauce-list{
      list-style:none;display:flex;flex-wrap:wrap;
      gap:.4rem 1.75rem;justify-content:center;
    }
    .sauce-list li{font-size:.92rem;font-family:var(--font-sans)}
    .sauce-num{color:var(--red-accent);font-weight:700}

    /* Kids menu callout */
    .kids-quote{
      text-align:center;font-family:var(--font-serif);
      font-style:italic;color:var(--red-accent);font-weight:700;
      letter-spacing:.12em;margin-bottom:.4rem;font-size:.95rem;
      text-transform:uppercase;
    }

    /* Block descriptions (steak section) */
    .group-description{
      font-family:var(--font-serif);font-style:italic;
      color:var(--gray-text);font-size:.95rem;line-height:1.65;
      margin:.6rem 0 1.4rem 3.5rem;max-width:90%;
    }
    .group-description b{color:var(--black);font-weight:700;font-style:normal}
    .group-description em{font-style:italic;color:var(--black);font-weight:600}

    /* Steak group header */
    .steak-group{margin-bottom:2.5rem}
    .steak-group:last-child{margin-bottom:0}
    .steak-header{
      display:grid;grid-template-columns:1fr auto;
      gap:1rem;align-items:baseline;margin-bottom:.4rem;
    }
    .steak-title{
      font-family:var(--font-sans);font-weight:900;
      font-size:1rem;letter-spacing:.03em;text-transform:uppercase;
    }
    .steak-title-vn{
      font-family:var(--font-sans);font-weight:700;
      font-size:.95rem;color:var(--gray-text);text-transform:uppercase;
      margin-left:.5rem;
    }
    .steak-origin{
      font-family:var(--font-sans);font-size:.85rem;
      color:var(--gray-light);font-style:italic;
    }

    /* Chef's recommendation header */
    .chefs-rec{
      text-align:center;
      font-family:var(--font-serif);font-style:italic;
      color:var(--red-accent);font-size:1.4rem;font-weight:700;
      margin:3rem 0 2rem;
    }

    /* Pre-booking notice */
    .pre-booking{
      background:#fff;
      padding:2.25rem 1.75rem;margin:3rem auto 0;max-width:760px;text-align:center;
      box-shadow:0 14px 50px -12px rgba(0,0,0,.55),0 4px 10px rgba(0,0,0,.18);
      position:relative;
    }
    .pre-booking-title{
      font-family:var(--font-display);font-size:1.1rem;font-weight:700;
      letter-spacing:.18em;margin-bottom:1rem;
    }
    .pre-booking-text{
      font-family:var(--font-serif);font-style:italic;
      font-size:1rem;color:var(--gray-text);line-height:1.6;
    }

    /* ============== TUESDAY STEAK NIGHT BANNER ============== */
    .steak-night{
      position:relative;min-height:480px;
      margin:5rem 0 0;overflow:hidden;
      display:flex;align-items:center;justify-content:center;
      padding:4rem 1.5rem;
      background:#1A0404;
    }
    .steak-bg{
      position:absolute;top:0;right:0;bottom:0;left:0;
      background:linear-gradient(rgba(0,0,0,.28),rgba(0,0,0,.42)), url('/assets/steak-night-background.webp') center/cover;
    }
    .steak-overlay{
      position:relative;background:rgba(0,0,0,.78);
      backdrop-filter:none;-webkit-backdrop-filter:none;
      color:#fff;padding:3rem 3.5rem;text-align:center;
      max-width:600px;border:1px solid rgba(255,255,255,.08);
      z-index:2;
    }
    .steak-night-logo{
      font-family:var(--font-serif);font-weight:900;
      font-size:2rem;letter-spacing:-.04em;line-height:1;
    }
    .steak-night-logo small{
      display:block;font-family:var(--font-script);
      font-weight:700;font-size:.55em;margin-top:-.1rem;letter-spacing:0;
    }
    .steak-night-title{
      font-family:var(--font-sans);
      font-size:clamp(1.6rem,4.2vw,2.5rem);font-weight:700;
      letter-spacing:.04em;margin:1.5rem 0 1rem;text-transform:uppercase;line-height:1.15;
      text-shadow:0 2px 10px rgba(0,0,0,.6);
    }
    .steak-night-title .accent{color:var(--red-accent)}
    .steak-night-desc{
      font-family:var(--font-sans);
      font-size:clamp(1rem,2vw,1.2rem);
      font-weight:400;letter-spacing:.02em;line-height:1.55;
      max-width:480px;margin:0 auto;
    }

    /* ======================= FOOTER ======================= */
    .footer{
      background:#5F1414 url('/assets/leather-background.webp') center center / cover no-repeat;
      color:#fff;position:relative;
      padding:5rem 1.5rem 2rem;text-align:center;overflow:hidden;
    }
    .footer::before{
      content:'';position:absolute;inset:0;pointer-events:none;
      background:radial-gradient(ellipse at center, transparent 0%, transparent 50%, rgba(0,0,0,.3) 100%);
    }
    .footer-content{position:relative;z-index:2;max-width:800px;margin:0 auto}
    .footer-logo{
      font-family:var(--font-serif);font-size:clamp(3rem,8vw,4.5rem);
      font-weight:900;letter-spacing:-.05em;line-height:1;margin-bottom:.25rem;
    }
    .footer-logo sup{font-size:.32em;font-weight:700;vertical-align:super;margin-left:.04em}
    .footer-tagline{
      font-family:var(--font-script);
      font-size:clamp(1.3rem,3vw,1.7rem);font-weight:700;margin-bottom:2.5rem;
    }
    .footer-info{font-size:1rem;line-height:2;letter-spacing:.04em}
    .footer-info a{text-decoration:none;border-bottom:1px solid rgba(255,255,255,.35);transition:border-color .25s}
    .footer-info a:hover{border-color:#fff}
    .footer-info-row{display:flex;justify-content:center;align-items:center;gap:.5rem;flex-wrap:wrap}
    .footer-info-row .sep{opacity:.4}

    .allergen-notice{
      margin-top:3.5rem;padding-top:2rem;
      border-top:1px solid rgba(255,255,255,.18);
      font-family:var(--font-sans);font-size:.85rem;font-style:italic;
      line-height:1.7;opacity:.88;max-width:620px;
      margin-left:auto;margin-right:auto;
    }
    .copyright{
      margin-top:2.5rem;font-size:.75rem;opacity:.55;
      letter-spacing:.2em;text-transform:uppercase;
    }

    /* ======================= MOBILE ======================= */
    @media (max-width:768px){
      .menu{padding:2.5rem .75rem 2rem}
      .section{padding:2.5rem 1.25rem 2rem;margin-bottom:1rem}
      .section-header{margin:0 0 2rem;padding:0}

      .nav{padding:.5rem 0}
      .nav-container{padding:0 1rem}
      .nav-list{gap:1.5rem;justify-content:flex-start;padding:0 .5rem}
      .nav-list a{font-size:.72rem;letter-spacing:.14em;padding:.5rem 0}

      .item-row{grid-template-columns:2rem 1fr auto;gap:.75rem}
      .item-names{grid-template-columns:1fr;gap:.15rem}
      .item-name-en{color:var(--gray-text);font-weight:600;font-size:.85rem;letter-spacing:.03em}
      .item-description,.item-note,.item-variants,.sub-options,.group-description{margin-left:2.75rem;max-width:100%}
      .item-description{font-size:.9rem}

      .item-variants{grid-template-columns:auto auto 1fr auto;column-gap:.75rem;font-size:.86rem}
      .item-variants > .sub-options{grid-template-columns:1fr auto;column-gap:.75rem}

      .steak-header{grid-template-columns:1fr;gap:.2rem}
      .steak-title-vn{margin-left:0;display:block}
      .steak-origin{display:block;margin-top:.1rem}

      .hero{min-height:88vh;padding:3rem 1rem}
      .hero-divider{width:160px;margin:1.75rem auto}
      .scroll-cue{font-size:.65rem;bottom:1.2rem}

      .steak-night{padding:3rem 1rem;min-height:auto}
      .steak-overlay{padding:2rem 1.5rem}

      .footer{padding:4rem 1.25rem 1.5rem}
      .sauce-list{flex-direction:column;align-items:flex-start;gap:.6rem;padding-left:0}
      .sauce-list li{width:100%;text-align:left}
      .sauce-box{padding:1.25rem 1.25rem}
      .sauce-box-title{text-align:center}
    }

    @media (max-width:480px){
      .item-code{font-size:.85rem}
      .item-name-vn{font-size:.88rem}
      .item-price{font-size:.88rem;padding-left:.6rem}
      .menu{padding:2rem .85rem 1.5rem}
    }

    /* ============ VISIT US ============ */
    .visit{
      position:relative;color:#fff;padding:5.5rem 1.5rem;text-align:center;overflow:hidden;
      background:#5F1414 url('/assets/leather-background.webp') center center / cover no-repeat;
    }
    .visit::before{
      content:'';position:absolute;inset:0;pointer-events:none;
      background:radial-gradient(ellipse at center, transparent 0%, transparent 50%, rgba(0,0,0,.25) 100%);
    }
    .visit-content{position:relative;z-index:2;max-width:980px;margin:0 auto}
    .visit-title{
      font-family:var(--font-display);
      font-size:clamp(1.4rem,3.2vw,2rem);
      letter-spacing:.2em;font-weight:700;color:#fff;
      text-shadow:0 2px 8px rgba(0,0,0,.5);
    }
    .visit-divider{margin:1.25rem auto 0;width:200px;opacity:.9;color:#fff;filter:drop-shadow(0 1px 3px rgba(0,0,0,.4))}
    .visit-grid{
      display:grid;grid-template-columns:repeat(3,1fr);
      gap:2.5rem;margin-top:3.5rem;
    }
    .visit-card{padding:0 .5rem}
    .visit-label{
      font-family:var(--font-display);
      font-size:.78rem;letter-spacing:.32em;text-transform:uppercase;
      opacity:.7;margin-bottom:1.1rem;font-weight:700;
    }
    .visit-value{
      font-family:var(--font-serif);
      font-size:1.05rem;line-height:1.75;font-style:italic;
    }
    .visit-value strong{font-style:normal;font-weight:700;letter-spacing:.02em}
    .visit-value a{
      color:#fff;text-decoration:none;
      border-bottom:1px solid rgba(255,255,255,.35);
      transition:border-color .25s;
    }
    .visit-value a:hover{border-color:#fff}

    .map-buttons{
      display:flex;justify-content:center;gap:.6rem;
      margin-top:1.1rem;flex-wrap:wrap;
    }
    .map-btn{
      display:inline-flex;align-items:center;gap:.5rem;
      padding:.65rem 1rem;
      background:rgba(255,255,255,.08);
      border:1px solid rgba(255,255,255,.25);
      color:#fff;text-decoration:none;
      font-family:var(--font-sans);font-size:.74rem;
      font-weight:700;letter-spacing:.12em;text-transform:uppercase;
      border-radius:2px;transition:all .25s;
      backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);
    }
    .map-btn:hover{
      background:rgba(255,255,255,.18);
      border-color:rgba(255,255,255,.6);
      transform:translateY(-1px);
    }
    .map-btn svg{width:13px;height:13px;flex-shrink:0}

    .reservation-cta{
      margin-top:3.5rem;padding-top:3rem;
      border-top:1px solid rgba(255,255,255,.18);
    }
    .reservation-text{
      font-family:var(--font-serif);font-style:italic;
      font-size:clamp(1.05rem,2vw,1.25rem);margin-bottom:1.5rem;opacity:.95;
      max-width:560px;margin-left:auto;margin-right:auto;line-height:1.55;
    }
    .btn-primary{
      display:inline-block;padding:1rem 2.25rem;
      background:var(--red-accent);color:#fff;text-decoration:none;
      font-family:var(--font-sans);font-weight:700;font-size:.82rem;
      letter-spacing:.18em;text-transform:uppercase;border-radius:2px;
      transition:all .25s;border:1px solid var(--red-accent);
    }
    .btn-primary:hover{
      background:#fff;color:var(--red-accent);
      border-color:#fff;transform:translateY(-1px);
    }

    /* ============ GALLERY ============ */
    .gallery{
      background:var(--cream);
      padding:4rem 2.5rem 3.5rem;
      max-width:1100px;
      margin:3rem auto;
      box-shadow:0 14px 50px -12px rgba(0,0,0,.55),0 4px 10px rgba(0,0,0,.18);
      position:relative;
    }
    .gallery::before{
      content:'';position:absolute;inset:0;pointer-events:none;z-index:0;
      background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 1600' preserveAspectRatio='xMidYMid slice'><defs><linearGradient id='g1' x1='0' y1='0' x2='1' y2='1'><stop offset='0' stop-color='%23000' stop-opacity='0.045'/><stop offset='1' stop-color='%23000' stop-opacity='0.015'/></linearGradient><linearGradient id='g2' x1='1' y1='0' x2='0' y2='1'><stop offset='0' stop-color='%23000' stop-opacity='0.05'/><stop offset='1' stop-color='%23000' stop-opacity='0.02'/></linearGradient></defs><path d='M1200 0 L850 0 L1200 360 Z' fill='url(%23g1)'/><path d='M0 0 L0 220 L320 0 Z' fill='url(%23g2)'/><path d='M0 1100 L0 1400 L450 1600 L0 1600 Z' fill='url(%23g2)'/><path d='M1200 1600 L1200 1320 L840 1600 Z' fill='url(%23g1)'/></svg>");
      background-size:cover;background-position:center;background-repeat:no-repeat;
      mix-blend-mode:multiply;
    }
    .gallery > *{position:relative;z-index:1}
    .gallery-header{text-align:center;margin-bottom:3rem}
    .gallery-grid{
      display:grid;
      grid-template-columns:repeat(3,1fr);
      gap:.75rem;
    }
    .gallery-item{
      position:relative;overflow:hidden;
      aspect-ratio:1/1;
      background:#1a0808;
      transition:transform .35s cubic-bezier(.4,0,.2,1);
    }
    .gallery-item:hover{transform:scale(1.015)}
    .gallery-item img{
      width:100%;height:100%;object-fit:cover;display:block;
      transition:transform .6s cubic-bezier(.4,0,.2,1);
    }
    .gallery-item:hover img{transform:scale(1.05)}
    .gallery-cta{
      margin-top:2.5rem;text-align:center;
      font-family:var(--font-serif);font-style:italic;
      color:var(--gray-text);font-size:1rem;
    }
    .gallery-cta a{
      color:var(--red-accent);text-decoration:none;font-weight:700;font-style:normal;
      border-bottom:1px solid transparent;transition:border-color .25s;
    }
    .gallery-cta a:hover{border-color:var(--red-accent)}

    /* ============ FOOTER SOCIALS ============ */
    .footer-socials{
      display:flex;justify-content:center;gap:1.25rem;
      margin-top:2rem;
    }
    .footer-socials a{
      display:flex;align-items:center;justify-content:center;
      width:42px;height:42px;
      background:rgba(255,255,255,.08);
      border:1px solid rgba(255,255,255,.25);
      border-radius:50%;color:#fff;text-decoration:none;
      transition:all .25s;
    }
    .footer-socials a:hover{
      background:rgba(255,255,255,.2);
      border-color:rgba(255,255,255,.6);
      transform:translateY(-2px);
    }
    .footer-socials svg{width:18px;height:18px}

    /* Mobile additions */
    @media (max-width:768px){
      .visit{padding:3.5rem 1rem}
      .visit-grid{grid-template-columns:1fr;gap:2rem;margin-top:2.5rem}
      .visit-card{padding:0}
      .reservation-cta{margin-top:2.5rem;padding-top:2rem}
      .map-buttons{flex-direction:column;align-items:stretch;max-width:240px;margin-left:auto;margin-right:auto}
      .map-btn{justify-content:center}
      .gallery{padding:3rem 1.25rem 2.5rem;margin:1.5rem .75rem}
      .gallery-grid{grid-template-columns:repeat(2,1fr);gap:.5rem}
      .reviews{padding:3rem 1.25rem 2.5rem;margin:1.5rem .75rem}
      .reviews-grid{grid-template-columns:1fr;gap:1rem}
      .reviews-stats{font-size:.95rem}
      .drinks{padding:3rem 1.25rem 2.5rem;margin:1.5rem .75rem}
      .drinks-list{grid-template-columns:auto 1fr auto;column-gap:.75rem;font-size:.86rem}
      .drinks-list 
      .drinks-list.two-col{grid-template-columns:1fr auto;column-gap:1rem}
      .drinks-list.two-col .drink-row + .drink-row{margin-top:0}
      .draft-icons{gap:1.5rem}
      .brand-logo{height:52px}
    }

    /* ============ DRINKS ============ */
    .drinks{
      background:var(--cream);
      padding:4rem 2.5rem 3.5rem;
      max-width:900px;
      margin:3rem auto;
      box-shadow:0 14px 50px -12px rgba(0,0,0,.55),0 4px 10px rgba(0,0,0,.18);
      position:relative;
    }
    .drinks::before{
      content:'';position:absolute;inset:0;pointer-events:none;z-index:0;
      background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 1600' preserveAspectRatio='xMidYMid slice'><defs><linearGradient id='g1' x1='0' y1='0' x2='1' y2='1'><stop offset='0' stop-color='%23000' stop-opacity='0.045'/><stop offset='1' stop-color='%23000' stop-opacity='0.015'/></linearGradient><linearGradient id='g2' x1='1' y1='0' x2='0' y2='1'><stop offset='0' stop-color='%23000' stop-opacity='0.05'/><stop offset='1' stop-color='%23000' stop-opacity='0.02'/></linearGradient></defs><path d='M1200 0 L850 0 L1200 360 Z' fill='url(%23g1)'/><path d='M0 0 L0 220 L320 0 Z' fill='url(%23g2)'/><path d='M0 1100 L0 1400 L450 1600 L0 1600 Z' fill='url(%23g2)'/><path d='M1200 1600 L1200 1320 L840 1600 Z' fill='url(%23g1)'/></svg>");
      background-size:cover;background-position:center;background-repeat:no-repeat;
      mix-blend-mode:multiply;
    }
    .drinks > *{position:relative;z-index:1}

    .drinks-subsection{margin-bottom:2.5rem}
    .drinks-subsection:last-of-type{margin-bottom:0}
    .drinks-subtitle{
      font-family:var(--font-serif);
      font-size:1.1rem;font-weight:700;
      letter-spacing:.18em;text-transform:uppercase;
      text-align:center;color:var(--black);
      margin:0 auto 1.25rem;
      padding-bottom:.75rem;
      border-bottom:1.5px solid var(--red-accent);
      max-width:560px;
    }
    .drinks-list{
      display:grid;
      grid-template-columns:auto 1fr auto auto;
      column-gap:1.25rem;row-gap:.45rem;
      align-items:baseline;
      font-size:.92rem;
    }
    .drinks-list .drink-row{display:contents}
    .drinks-list .drink-vn{
      font-family:var(--font-sans);font-weight:700;
      letter-spacing:.025em;text-transform:uppercase;
      color:var(--black);
    }
    .drinks-list .drink-en{
      font-family:var(--font-sans);font-weight:700;
      letter-spacing:.025em;text-transform:uppercase;
      color:var(--black);
    }
    .drinks-list .drink-size{
      font-family:var(--font-sans);color:var(--gray-text);
      font-size:.88rem;
      white-space:nowrap;
    }
    .drinks-list .drink-price{
      font-family:var(--font-sans);font-weight:700;
      color:var(--red-accent);white-space:nowrap;
      letter-spacing:.02em;
    }
    .drinks-list .drink-price::before{
      content:'| ';color:var(--red-accent);font-weight:400;margin-right:.15rem;
    }
    .drink-desc{
      grid-column:1 / -1;
      font-family:var(--font-serif);
      font-style:italic;font-size:.88rem;
      color:var(--gray-text);line-height:1.5;
      margin:0 0 .3rem 0;
    }
    /* Two-column liquors */
    .drinks-list.two-col{grid-template-columns:1fr auto 1fr auto;column-gap:1.5rem}
    .drinks-list.two-col .drink-row{display:contents}
    .drinks-list.two-col .drink-name{
      font-family:var(--font-sans);font-weight:700;
      letter-spacing:.025em;text-transform:uppercase;
      font-size:.86rem;color:var(--black);
    }
    .drinks-list.two-col .drink-price{font-size:.86rem}
    .draft-icons{
      display:flex;justify-content:center;gap:3rem;
      margin:0 0 1.5rem;align-items:center;flex-wrap:wrap;
    }
    .brand-logo{
      height:64px;width:auto;display:block;
      filter:drop-shadow(0 2px 6px rgba(0,0,0,.1));
    }

    /* ============ REVIEWS ============ */
    .reviews{
      background:var(--cream);
      padding:4rem 2.5rem 3.5rem;
      max-width:1100px;
      margin:3rem auto;
      box-shadow:0 14px 50px -12px rgba(0,0,0,.55),0 4px 10px rgba(0,0,0,.18);
      position:relative;
    }
    .reviews::before{
      content:'';position:absolute;inset:0;pointer-events:none;z-index:0;
      background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 1600' preserveAspectRatio='xMidYMid slice'><defs><linearGradient id='g1' x1='0' y1='0' x2='1' y2='1'><stop offset='0' stop-color='%23000' stop-opacity='0.045'/><stop offset='1' stop-color='%23000' stop-opacity='0.015'/></linearGradient><linearGradient id='g2' x1='1' y1='0' x2='0' y2='1'><stop offset='0' stop-color='%23000' stop-opacity='0.05'/><stop offset='1' stop-color='%23000' stop-opacity='0.02'/></linearGradient></defs><path d='M1200 0 L850 0 L1200 360 Z' fill='url(%23g1)'/><path d='M0 0 L0 220 L320 0 Z' fill='url(%23g2)'/><path d='M0 1100 L0 1400 L450 1600 L0 1600 Z' fill='url(%23g2)'/><path d='M1200 1600 L1200 1320 L840 1600 Z' fill='url(%23g1)'/></svg>");
      background-size:cover;background-position:center;background-repeat:no-repeat;
      mix-blend-mode:multiply;
    }
    .reviews > *{position:relative;z-index:1}
    .reviews-stats{
      text-align:center;
      font-family:var(--font-serif);
      font-style:italic;
      font-size:1.05rem;
      color:var(--gray-text);
      margin-bottom:2.5rem;
      line-height:1.7;
    }
    .reviews-stats strong{
      color:var(--red-accent);
      font-style:normal;
      font-weight:700;
      letter-spacing:.02em;
    }
    .reviews-stats .star{color:#E5A832;font-style:normal;font-size:1.1rem}
    .reviews-grid{
      display:grid;
      grid-template-columns:repeat(auto-fit, minmax(260px, 1fr));
      gap:1.25rem;
      margin-bottom:2rem;
    }
    .review-card{
      padding:1.75rem 1.5rem 1.5rem;
      background:#fff;
      border:1px solid rgba(0,0,0,.06);
      position:relative;
      box-shadow:0 1px 3px rgba(0,0,0,.04);
    }
    .review-stars{
      color:#E5A832;
      font-size:.95rem;
      letter-spacing:.18em;
      margin-bottom:.75rem;
      line-height:1;
    }
    .review-quote{
      font-family:var(--font-serif);
      font-style:italic;
      font-size:1.05rem;
      color:var(--black);
      line-height:1.55;
      margin-bottom:.75rem;
    }
    .review-note{
      font-family:var(--font-sans);
      font-size:.88rem;
      color:var(--gray-text);
      line-height:1.6;
      margin-bottom:1rem;
    }
    .review-attr{
      font-family:var(--font-sans);
      font-size:.78rem;
      letter-spacing:.04em;
      color:var(--gray-light);
      border-top:1px solid rgba(0,0,0,.06);
      padding-top:.75rem;
      text-transform:uppercase;
    }
    .review-attr b{font-weight:700;color:var(--black);text-transform:none;letter-spacing:.02em}
    .reviews-cta{
      text-align:center;
      font-family:var(--font-serif);
      font-style:italic;
      color:var(--gray-text);
      margin-top:1.5rem;
      font-size:1rem;
    }
    .reviews-cta a{
      color:var(--red-accent);
      text-decoration:none;
      font-weight:700;
      font-style:normal;
      border-bottom:1px solid transparent;
      transition:border-color .25s;
    }
    .reviews-cta a:hover{border-color:var(--red-accent)}

    /* Hero rating badge */
    .hero-rating{
      display:inline-flex;align-items:center;gap:.5rem;
      margin-top:1.25rem;
      padding:.5rem 1.1rem;
      background:rgba(255,255,255,.08);
      border:1px solid rgba(255,255,255,.25);
      border-radius:50px;
      font-family:var(--font-sans);
      font-size:.78rem;font-weight:700;
      letter-spacing:.1em;text-transform:uppercase;
      color:#fff;
      backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);
    }
    .hero-rating .star{color:#FFD66B;font-size:.95rem;line-height:1}

    /* Selection */
    ::selection{background:var(--red-accent);color:#fff}
  

    /* SEO/content additions: deliberately reuse the existing visual system. */
    .skip-link{position:fixed;left:1rem;top:1rem;z-index:9999;background:#fff;color:#1A1A1A;padding:.7rem 1rem;border-radius:3px;font-weight:700;text-decoration:none;transform:translateY(-180%);transition:transform .2s}
    .skip-link:focus{transform:translateY(0);outline:3px solid var(--red-accent);outline-offset:2px}
    .nav-list a:focus-visible,.local-guide a:focus-visible,.faq summary:focus-visible,.map-btn:focus-visible,.btn-primary:focus-visible{outline:3px solid var(--red-accent);outline-offset:4px;border-radius:2px}
    address.visit-value{font-style:normal}
    .local-guide-lede{max-width:820px;margin:0 auto 1.5rem;color:#333;font-size:1.02rem;line-height:1.8;text-align:center}
    .local-guide-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1.75rem}
    .local-guide-card{background:#fff;border:1px solid var(--line);padding:1.35rem 1.4rem;box-shadow:0 2px 10px rgba(0,0,0,.025)}
    .local-guide-card h3{font-family:var(--font-serif);font-size:1.18rem;line-height:1.3;color:var(--red-deep);margin:0 0 .55rem}
    .local-guide-card p{font-size:.94rem;color:#444;line-height:1.7;margin-bottom:.7rem}
    .local-guide-card a,.local-trust-links a{font-size:.88rem;font-weight:700;color:var(--red-deep);text-decoration-thickness:1px;text-underline-offset:3px}
    .local-trust{margin-top:1.25rem;padding:1.35rem 1.5rem;border-left:3px solid var(--red-accent);background:rgba(255,255,255,.55)}
    .local-trust h3{font-family:var(--font-serif);color:var(--red-deep);font-size:1.2rem;margin-bottom:.6rem}
    .local-trust ul{padding-left:1.2rem;color:#444;display:grid;gap:.35rem}
    .local-trust-links{margin-top:.8rem;font-size:.9rem;color:#555}
    @media(max-width:720px){.local-guide-grid{grid-template-columns:1fr}.local-guide-lede{text-align:left}.local-guide-card{padding:1.1rem}.local-trust{padding:1.1rem}}


.lang-dropdown{position:absolute;top:14px;right:16px;z-index:60;font-family:var(--font-sans)}
.lang-btn{background:#5F1414;color:#FAF7F2;border:2px solid #B8202E;padding:9px 18px;border-radius:8px;font-weight:700;font-size:13px;cursor:pointer;letter-spacing:.04em;box-shadow:0 3px 12px rgba(0,0,0,.3)}
.lang-btn:hover{background:#B8202E}
.lang-menu{display:none;position:absolute;top:100%;right:0;margin-top:5px;background:#5F1414;border:2px solid #B8202E;border-radius:8px;overflow:hidden;min-width:150px;box-shadow:0 8px 28px rgba(0,0,0,.45)}
.lang-menu.show{display:block}
.lang-menu button{display:block;width:100%;background:transparent;color:#FAF7F2;border:none;padding:11px 18px;text-align:left;cursor:pointer;font-size:13px;font-weight:600}
.lang-menu button:hover,.lang-menu button.active{background:#B8202E}
/* right-side alignment: fixed-width price column so the divider line and the
   second name column line up consistently down the whole menu */
.item-row{grid-template-columns:2.5rem 1fr 4.75rem}

.drink-price{text-align:right}
@media (max-width:768px){
 .item-row{grid-template-columns:2rem 1fr 4.5rem}
 
}






/* PC menu nav: show all sections (wrap), no broken horizontal scroll */
@media (min-width:769px){
  .nav-container{overflow-x:visible;overflow-y:visible;max-width:1080px;
    -webkit-mask-image:none;mask-image:none;touch-action:auto}
  .nav-list{flex-wrap:wrap;justify-content:center;white-space:normal;
    row-gap:.15rem;column-gap:1.35rem}
  .nav-list a{padding:.35rem 0}
}


.welcome-letter{background-color:#f0ebe3;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='170' height='170'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.05'/%3E%3C/svg%3E"),linear-gradient(118deg,rgba(255,255,255,0) 27%,rgba(255,255,255,.55) 40%,rgba(255,255,255,0) 53%),linear-gradient(118deg,rgba(255,255,255,0) 60%,rgba(255,255,255,.30) 71%,rgba(255,255,255,0) 82%),radial-gradient(135% 70% at 16% 10%,rgba(255,255,255,.7),rgba(255,255,255,0) 55%),radial-gradient(120% 80% at 90% 92%,rgba(193,186,176,.5),rgba(193,186,176,0) 52%),linear-gradient(155deg,#faf8f3 0%,#efe9e1 58%,#e6dfd4 100%);background-size:170px 170px,100% 100%,100% 100%,100% 100%,100% 100%,100% 100%;background-repeat:repeat,no-repeat,no-repeat,no-repeat,no-repeat,no-repeat;padding:4.5rem 1.5rem 3.5rem;position:relative;z-index:1}
.welcome-letter-inner{max-width:760px;margin:0 auto;text-align:center}
.wl-eyebrow{display:block;font-family:var(--font-serif);font-style:italic;font-size:1.15rem;color:var(--gray-text);margin-bottom:.5rem}
.wl-title{font-family:var(--font-display);font-weight:700;font-size:clamp(1.45rem,4vw,2.15rem);letter-spacing:.03em;color:var(--black);margin:0 0 1.4rem;line-height:1.25}
.wl-divider{display:block;width:64px;height:2px;background:var(--red-accent);margin:0 auto 2.2rem}
.welcome-letter .wl-p,.welcome-letter .wl-saying,.welcome-letter .wl-quote{
  font-family:var(--font-serif);font-style:italic;color:#3a3633;
  max-width:640px;margin:0 auto 1.45rem;line-height:1.85;font-size:clamp(1rem,2vw,1.15rem)}
.welcome-letter .wl-saying{margin-bottom:.35rem;color:var(--gray-text);font-size:1.05rem}
.welcome-letter .wl-quote{font-size:clamp(1.35rem,3.6vw,1.95rem);font-weight:700;color:var(--red-deep);margin:.3rem auto 2.2rem;line-height:1.4}
.welcome-letter .wl-sign{font-family:var(--font-script);font-size:2rem;color:var(--black);margin:1.4rem 0 0}
@media (max-width:768px){.welcome-letter{padding:3.5rem 1.25rem 2.5rem}}


/* --- bilingual drinks (VN + EN), responsive --- */
.drinks-list{grid-template-columns:1fr auto auto;column-gap:1.1rem}
.drink-names{display:flex;flex-wrap:wrap;align-items:baseline;min-width:0}
.drink-names .drink-vn{margin-right:.55rem}
.drink-en{display:inline;font-weight:600;color:var(--gray-text);text-transform:uppercase;letter-spacing:.02em}
@media (max-width:768px){
  .drinks-list{grid-template-columns:1fr auto auto;column-gap:.7rem}
  .drink-names{flex-direction:column}
  .drink-names .drink-vn{margin-right:0}
}
/* --- interactive map --- */
.map-embed{position:relative;width:100%;height:420px;margin:2rem auto 0;max-width:900px;
  border-radius:12px;overflow:hidden;border:2px solid var(--red-accent);
  box-shadow:0 10px 30px rgba(0,0,0,.35)}
.map-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.map-directions{display:inline-block;margin:1rem auto 0;padding:.7rem 1.5rem;border-radius:8px;
  background:var(--red-accent);color:#fff;font-family:var(--font-sans);font-weight:700;
  font-size:.85rem;letter-spacing:.05em;text-transform:uppercase;text-decoration:none;
  transition:filter .2s}
.map-directions:hover{filter:brightness(1.12)}
@media (max-width:768px){.map-embed{height:320px}}


/* === Steak Night: match printed-menu black box === */
.steak-overlay{
  background:rgba(8,8,8,.93) !important;
  -webkit-backdrop-filter:none !important; backdrop-filter:none !important;
  border-radius:18px;
  max-width:600px;
  margin-top:3rem;
  padding:3.6rem 3rem 2.8rem !important;
  box-shadow:0 20px 55px rgba(0,0,0,.55);
}
.steak-night-badge{
  position:absolute; top:0; left:50%;
  transform:translate(-50%,-55%);
  width:116px; height:116px;
  border-radius:50%;
  background:rgba(8,8,8,.97);
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 8px 22px rgba(0,0,0,.5);
}
.steak-night-logo-img{
  width:74px !important; height:auto !important; margin:0 !important;
  filter:brightness(0) invert(1) drop-shadow(0 2px 6px rgba(0,0,0,.5)) !important;
}
.steak-night-title{ color:#fff !important; margin:.4rem 0 1rem !important; }
.steak-night-title .accent{ color:#fff !important; }
@media (max-width:768px){
  .steak-overlay{ padding:3rem 1.6rem 2.2rem !important; margin-top:2.6rem; border-radius:16px; }
  .steak-night-badge{ width:94px; height:94px; }
  .steak-night-logo-img{ width:60px !important; }
}


@media (max-width:768px){
  .brand-logo{height:38px}
  .draft-icons{gap:1rem;margin-bottom:1.1rem}
}
@media (max-width:480px){
  .brand-logo{height:32px}
  .draft-icons{gap:.7rem}
}


/* SEO content additions */
.local-seo-intro{max-width:760px;margin:0 auto 1.45rem;font-size:1.02rem;line-height:1.78;color:#3d3d3d;font-weight:400}
.faq{max-width:1000px;margin:0 auto 1.5rem;background:var(--cream);padding:3.5rem 2.5rem;box-shadow:0 14px 50px -12px rgba(0,0,0,.55),0 4px 10px rgba(0,0,0,.18);position:relative}
.faq-header{text-align:center;margin-bottom:2rem}.faq-list{max-width:820px;margin:0 auto;display:grid;gap:.8rem}
.faq-item{border:1px solid rgba(0,0,0,.09);background:rgba(255,255,255,.35);padding:1.1rem 1.2rem}
.faq-item summary{cursor:pointer;font-family:var(--font-serif);font-size:1.05rem;font-weight:700;color:var(--black);list-style-position:outside}
.faq-answer{padding:.75rem 0 .15rem;line-height:1.7;color:var(--gray-text)}
.lang-menu a{display:block;width:100%;background:transparent;color:#FAF7F2;border:none;padding:11px 18px;text-align:left;cursor:pointer;font-size:13px;font-weight:600;text-decoration:none}
.lang-menu a:hover,.lang-menu a.active{background:#B8202E}
@media(max-width:768px){.faq{padding:2.5rem 1.25rem}.local-seo-intro{font-size:.98rem}}

/* ===== Multi-page architecture additions ===== */
.site-primary-nav .nav-container{max-width:1180px}
.site-primary-nav .nav-list{gap:1.35rem}
.site-primary-nav .nav-list a[aria-current="page"]{color:var(--red-accent)}
.site-primary-nav .nav-list a[aria-current="page"]::after{width:100%}
.menu-quick-nav{max-width:1000px;margin:2.25rem auto 0;padding:0 1.5rem;position:relative;z-index:2}
.menu-quick-nav .quick-scroll{display:flex;gap:.65rem;overflow-x:auto;scrollbar-width:none;padding:.2rem 0 .7rem}
.menu-quick-nav .quick-scroll::-webkit-scrollbar{display:none}
.menu-quick-nav a{flex:0 0 auto;background:rgba(250,247,242,.96);border:1px solid rgba(0,0,0,.1);padding:.6rem .8rem;text-decoration:none;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;border-radius:999px;box-shadow:0 4px 16px rgba(0,0,0,.18)}
.menu-quick-nav a:hover,.menu-quick-nav a:focus-visible{color:var(--red-accent);border-color:var(--red-accent)}
.subpage-hero{min-height:62vh}
.subpage-hero .hero-subtitle{max-width:720px;margin-bottom:2rem}
.page-shell{max-width:1000px;margin:0 auto;padding:4rem 1.5rem 2.5rem}
.page-card{background:var(--cream);padding:3.5rem 2.5rem;margin-bottom:1.5rem;position:relative;box-shadow:0 14px 50px -12px rgba(0,0,0,.55),0 4px 10px rgba(0,0,0,.18)}
.page-card h1,.page-card h2,.page-card h3{font-family:var(--font-serif);color:var(--black)}
.page-card h1{font-size:clamp(2rem,5vw,3.25rem);line-height:1.12;margin-bottom:1.1rem}
.page-card h2{font-size:clamp(1.45rem,3vw,2rem);margin:2rem 0 .8rem}
.page-card h3{font-size:1.15rem;margin:1.4rem 0 .5rem}
.page-card p{margin:.8rem 0;color:#3f3f3f;line-height:1.78}
.page-card ul,.page-card ol{margin:.8rem 0 1.2rem 1.25rem;color:#3f3f3f}
.page-card li{margin:.45rem 0;line-height:1.65}
.page-lead{font-family:var(--font-serif);font-size:1.12rem;line-height:1.75;color:#3d3d3d}
.eyebrow{font-family:var(--font-display);color:var(--red-accent);font-size:.78rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;display:block;margin-bottom:.7rem}
.breadcrumb{font-size:.78rem;letter-spacing:.04em;margin-bottom:1.3rem;color:#666}
.breadcrumb ol{display:flex;gap:.5rem;list-style:none;margin:0;flex-wrap:wrap}
.breadcrumb li+li::before{content:'›';margin-right:.5rem;color:#999}
.breadcrumb a{color:var(--red-deep);text-decoration:none;border-bottom:1px solid rgba(95,20,20,.25)}
.feature-grid,.related-grid,.trust-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:1.5rem 0}
.feature-card,.related-card,.trust-card{background:#fff;border:1px solid rgba(0,0,0,.08);padding:1.3rem;box-shadow:0 5px 18px rgba(0,0,0,.06)}
.feature-card h3,.related-card h3,.trust-card h3{margin:.2rem 0 .5rem}
.related-card a{color:var(--red-deep);font-weight:800;text-decoration:none}
.related-card a::after{content:' →'}
.photo-block{margin:1.5rem 0 2rem}
.photo-block picture,.photo-block img{display:block;width:100%;height:auto}
.photo-block img{max-height:560px;object-fit:cover}
.photo-caption{font-size:.78rem;color:#666;margin-top:.45rem}
.menu-highlight{display:grid;grid-template-columns:1fr auto;gap:.5rem 1rem;padding:1rem 0;border-bottom:1px solid var(--line)}
.menu-highlight strong{font-size:.98rem}
.menu-highlight .price{color:var(--red-accent);font-weight:800;white-space:nowrap}
.menu-highlight p{grid-column:1/-1;margin:0;font-size:.92rem;color:#555}
.cta-band{background:#350909;color:#fff;padding:2rem;text-align:center;margin:1.75rem 0}
.cta-band h2{color:#fff;margin:0 0 .6rem}
.cta-band p{color:#f5eaea;margin:.5rem auto 1rem;max-width:680px}
.cta-actions{display:flex;justify-content:center;gap:.75rem;flex-wrap:wrap;margin-top:1rem}
.cta-btn{display:inline-block;background:var(--red-accent);color:#fff;text-decoration:none;padding:.75rem 1rem;border-radius:4px;font-weight:800;letter-spacing:.04em}
.cta-btn.secondary{background:transparent;border:1px solid rgba(255,255,255,.5)}
.faq-details{display:grid;gap:.7rem;margin-top:1.2rem}
.faq-details details{background:#fff;border:1px solid rgba(0,0,0,.09);padding:1rem 1.1rem}
.faq-details summary{cursor:pointer;font-weight:800;color:var(--black)}
.faq-details details p{margin:.65rem 0 0}
.fact-table{width:100%;border-collapse:collapse;margin:1.2rem 0}
.fact-table th,.fact-table td{text-align:left;vertical-align:top;padding:.8rem;border-bottom:1px solid var(--line)}
.fact-table th{width:32%;font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:#666}
.beer-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin:1.5rem 0}
.beer-card{background:#fff;border:1px solid rgba(0,0,0,.08);padding:1rem;text-align:center}
.beer-card img{height:90px;width:auto;max-width:100%;object-fit:contain;margin:0 auto .65rem}
.beer-card strong{display:block}
.review-source-note{font-size:.83rem;color:#666;font-style:italic}
.site-links-footer{margin-top:1.5rem;display:flex;justify-content:center;gap:.75rem 1.2rem;flex-wrap:wrap;font-size:.82rem}
.site-links-footer a{text-decoration:none;border-bottom:1px solid rgba(255,255,255,.3)}
@media(max-width:800px){
  .feature-grid,.related-grid,.trust-grid{grid-template-columns:1fr}
  .beer-grid{grid-template-columns:repeat(2,1fr)}
  .page-shell{padding:2.5rem .8rem 1.5rem}.page-card{padding:2rem 1.2rem}
  .subpage-hero{min-height:55vh}.fact-table th{width:38%}
}
@media(max-width:480px){.beer-grid{grid-template-columns:1fr 1fr}.page-card{padding:1.6rem 1rem}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

.menu-quick-nav a.active{color:var(--red-accent);border-color:var(--red-accent)}


/* Premium restaurant UI refinement */
.page-card{border:1px solid rgba(111,70,25,.34);outline:1px solid rgba(255,255,255,.7);outline-offset:-8px;background-image:linear-gradient(rgba(255,252,245,.97),rgba(255,252,245,.97)),url('/assets/leather-background.webp');overflow:hidden}
.page-card::before,.page-card::after{content:"✦";position:absolute;color:#a57a3b;font-family:Georgia,serif;font-size:1rem;opacity:.8;z-index:1}.page-card::before{top:14px;left:18px}.page-card::after{right:18px;bottom:14px}
.cta-band{position:relative;overflow:hidden;background:linear-gradient(145deg,#280505 0%,#4d0d0d 48%,#260404 100%);border:1px solid #b68a49;outline:1px solid rgba(232,205,151,.28);outline-offset:-8px;box-shadow:0 14px 34px rgba(31,2,2,.26),inset 0 0 45px rgba(0,0,0,.28);padding:2.5rem 2rem}
.cta-band::before,.cta-band::after{content:"";position:absolute;width:92px;height:92px;opacity:.32;background:radial-gradient(circle at 0 0,transparent 0 45%,#c8a76d 46% 48%,transparent 49%),linear-gradient(135deg,transparent 46%,#c8a76d 47% 49%,transparent 50%)}
.cta-band::before{left:-15px;top:-15px}.cta-band::after{right:-15px;bottom:-15px;transform:rotate(180deg)}
.cta-band h2{font-family:var(--font-serif);letter-spacing:.015em;text-shadow:0 2px 12px rgba(0,0,0,.45)}
.cta-actions{position:relative;z-index:2;display:flex;flex-wrap:wrap;justify-content:center;gap:.85rem}
.cta-btn,.btn-primary,.map-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.78rem 1.28rem;border-radius:2px;border:1px solid #c6a05d;background:linear-gradient(180deg,#8f1e24 0%,#651016 100%);color:#fff!important;font-family:var(--font-sans);font-weight:800;letter-spacing:.055em;text-decoration:none;box-shadow:0 5px 14px rgba(42,3,5,.3),inset 0 1px 0 rgba(255,255,255,.2);transition:transform .2s ease,box-shadow .2s ease,filter .2s ease}
.cta-btn::before,.btn-primary::before,.map-btn::before{content:"";position:absolute;inset:4px;border:1px solid rgba(238,205,144,.32);pointer-events:none}
.cta-btn:hover,.btn-primary:hover,.map-btn:hover{transform:translateY(-2px);filter:brightness(1.08);box-shadow:0 8px 19px rgba(42,3,5,.38),inset 0 1px 0 rgba(255,255,255,.22)}
.cta-btn.secondary{background:linear-gradient(180deg,#3c0b0d,#220405);border-color:#a9844a;color:#fff!important}
.cta-btn:focus-visible,.btn-primary:focus-visible,.map-btn:focus-visible{outline:3px solid #e8c788;outline-offset:3px}
.feature-card,.related-card,.trust-card{border:1px solid rgba(139,93,37,.28);box-shadow:0 8px 24px rgba(50,27,7,.08);background:linear-gradient(145deg,#fffdf8,#f8f1e6);position:relative}
.feature-card::after,.related-card::after,.trust-card::after{content:"";position:absolute;inset:5px;border:1px solid rgba(177,132,67,.18);pointer-events:none}
.photo-block{border:1px solid #b28b50;padding:8px;background:#f6efe2;box-shadow:0 12px 28px rgba(36,15,5,.18)}
.photo-block img{border:1px solid rgba(83,45,13,.28)}
.photo-caption{font-family:var(--font-sans);font-size:.88rem;color:#5b4732;padding:.7rem .4rem .25rem;text-align:center;font-style:italic}
@media(max-width:600px){.cta-band{padding:2rem 1rem}.cta-actions{flex-direction:column;align-items:stretch}.cta-btn,.btn-primary,.map-btn{width:100%}.page-card{outline-offset:-5px}}


/* ===== Mobile navigation discoverability & ornament cleanup ===== */
@media (max-width:900px){
  /* The corner ornaments are elegant on larger cards but feel cramped on phones. */
  .page-card::before,.page-card::after{display:none!important}

  /* Use the edge fade itself as a visual clue that navigation continues sideways. */
  .nav-container.can-horizontal-scroll,
  .menu-quick-nav .quick-scroll.can-horizontal-scroll{
    mask-image:linear-gradient(to right,#000 0,#000 calc(100% - 2.6rem),transparent 100%);
    -webkit-mask-image:linear-gradient(to right,#000 0,#000 calc(100% - 2.6rem),transparent 100%);
  }
  .nav-container.can-horizontal-scroll:not(.at-start):not(.at-end),
  .menu-quick-nav .quick-scroll.can-horizontal-scroll:not(.at-start):not(.at-end){
    mask-image:linear-gradient(to right,transparent 0,#000 2rem,#000 calc(100% - 2.6rem),transparent 100%);
    -webkit-mask-image:linear-gradient(to right,transparent 0,#000 2rem,#000 calc(100% - 2.6rem),transparent 100%);
  }
  .nav-container.can-horizontal-scroll.at-end,
  .menu-quick-nav .quick-scroll.can-horizontal-scroll.at-end{
    mask-image:linear-gradient(to right,transparent 0,#000 2rem,#000 100%);
    -webkit-mask-image:linear-gradient(to right,transparent 0,#000 2rem,#000 100%);
  }

  .nav.has-mobile-scroll-hint{padding-bottom:1.35rem}
  .horizontal-scroll-hint{
    display:flex;align-items:center;justify-content:center;gap:.45rem;
    font-family:var(--font-sans);font-size:.62rem;font-weight:800;
    letter-spacing:.11em;text-transform:uppercase;color:#765628;
    pointer-events:none;user-select:none;opacity:.78;
    transition:opacity .22s ease,transform .22s ease;
  }
  .nav>.horizontal-scroll-hint{
    position:absolute;left:50%;bottom:.18rem;transform:translateX(-50%);
    white-space:nowrap;z-index:2;
  }
  .menu-quick-nav>.horizontal-scroll-hint{margin:-.15rem auto .35rem}
  .horizontal-scroll-hint .scroll-hint-arrows{
    display:inline-block;color:#9d7135;font-size:.9rem;letter-spacing:-.08em;
    animation:dwsSwipeHint 1.45s ease-in-out infinite;
  }
  .horizontal-scroll-hint.is-hidden{opacity:0;transform:translateY(-2px)}
  .nav>.horizontal-scroll-hint.is-hidden{transform:translate(-50%,-2px)}
  @keyframes dwsSwipeHint{0%,100%{transform:translateX(0);opacity:.62}50%{transform:translateX(5px);opacity:1}}
}

@media (min-width:901px){.horizontal-scroll-hint{display:none!important}}


/* ===== Language-aware typography =====
   Keep the same restaurant hierarchy while using typefaces designed for each script.
   This prevents mixed fallback glyphs and awkward faux italics on CJK pages. */
html:lang(vi){
  --font-sans:'Noto Sans','Lato',Arial,sans-serif;
  --font-serif:'Noto Serif','Playfair Display',Georgia,serif;
  --font-display:'Noto Serif','Playfair Display',Georgia,serif;
}
html:lang(ru){
  --font-sans:'Noto Sans','Lato',Arial,sans-serif;
  --font-serif:'Noto Serif','Playfair Display',Georgia,serif;
  --font-display:'Noto Serif','Playfair Display',Georgia,serif;
}
html:lang(zh-CN){
  --font-sans:'Noto Sans SC','Noto Sans CJK SC','PingFang SC','Microsoft YaHei',sans-serif;
  --font-serif:'Noto Serif SC','Noto Serif CJK SC','Songti SC','STSong',serif;
  --font-display:'Noto Serif SC','Noto Serif CJK SC','Songti SC','STSong',serif;
}
html:lang(ja){
  --font-sans:'Noto Sans JP','Noto Sans CJK JP','Hiragino Kaku Gothic ProN','Yu Gothic',sans-serif;
  --font-serif:'Noto Serif JP','Noto Serif CJK JP','Yu Mincho','Hiragino Mincho ProN',serif;
  --font-display:'Noto Serif JP','Noto Serif CJK JP','Yu Mincho','Hiragino Mincho ProN',serif;
}
html:lang(ko){
  --font-sans:'Noto Sans KR','Noto Sans CJK KR','Apple SD Gothic Neo','Malgun Gothic',sans-serif;
  --font-serif:'Noto Serif KR','Noto Serif CJK KR','Nanum Myeongjo','Batang',serif;
  --font-display:'Noto Serif KR','Noto Serif CJK KR','Nanum Myeongjo','Batang',serif;
}

/* Vietnamese and Cyrillic need less ornamental tracking than Cinzel-style Latin copy. */
html:lang(vi) .welcome,html:lang(vi) .scroll-cue,html:lang(vi) .eyebrow,
html:lang(ru) .welcome,html:lang(ru) .scroll-cue,html:lang(ru) .eyebrow{letter-spacing:.12em}
html:lang(vi) .nav-list a,html:lang(ru) .nav-list a{letter-spacing:.09em}

/* CJK typography: avoid artificial italics/uppercase and over-spaced characters. */
html:lang(zh-CN) .hero-subtitle,html:lang(zh-CN) .section-intro,html:lang(zh-CN) .variant-label,
html:lang(zh-CN) .wl-eyebrow,html:lang(zh-CN) .welcome-letter .wl-p,html:lang(zh-CN) .welcome-letter .wl-saying,
html:lang(zh-CN) .welcome-letter .wl-quote,html:lang(zh-CN) .photo-caption,html:lang(zh-CN) .review-source-note,
html:lang(ja) .hero-subtitle,html:lang(ja) .section-intro,html:lang(ja) .variant-label,
html:lang(ja) .wl-eyebrow,html:lang(ja) .welcome-letter .wl-p,html:lang(ja) .welcome-letter .wl-saying,
html:lang(ja) .welcome-letter .wl-quote,html:lang(ja) .photo-caption,html:lang(ja) .review-source-note,
html:lang(ko) .hero-subtitle,html:lang(ko) .section-intro,html:lang(ko) .variant-label,
html:lang(ko) .wl-eyebrow,html:lang(ko) .welcome-letter .wl-p,html:lang(ko) .welcome-letter .wl-saying,
html:lang(ko) .welcome-letter .wl-quote,html:lang(ko) .photo-caption,html:lang(ko) .review-source-note{font-style:normal}

html:lang(zh-CN) .welcome,html:lang(zh-CN) .scroll-cue,html:lang(zh-CN) .nav-list a,html:lang(zh-CN) .eyebrow,
html:lang(ja) .welcome,html:lang(ja) .scroll-cue,html:lang(ja) .nav-list a,html:lang(ja) .eyebrow,
html:lang(ko) .welcome,html:lang(ko) .scroll-cue,html:lang(ko) .nav-list a,html:lang(ko) .eyebrow{
  text-transform:none;letter-spacing:.055em;
}
html:lang(zh-CN) .section-title,html:lang(ja) .section-title,html:lang(ko) .section-title{letter-spacing:.065em}
html:lang(zh-CN) .item-name-vn,html:lang(zh-CN) .item-name-en,
html:lang(ja) .item-name-vn,html:lang(ja) .item-name-en,
html:lang(ko) .item-name-vn,html:lang(ko) .item-name-en{text-transform:none;letter-spacing:0}
html:lang(zh-CN) .cta-btn,html:lang(zh-CN) .btn-primary,html:lang(zh-CN) .map-btn,
html:lang(ja) .cta-btn,html:lang(ja) .btn-primary,html:lang(ja) .map-btn,
html:lang(ko) .cta-btn,html:lang(ko) .btn-primary,html:lang(ko) .map-btn{letter-spacing:.015em}
html:lang(zh-CN) .horizontal-scroll-hint,html:lang(ja) .horizontal-scroll-hint,html:lang(ko) .horizontal-scroll-hint{
  text-transform:none;letter-spacing:.04em;
}

/* Slightly more comfortable line-height for dense CJK copy on phones. */
html:lang(zh-CN) body,html:lang(ja) body,html:lang(ko) body{line-height:1.72}
@media(max-width:600px){
  html:lang(zh-CN) .page-lead,html:lang(ja) .page-lead,html:lang(ko) .page-lead{line-height:1.85}
  html:lang(zh-CN) .section,html:lang(ja) .section,html:lang(ko) .section{padding-left:1.15rem;padding-right:1.15rem}
}


/* ===== 20 Aug 2026: current drink + Saturday special ===== */
.beer-grid{grid-template-columns:repeat(auto-fit,minmax(155px,1fr))}
.beer-card.featured-stout{border-color:rgba(95,20,20,.34);background:linear-gradient(180deg,#fff 0%,#f7efe4 100%)}
.beer-card.featured-stout img{height:118px;max-width:150px}
.stout-highlight{background:linear-gradient(90deg,rgba(95,20,20,.055),transparent);padding-left:.8rem;border-left:3px solid var(--red-accent)}
.stout-menu-logo .brand-logo{height:92px}

.special-feature{display:grid;grid-template-columns:minmax(280px,.88fr) minmax(0,1.12fr);gap:2rem;align-items:center;margin:1.6rem 0 2.7rem;padding:1.25rem;background:#260505;border:1px solid #a77a37;box-shadow:0 16px 34px rgba(36,15,5,.2)}
.special-feature-media{background:#120202;border:1px solid rgba(212,174,105,.55);padding:.55rem;display:flex;align-items:center;justify-content:center}
.special-feature-media picture,.special-feature-media img{display:block;width:100%;height:auto}
.special-feature-media img{object-fit:contain;max-height:760px}
.special-feature-copy{padding:1rem .8rem 1rem 0;color:#fff}
.page-card .special-feature-copy h2,.page-card .special-feature-copy h3{color:#fff}
.special-feature-copy h2{margin:.35rem 0 .45rem;font-size:clamp(1.65rem,3vw,2.55rem)}
.special-feature-copy h3{margin:1.2rem 0 .45rem;font-size:1rem;text-transform:uppercase;letter-spacing:.12em}
.page-card .special-feature-copy p{color:#f4e9da}
.special-kicker{font-family:var(--font-display);font-size:.76rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:#d5ad67}
.special-price{font-family:var(--font-display);font-size:clamp(2.4rem,6vw,4.3rem);line-height:1;color:#e1bb75;font-weight:800;margin:.5rem 0 1rem;letter-spacing:.04em}
.special-includes{display:grid;grid-template-columns:1fr 1fr;gap:.38rem 1.1rem;margin:.65rem 0 1rem 1.05rem!important;color:#fff!important}
.special-includes li{margin:0!important;line-height:1.45!important}
.special-sauce{padding-top:.8rem;border-top:1px solid rgba(225,187,117,.35)}
.special-time{color:#fff!important}

.home-saturday-special{max-width:1100px;margin:0 auto 4.5rem;display:grid;grid-template-columns:minmax(260px,.78fr) minmax(0,1.22fr);background:#f6efe2;border:1px solid #9f7438;box-shadow:0 14px 45px rgba(0,0,0,.3);overflow:hidden}
.home-saturday-media{background:#160303;display:flex;align-items:center;justify-content:center;padding:.8rem}
.home-saturday-media picture,.home-saturday-media img{display:block;width:100%;height:auto}
.home-saturday-media img{max-height:570px;object-fit:contain}
.home-saturday-copy{padding:2.4rem 2.4rem;align-self:center}
.home-saturday-copy h2{font-family:var(--font-serif);font-size:clamp(1.65rem,3vw,2.5rem);margin:.25rem 0 1rem;color:var(--black)}
.home-saturday-copy p{font-family:var(--font-serif);font-size:1.03rem;line-height:1.72;color:#444;margin:0 0 1.5rem}

@media(max-width:800px){
  .special-feature,.home-saturday-special{grid-template-columns:1fr}
  .special-feature-copy{padding:1rem .5rem .8rem}
  .special-includes{grid-template-columns:1fr}
  .home-saturday-copy{padding:2rem 1.4rem}
  .beer-card.featured-stout img{height:96px}
  .stout-menu-logo .brand-logo{height:58px}
}
@media(max-width:480px){
  .special-feature{padding:.7rem;gap:1rem}
  .special-feature-copy h2{font-size:1.55rem}
  .special-price{font-size:2.7rem}
  .beer-card.featured-stout img{height:84px}
  .home-saturday-special{margin-bottom:3rem}
}

/* ===== 13 Sep 2026: desktop breadth, consistency, UX + Myelin attribution ===== */
:root{
  --layout-wide:1500px;
  --layout-main:1380px;
  --layout-readable:78ch;
}

/* Keep text crisp if older overlapping style passes are present. */
.section-title,.page-card h1,.page-card h2,.page-card h3,.local-guide-card h3,
.faq-item summary,.welcome-letter .wl-title{ text-shadow:none; }

/* Better keyboard visibility throughout, not only on selected components. */
a:focus-visible,button:focus-visible,summary:focus-visible,[tabindex]:focus-visible{
  outline:3px solid #f0bd63;
  outline-offset:4px;
  border-radius:2px;
}

/* Use laptop/desktop width properly while keeping comfortable edge gutters. */
@media (min-width:901px){
  .nav-container,.site-primary-nav .nav-container{
    width:calc(100% - 40px);
    max-width:var(--layout-wide);
    padding-left:1rem;
    padding-right:1rem;
  }
  .menu,.page-shell,.menu-quick-nav{
    width:calc(100% - 48px);
    max-width:var(--layout-main);
  }
  .menu{padding-left:0;padding-right:0;padding-top:4.25rem;}
  .page-shell{padding-left:0;padding-right:0;padding-top:3.25rem;}
  .menu-quick-nav{padding-left:0;padding-right:0;}
  .section,.page-card{padding-left:clamp(2.75rem,4vw,4.75rem);padding-right:clamp(2.75rem,4vw,4.75rem);}
  .local-guide-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.15rem;}
  .local-guide-lede{max-width:980px;font-size:1.06rem;}
  .reviews,.gallery{
    width:calc(100% - 48px);
    max-width:var(--layout-main);
  }
  .faq{
    width:calc(100% - 48px);
    max-width:1240px;
  }
  .faq-list{max-width:1040px;}
  .home-saturday-special{
    width:calc(100% - 48px);
    max-width:var(--layout-main);
  }
  .visit-content{max-width:1280px;}
  .footer-content{max-width:1120px;}
  .subpage-hero{min-height:68vh;padding-top:4.25rem;padding-bottom:4.25rem;}
  .subpage-hero .hero-content{width:min(920px,calc(100% - 48px));}
  .subpage-hero .hero-subtitle{max-width:820px;}
}

/* Useful, scannable fact block for people and answer engines. */
.restaurant-facts{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:.8rem;
  margin:1.6rem 0 2rem;
}
.restaurant-fact{
  margin:0;
  padding:1rem 1.05rem;
  border:1px solid rgba(95,20,20,.16);
  background:rgba(255,255,255,.52);
  min-width:0;
}
.restaurant-fact dt{
  font-family:var(--font-display);
  font-size:.7rem;
  line-height:1.4;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--red-deep);
  font-weight:700;
  margin-bottom:.35rem;
}
.restaurant-fact dd{
  margin:0;
  font-family:var(--font-serif);
  font-size:.94rem;
  line-height:1.5;
  color:#333;
}
.restaurant-fact a{color:var(--red-deep);font-weight:700;text-underline-offset:3px;}

/* Stronger desktop composition without letting paragraph lines become exhausting. */
.page-card > p:not(.page-lead),.page-card > ul,.page-card > ol{max-width:var(--layout-readable);}
.page-card > p.page-lead{max-width:92ch;}
.local-trust{margin-top:2rem;}
.local-guide-card{display:flex;flex-direction:column;}
.local-guide-card a{margin-top:auto;align-self:flex-start;}

/* Footer attribution: intentionally not linked yet; easy to wrap in <a> later. */
.powered-by-myelin{
  width:min(100%,520px);
  margin:2rem auto .3rem;
  padding-top:1.6rem;
  border-top:1px solid rgba(255,255,255,.16);
  display:flex;
  align-items:center;
  justify-content:center;
  gap:.7rem;
}
.powered-by-myelin .powered-label{
  font-family:var(--font-sans);
  font-size:.65rem;
  letter-spacing:.2em;
  text-transform:uppercase;
  opacity:.68;
  white-space:nowrap;
}
.powered-by-myelin img{
  display:block;
  width:clamp(130px,15vw,185px);
  height:auto;
  object-fit:contain;
}
.footer .copyright{margin-top:1.25rem;}

/* Small polish + performance-friendly motion handling. */
img{max-width:100%;}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important;}
}

@media (max-width:900px){
  .restaurant-facts{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:560px){
  .restaurant-facts{grid-template-columns:1fr;gap:.65rem;}
  .restaurant-fact{padding:.9rem 1rem;}
  .powered-by-myelin{flex-direction:column;gap:.35rem;margin-top:1.6rem;padding-top:1.25rem;}
  .powered-by-myelin img{width:155px;}
}


/* ===== 13 Sep 2026: laptop canvas + dark footer refinement ===== */
:root{
  --layout-menu:1760px;
  --layout-page:1600px;
  --layout-wide:1780px;
}

/* The old exposed red leather gutters were visually loud on wide laptop/desktop
   screens. Keep the restaurant red inside the design, but use a calm near-black
   site canvas anywhere content does not occupy the viewport. */
body{
  background:#070707;
}
body::before{
  background:
    linear-gradient(rgba(5,5,5,.76),rgba(5,5,5,.76)),
    url('/assets/leather-background.webp') center center / cover no-repeat;
}
body::after{
  background:rgba(0,0,0,.12);
}

@media (min-width:901px){
  .nav-container,.site-primary-nav .nav-container{
    width:calc(100% - 48px);
    max-width:var(--layout-wide);
  }
  .menu{
    width:calc(100% - 56px);
    max-width:var(--layout-menu);
  }
  .page-shell{
    width:calc(100% - 64px);
    max-width:var(--layout-page);
  }
  .menu-quick-nav{
    width:calc(100% - 56px);
    max-width:var(--layout-menu);
  }
  .section,.page-card{
    padding-left:clamp(2.25rem,3vw,3.75rem);
    padding-right:clamp(2.25rem,3vw,3.75rem);
  }
  .reviews,.gallery,.home-saturday-special{
    width:calc(100% - 56px);
    max-width:1680px;
  }
  .faq{
    width:calc(100% - 64px);
    max-width:1500px;
  }
  .visit-content{max-width:1480px;}
}

/* On very wide monitors avoid the middle feeling like a narrow phone column. */
@media (min-width:1600px){
  .menu{width:calc(100% - 72px);}
  .page-shell{width:calc(100% - 88px);}
}

/* Cleaner, quieter footer. The black base also gives the Myelin mark a proper
   place to sit without competing with the restaurant's red leather texture. */
.footer{
  background:#050505 !important;
  color:#fff;
  padding:4.25rem 1.5rem 1.6rem;
  border-top:1px solid rgba(255,255,255,.09);
  box-shadow:0 -14px 40px rgba(0,0,0,.18);
}
.footer::before{
  background:
    radial-gradient(ellipse at 50% 0%,rgba(95,20,20,.19) 0%,rgba(17,17,17,.18) 34%,rgba(0,0,0,0) 67%),
    linear-gradient(180deg,rgba(255,255,255,.025),rgba(255,255,255,0) 32%);
}
.footer-content{
  max-width:1180px;
}
.footer-logo-img{
  width:clamp(155px,16vw,205px);
  margin-bottom:.8rem;
  opacity:.98;
}
.footer-info{
  width:min(100%,720px);
  margin:0 auto;
  color:rgba(255,255,255,.84);
  line-height:1.85;
}
.footer-info-row{
  margin-top:.15rem;
  gap:.45rem .65rem;
}
.footer-info a{
  border-bottom-color:rgba(255,255,255,.24);
}
.footer-info a:hover{
  border-bottom-color:rgba(255,255,255,.72);
}
.footer-socials{
  margin:1.35rem auto 0;
  gap:.65rem;
}
.footer-socials a{
  width:42px;
  height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(255,255,255,.13);
  background:#101010;
  border-radius:999px;
  transition:transform .2s ease,background .2s ease,border-color .2s ease;
}
.footer-socials a:hover{
  background:#191919;
  border-color:rgba(255,255,255,.28);
  transform:translateY(-2px);
}
.allergen-notice{
  max-width:900px;
  margin-top:2rem;
  padding:1rem 1.15rem;
  border:1px solid rgba(255,255,255,.09);
  border-radius:8px;
  background:rgba(255,255,255,.025);
  font-size:.78rem;
  line-height:1.65;
  opacity:.72;
}
.site-links-footer{
  max-width:900px;
  margin:1.75rem auto 0;
  padding-top:1.5rem;
  border-top:1px solid rgba(255,255,255,.08);
  gap:.7rem 1.35rem;
  font-size:.76rem;
  letter-spacing:.035em;
}
.site-links-footer a{
  color:rgba(255,255,255,.75);
  border-bottom-color:transparent;
  transition:color .2s ease,border-color .2s ease;
}
.site-links-footer a:hover{
  color:#fff;
  border-bottom-color:rgba(255,255,255,.42);
}
.powered-by-myelin{
  width:auto;
  max-width:none;
  margin:1.65rem auto 0;
  padding-top:1.25rem;
  border-top:1px solid rgba(255,255,255,.08);
  gap:.6rem;
}
.powered-by-myelin .powered-label{
  font-size:.59rem;
  opacity:.5;
}
.powered-by-myelin img{
  width:clamp(125px,12vw,165px);
  filter:saturate(.92) brightness(.95);
}
.footer .copyright{
  margin-top:.9rem;
  opacity:.42;
  font-size:.68rem;
}

@media (max-width:900px){
  /* Keep mobile/tablet behaviour familiar; only quieten the background/footer. */
  .footer{padding:3.5rem 1.15rem 1.35rem;}
}
@media (max-width:560px){
  .footer-logo-img{width:165px;}
  .allergen-notice{text-align:left;padding:.9rem 1rem;}
  .site-links-footer{gap:.65rem 1rem;}
  .powered-by-myelin{margin-top:1.35rem;}
  .powered-by-myelin img{width:145px;}
}


/* ===== 13 Sep 2026: Saturday promo breathing room + calmer image framing ===== */
.home-saturday-special{
  margin-top:clamp(2.4rem,4vw,4rem);
  margin-bottom:5rem;
  grid-template-columns:minmax(340px,.94fr) minmax(0,1.06fr);
  background:linear-gradient(145deg,#120807 0%,#080808 100%);
  border-color:rgba(199,155,82,.7);
  box-shadow:0 18px 55px rgba(0,0,0,.42);
}
.home-saturday-media{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  min-height:500px;
  padding:clamp(1rem,1.7vw,1.5rem);
  background:#080505;
}
.home-saturday-media::before{
  content:"";
  position:absolute;
  inset:-42px;
  z-index:-2;
  background:
    linear-gradient(rgba(25,4,4,.56),rgba(4,4,4,.78)),
    url('/assets/saturday-grill-platter-special-v2.webp') center 42% / cover no-repeat;
  filter:blur(28px) saturate(.78) brightness(.62);
  transform:scale(1.12);
  opacity:.88;
}
.home-saturday-media::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(0,0,0,.24),transparent 20%,transparent 80%,rgba(0,0,0,.24)),
    linear-gradient(180deg,rgba(255,255,255,.035),rgba(0,0,0,.22));
}
.home-saturday-media picture{
  position:relative;
  z-index:1;
  display:block;
  width:min(100%,560px);
  margin:auto;
}
.home-saturday-media img{
  width:100%;
  max-height:650px;
  object-fit:contain;
  border:1px solid rgba(232,198,139,.42);
  box-shadow:0 18px 44px rgba(0,0,0,.42);
}
.home-saturday-copy{
  align-self:stretch;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:clamp(2.5rem,4vw,4.5rem);
  color:#f7f1e7;
  background:
    radial-gradient(circle at 18% 12%,rgba(127,34,24,.28),transparent 42%),
    linear-gradient(145deg,#17100d 0%,#090909 74%);
  border-left:1px solid rgba(218,177,108,.28);
}
.home-saturday-copy .eyebrow{color:#d9b36d;}
.home-saturday-copy h2{color:#fff6e7;}
.home-saturday-copy p{color:rgba(255,247,235,.82);}
.home-saturday-copy .btn-primary{align-self:flex-start;}

/* Keep bottled-beer brand marks tidy and consistently sized. Tiger's source
   artwork is unusually compact, so constrain it independently to prevent it
   looking stretched or oversized beside the other logos. */
.draft-icons picture{
  min-width:72px;
  min-height:72px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.brand-logo{
  max-width:118px;
  max-height:70px;
  object-fit:contain;
  image-rendering:auto;
}
.tiger-brand-logo{
  width:auto !important;
  height:62px !important;
  max-width:96px !important;
  object-fit:contain !important;
  transform:none !important;
  filter:drop-shadow(0 2px 6px rgba(0,0,0,.12));
}

@media(max-width:800px){
  .home-saturday-special{
    margin-top:2rem;
    margin-bottom:3.5rem;
    grid-template-columns:1fr;
  }
  .home-saturday-media{min-height:0;padding:1rem;}
  .home-saturday-copy{
    padding:2.2rem 1.5rem 2.4rem;
    border-left:0;
    border-top:1px solid rgba(218,177,108,.28);
  }
  .draft-icons picture{min-width:62px;min-height:60px;}
  .brand-logo{max-width:96px;max-height:58px;}
  .tiger-brand-logo{height:54px !important;max-width:84px !important;}
}


/* ===== 13 Sep 2026: final desktop welcome treatment + supplied Tiger logo ===== */
/* The welcome letter intentionally keeps the reading column calm while using the
   previously empty desktop gutters for very low-contrast British/Vietnamese
   heritage motifs. The artwork is hidden entirely on mobile. */
.welcome-letter{
  overflow:hidden;
}
.welcome-letter-inner{
  position:relative;
  z-index:2;
}

@media (min-width:1000px){
  .welcome-letter{
    padding-top:clamp(5.4rem,6vw,7rem);
    padding-bottom:clamp(4.4rem,5vw,6rem);
    background-color:#f2ede5;
    background-image:
      radial-gradient(ellipse at 50% 42%,rgba(255,255,255,.90) 0%,rgba(255,255,255,.68) 31%,rgba(255,255,255,.16) 62%,rgba(255,255,255,0) 78%),
      linear-gradient(90deg,rgba(213,198,176,.19),rgba(255,255,255,0) 24%,rgba(255,255,255,0) 76%,rgba(213,198,176,.19)),
      url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='170' height='170'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.035'/%3E%3C/svg%3E"),
      linear-gradient(155deg,#faf8f3 0%,#eee7dc 58%,#e7ded2 100%);
    background-size:auto,auto,170px 170px,auto;
    background-repeat:no-repeat,no-repeat,repeat,no-repeat;
    box-shadow:inset 0 24px 45px rgba(81,51,30,.025),inset 0 -24px 50px rgba(81,51,30,.035);
  }
  .welcome-letter::before,
  .welcome-letter::after{
    content:"";
    position:absolute;
    top:0;
    bottom:0;
    width:clamp(230px,24vw,455px);
    pointer-events:none;
    z-index:1;
    background-repeat:no-repeat;
    background-position:center;
    background-size:100% 100%;
    opacity:.94;
  }
  .welcome-letter::before{
    left:0;
    background-image:url('/assets/heritage-uk-panel.svg');
  }
  .welcome-letter::after{
    right:0;
    background-image:url('/assets/heritage-vietnam-panel.svg');
  }
  .welcome-letter-inner{
    width:min(760px,52vw);
    padding:1rem 1.25rem 1.15rem;
    border-radius:2px;
  }
}

@media (min-width:1500px){
  .welcome-letter-inner{width:min(800px,50vw);}
}

@media (max-width:999px){
  .welcome-letter::before,
  .welcome-letter::after{display:none!important;}
}

/* More breathing room before the first large promotional image/card. */
.home-saturday-special{
  margin-top:clamp(3.75rem,5vw,5.75rem);
}
@media(max-width:800px){
  .home-saturday-special{margin-top:2.5rem;}
}

/* New Tiger artwork supplied by the client: preserve its natural aspect ratio
   and give it enough presence to match the other bottled-beer marks. */
.tiger-brand-logo{
  width:auto!important;
  height:68px!important;
  max-width:112px!important;
  max-height:68px!important;
  object-fit:contain!important;
  transform:none!important;
  filter:drop-shadow(0 2px 5px rgba(0,0,0,.10));
}
@media(max-width:800px){
  .tiger-brand-logo{
    height:56px!important;
    max-width:96px!important;
    max-height:56px!important;
  }
}

/* ===== 13 Sep 2026: approved heritage artwork background =====
   Uses the approved monochrome UK/Vietnam + lotus artwork as the welcome
   section background. On phones the artwork is center-cropped so the flags
   remain outside the reading area and the page stays calm and readable. */
.welcome-letter{
  background-color:#f4efe7 !important;
  background-image:url('/assets/welcome-heritage-bg.webp') !important;
  background-repeat:no-repeat !important;
  background-position:center center !important;
  background-size:cover !important;
  overflow:hidden;
}
.welcome-letter::before,
.welcome-letter::after{
  display:none !important;
  content:none !important;
}
.welcome-letter-inner{
  position:relative;
  z-index:2;
}

@media (min-width:1000px){
  .welcome-letter{
    padding-top:clamp(5.5rem,6vw,7rem) !important;
    padding-bottom:clamp(4.8rem,5vw,6.2rem) !important;
    background-size:cover !important;
    background-position:center center !important;
  }
  .welcome-letter-inner{
    width:min(780px,52vw) !important;
    max-width:780px !important;
    padding:1.1rem 1.35rem 1.3rem !important;
    background:radial-gradient(ellipse at center,rgba(255,252,247,.30) 0%,rgba(255,252,247,.16) 52%,rgba(255,252,247,0) 78%);
  }
}

@media (max-width:999px){
  .welcome-letter{
    /* Keep the same approved artwork, but crop into its intentionally blank
       centre so no flag or floral element crowds mobile text. */
    background-size:auto 100% !important;
    background-position:center center !important;
    padding-left:1.15rem !important;
    padding-right:1.15rem !important;
  }
  .welcome-letter-inner{
    width:100% !important;
    max-width:760px !important;
    padding-left:0 !important;
    padding-right:0 !important;
    background:none !important;
  }
}

@media (max-width:520px){
  .welcome-letter{
    padding-top:3.15rem !important;
    padding-bottom:2.75rem !important;
    /* Slight vertical scaling keeps the parchment texture visible while the
       decorative edges stay well beyond the phone viewport. */
    background-size:auto 108% !important;
  }
  .welcome-letter .wl-p{line-height:1.75 !important;}
}

/* ===== 13 Sep 2026: bottled beer logos equalised =====
   Keep all bottled-beer brand marks visually consistent on desktop and mobile.
   Tiger previously appeared noticeably larger than the others, so all bottle
   logos now share the same presentation box and maximum render height. */
.draft-icons picture{
  width:104px !important;
  min-width:104px !important;
  height:64px !important;
  min-height:64px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}
.draft-icons .brand-logo,
.draft-icons .tiger-brand-logo{
  width:auto !important;
  height:auto !important;
  max-width:94px !important;
  max-height:48px !important;
  object-fit:contain !important;
  transform:none !important;
}
.draft-icons .tiger-brand-logo{
  filter:drop-shadow(0 2px 5px rgba(0,0,0,.08)) !important;
}
@media (max-width:800px){
  .draft-icons picture{
    width:88px !important;
    min-width:88px !important;
    height:54px !important;
    min-height:54px !important;
  }
  .draft-icons .brand-logo,
  .draft-icons .tiger-brand-logo{
    max-width:78px !important;
    max-height:40px !important;
  }
}

/* ===== 13 Sep 2026: Visit section alignment cleanup =====
   Equal-height, evenly spaced columns with shared baselines so Hours, Find Us
   and Contact feel deliberately symmetrical on desktop. */
@media (min-width:801px){
  .visit-content{
    max-width:1500px !important;
  }
  .visit-grid{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:0 !important;
    margin-top:3.2rem !important;
    align-items:stretch !important;
  }
  .visit-card{
    display:grid !important;
    grid-template-rows:34px 126px 58px !important;
    align-items:start !important;
    padding:0 clamp(2.25rem,4vw,5rem) !important;
    min-width:0 !important;
    position:relative !important;
  }
  .visit-card + .visit-card::before{
    content:"";
    position:absolute;
    left:0;
    top:0;
    bottom:0;
    width:1px;
    background:linear-gradient(to bottom,transparent,rgba(255,255,255,.28) 14%,rgba(255,255,255,.28) 86%,transparent);
  }
  .visit-label{
    margin:0 !important;
    align-self:start !important;
    line-height:1.2 !important;
  }
  .visit-value,
  address.visit-value{
    margin:0 !important;
    align-self:start !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:flex-start !important;
    min-height:0 !important;
    line-height:1.72 !important;
  }
  .visit-value br,
  address.visit-value br{
    display:none !important;
  }
  .visit-value > span,
  .visit-value > strong,
  .visit-value > a,
  address.visit-value{
    margin-left:auto;
    margin-right:auto;
  }
  .visit-value > span[style]{
    display:block !important;
    margin-top:.15rem !important;
    white-space:nowrap !important;
  }
  .map-buttons{
    margin:0 !important;
    align-self:end !important;
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:.7rem !important;
    width:min(100%,390px) !important;
    justify-self:center !important;
  }
  .map-btn{
    width:100% !important;
    min-width:0 !important;
    justify-content:center !important;
    white-space:nowrap !important;
    padding-left:.9rem !important;
    padding-right:.9rem !important;
  }
}

@media (max-width:800px){
  .visit-grid{
    gap:0 !important;
    margin-top:2.4rem !important;
  }
  .visit-card{
    padding:1.75rem 0 !important;
  }
  .visit-card:first-child{padding-top:.25rem !important;}
  .visit-card + .visit-card{
    border-top:1px solid rgba(255,255,255,.16);
  }
  .visit-label{
    margin-bottom:.9rem !important;
  }
  .visit-value{
    line-height:1.7 !important;
  }
  .map-buttons{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:.7rem !important;
    max-width:330px !important;
    margin:1.1rem auto 0 !important;
  }
  .map-btn{
    width:100% !important;
    min-width:0 !important;
    justify-content:center !important;
  }
}

@media (max-width:430px){
  .map-buttons{
    grid-template-columns:1fr !important;
    max-width:250px !important;
  }
}

/* Preserve intentional line breaks inside the aligned information row. */
@media (min-width:801px){
  .visit-value,
  address.visit-value{
    display:block !important;
    min-height:126px !important;
    line-height:1.72 !important;
  }
  .visit-value br,
  address.visit-value br{
    display:inline !important;
  }
}

/* ===== 13 Sep 2026: Visit section compact card redesign =====
   Replaces the oversized three-column spread with three balanced panels.
   The Hours panel now has a proper framed information block so it no longer
   feels visually empty beside the map/contact action buttons. */
@media (min-width:801px){
  .visit-content{
    max-width:1260px !important;
    padding-left:clamp(1.25rem,2vw,2rem) !important;
    padding-right:clamp(1.25rem,2vw,2rem) !important;
  }
  .visit-grid{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:1rem !important;
    margin-top:2.5rem !important;
    align-items:stretch !important;
  }
  .visit-card{
    display:flex !important;
    flex-direction:column !important;
    justify-content:flex-start !important;
    min-height:255px !important;
    padding:1.6rem 1.35rem 1.35rem !important;
    border:1px solid rgba(226,190,124,.48) !important;
    background:linear-gradient(180deg,rgba(62,3,8,.18),rgba(30,0,3,.11)) !important;
    box-shadow:inset 0 0 0 4px rgba(255,255,255,.025),0 10px 24px rgba(38,0,2,.08) !important;
  }
  .visit-card + .visit-card::before{display:none !important;content:none !important;}
  .visit-label{
    margin:0 0 1rem !important;
    min-height:28px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
  }
  .visit-value,
  address.visit-value{
    min-height:112px !important;
    margin:0 auto !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    line-height:1.62 !important;
    width:100% !important;
  }
  .visit-value br,
  address.visit-value br{display:inline !important;}

  /* The left column gets a deliberate information panel rather than loose text. */
  .visit-card:first-child .visit-value{
    max-width:315px !important;
    min-height:116px !important;
    padding:.9rem 1rem !important;
    border:1px solid rgba(229,195,132,.48) !important;
    background:rgba(79,7,12,.28) !important;
    box-shadow:inset 0 0 0 4px rgba(238,205,144,.07) !important;
  }
  .visit-card:first-child .visit-value strong{
    margin-bottom:.18rem !important;
  }
  .visit-card:first-child .visit-value > span[style]{
    margin-top:.2rem !important;
    white-space:normal !important;
  }

  .map-buttons{
    width:100% !important;
    max-width:360px !important;
    margin:auto auto 0 !important;
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:.65rem !important;
    align-self:auto !important;
    justify-self:auto !important;
  }
  .map-btn{
    width:100% !important;
    min-width:0 !important;
    min-height:52px !important;
    padding:.72rem .72rem !important;
    justify-content:center !important;
    white-space:nowrap !important;
    font-size:.92rem !important;
  }
}

@media (max-width:800px){
  .visit-content{
    padding-left:1rem !important;
    padding-right:1rem !important;
  }
  .visit-grid{
    gap:.85rem !important;
    margin-top:2rem !important;
  }
  .visit-card,
  .visit-card:first-child{
    padding:1.35rem 1rem !important;
    border:1px solid rgba(226,190,124,.42) !important;
    background:linear-gradient(180deg,rgba(62,3,8,.16),rgba(30,0,3,.10)) !important;
    box-shadow:inset 0 0 0 3px rgba(255,255,255,.02) !important;
  }
  .visit-card + .visit-card{border-top:1px solid rgba(226,190,124,.42) !important;}
  .visit-label{margin-bottom:.75rem !important;}
  .visit-card:first-child .visit-value{
    max-width:320px !important;
    margin:0 auto !important;
    padding:.75rem .8rem !important;
    border:1px solid rgba(229,195,132,.42) !important;
    background:rgba(79,7,12,.24) !important;
    box-shadow:inset 0 0 0 3px rgba(238,205,144,.06) !important;
  }
  .map-buttons{
    margin-top:1rem !important;
  }
}

/* ===== 16 Sep 2026: cleaner menu navigation + brighter Steak Night ===== */
/* The food-category control is deliberately styled as a form control rather
   than a second navigation bar, so it cannot be mistaken for the site menu. */
.menu-page-hero{
  min-height:clamp(380px,48vh,540px);
}
.menu-page-hero .hero-subtitle{
  max-width:650px;
}
.menu-section-picker{
  width:calc(100% - 56px);
  max-width:1380px;
  margin:1.35rem auto 1.6rem;
  position:relative;
  z-index:3;
}
.menu-section-picker-inner{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(320px,430px);
  align-items:center;
  gap:2rem;
  padding:1.45rem 1.65rem;
  background:rgba(250,247,242,.98);
  border:1px solid rgba(95,20,20,.16);
  border-left:4px solid var(--red-accent);
  box-shadow:0 12px 34px rgba(0,0,0,.22);
}
.menu-section-picker-copy .eyebrow{margin-bottom:.35rem;}
.menu-section-picker-copy h2{
  margin:0 0 .35rem;
  font-family:var(--font-serif);
  font-size:clamp(1.25rem,2vw,1.65rem);
  line-height:1.2;
  color:var(--black);
}
.menu-section-picker-copy p{
  margin:0;
  max-width:720px;
  color:#56504c;
  font-size:.9rem;
  line-height:1.55;
}
.menu-section-select-wrap{
  position:relative;
  min-width:0;
}
.menu-section-select-wrap label{
  display:block;
  margin:0 0 .45rem;
  color:var(--red-deep);
  font-family:var(--font-sans);
  font-weight:800;
  font-size:.72rem;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.menu-section-select-wrap select{
  width:100%;
  min-height:52px;
  appearance:none;
  -webkit-appearance:none;
  border:1px solid rgba(95,20,20,.38);
  border-radius:4px;
  background:#fffaf4;
  color:#241c18;
  padding:.8rem 3rem .8rem 1rem;
  font-family:var(--font-sans);
  font-size:.95rem;
  font-weight:700;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.85);
  cursor:pointer;
}
.menu-section-select-wrap select:hover{border-color:var(--red-accent);}
.menu-section-select-wrap select:focus-visible{
  outline:3px solid rgba(184,32,46,.25);
  outline-offset:2px;
  border-color:var(--red-accent);
}
.menu-section-select-icon{
  position:absolute;
  right:1rem;
  bottom:.87rem;
  color:var(--red-deep);
  font-size:1.2rem;
  pointer-events:none;
}
/* Retire the old second-row button navigation if any cached/translated markup survives. */
.menu-page-full + .menu-quick-nav,
.menu-quick-nav{ }

/* Menu cards: slightly calmer hierarchy and tighter section-to-section rhythm. */
.menu-page-full{padding-top:1.4rem;}
.menu-page-full .section{
  margin-bottom:1.15rem;
  border-top:3px solid rgba(95,20,20,.78);
}
.menu-page-full .section-header{margin-bottom:2rem;}
.menu-page-full .section-title{letter-spacing:.13em;}

/* The original Steak Night background was being darkened twice. Keep the text
   panel readable, but let the steak photograph itself remain clearly visible. */
.steak-bg{
  background-image:
    linear-gradient(rgba(18,8,6,.10),rgba(18,8,6,.22)),
    url('/assets/steak-night-background.webp') !important;
  background-position:center 46% !important;
  background-size:cover !important;
  filter:brightness(1.03) saturate(1.03) contrast(.99);
  transform:scale(1.01);
}
.steak-overlay{
  background:rgba(10,10,10,.82) !important;
  box-shadow:0 18px 50px rgba(0,0,0,.46) !important;
}

@media(max-width:768px){
  .menu-page-hero{min-height:390px;}
  .menu-section-picker{
    width:calc(100% - 28px);
    margin:1rem auto 1.1rem;
  }
  .menu-section-picker-inner{
    grid-template-columns:1fr;
    gap:1rem;
    padding:1.15rem;
    border-left-width:3px;
  }
  .menu-section-picker-copy p{font-size:.86rem;}
  .menu-section-select-wrap select{
    min-height:54px;
    font-size:1rem;
  }
  .menu-page-full{padding-top:.85rem;}
  .menu-page-full .section{margin-bottom:.9rem;}
  .steak-bg{
    background-position:center 42% !important;
    filter:brightness(1.04) saturate(1.03) contrast(.99);
  }
  .steak-overlay{background:rgba(10,10,10,.84) !important;}
}


/* ===== 16 Sep 2026: dedicated menu pages =====
   Menu pages have ONE navigation system: Home + menu categories. */
.dedicated-menu-nav{position:sticky;top:0;z-index:80;padding:.62rem 0;background:rgba(250,247,242,.985);box-shadow:0 6px 18px rgba(42,25,18,.07)}
.dedicated-menu-nav .nav-container{max-width:1500px}
.dedicated-menu-nav .nav-list{gap:1.15rem;row-gap:.15rem}
.dedicated-menu-nav .nav-list li:first-child a{color:#7e1619;font-weight:900}
.dedicated-menu-nav .nav-list li:first-child a::before{content:'← ';font-weight:700}
.dedicated-menu-nav .nav-list a{font-size:.73rem;letter-spacing:.13em}
.localized-home-nav .nav-list{justify-content:center}
.scroll-cue a{color:inherit;text-decoration:none}
@media(max-width:768px){
  .dedicated-menu-nav{padding:.42rem 0}
  .dedicated-menu-nav .nav-container{overflow-x:auto!important;overflow-y:hidden!important;-webkit-mask-image:linear-gradient(to right,transparent 0,#000 1rem,#000 calc(100% - 1rem),transparent 100%)!important;mask-image:linear-gradient(to right,transparent 0,#000 1rem,#000 calc(100% - 1rem),transparent 100%)!important;padding:0 1rem}
  .dedicated-menu-nav .nav-list{flex-wrap:nowrap!important;justify-content:flex-start!important;white-space:nowrap!important;gap:1.35rem!important;padding:.15rem .25rem}
  .dedicated-menu-nav .nav-list a{font-size:.7rem;padding:.52rem 0}
  .localized-home-nav .nav-list{gap:1.35rem!important;justify-content:flex-start!important}
}

/* 16 Sep 2026: semantic menu H1s for all translated menu pages */
.menu-page-h1{margin-top:0;}
