:root {
    --bg:#faf7f4; --bg2:#ffffff; --bg3:#f3ede8;
    --wine:#6b2d5e; --wine-dk:#521f48; --wine-lt:#8a3a78;
    --gold:#c8952a; --gold-lt:#e8b040; --green:#4a7a30;
    --text:#2a1a20; --text2:#5a3a4a; --muted:#9a7a88;
    --border:rgba(107,45,94,.14); --white:#ffffff;
  }
  *,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth}
  body {
    font-family:'DM Sans',sans-serif;
    background:var(--bg);
    color:var(--text);
    overflow-x:hidden;
  }

  /* HERO LOGO */
  .hero-logo-wrap {
    display: flex; justify-content: center; margin-bottom: 1.8rem;
    animation: fadeDown .8s ease both;
  }
  .hero-logo-circle {
    width: 130px; height: 130px;
    border-radius: 50%;
    background: rgba(255,255,255,.95);
    display: flex; align-items: center; justify-content: center;
    box-shadow: 0 8px 40px rgba(0,0,0,.35), 0 0 0 4px rgba(232,176,64,.4);
    padding: 14px;
    backdrop-filter: blur(4px);
  }
  .hero-logo-circle img {
    width: 100%; height: 100%; object-fit: contain; border-radius: 50%;
  }

  /* NAV */
  nav {
    position:fixed;
    top:0;
    left:0;
    right:0;
    z-index:100;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:.8rem 3.5rem;
    background:rgba(255,255,255,.97);
    backdrop-filter:blur(10px);
    border-bottom:1px solid transparent;
    transition:border-color .3s,box-shadow .3s;
  }
  nav.scrolled {
    border-bottom-color:rgba(107,45,94,.1);
    box-shadow:0 2px 24px rgba(107,45,94,.1);
    background:#ffffff;
  }
  .nav-logo {
    display:flex;
    align-items:center;
    gap:.7rem;
    text-decoration:none;
  }
  .nav-logo img {
    height:42px;
    width:auto;
  }
  .nav-logo-text {
    font-family:'Cormorant Garamond',serif;
    font-size:1.25rem;
    font-weight:400;
    letter-spacing:.08em;
    color:var(--wine);
    line-height:1.15;
  }
  .nav-logo-text span {
    display:block;
    font-size:.7rem;
    letter-spacing:.18em;
    color:var(--muted);
    font-family:'DM Sans',sans-serif;
    text-transform:uppercase;
  }
  .nav-links {
    display:flex;
    gap:2rem;
    list-style:none;
  }
  .nav-links a {
    font-size:.76rem;
    letter-spacing:.1em;
    text-transform:uppercase;
    color:var(--text2);
    text-decoration:none;
    transition:color .2s;
  }
  .nav-links a:hover{color:var(--wine)}
  .nav-order {
    background:var(--wine)!important;
    color:var(--white)!important;
    padding:.5rem 1.3rem;
    border-radius:3px;
    font-weight:500;
    transition:background .2s!important;
  }
  .nav-order:hover{background:var(--wine-dk)!important}
  .hamburger {
    display:none;
    flex-direction:column;
    gap:5px;
    cursor:pointer;
    padding:4px;
  }
  .hamburger span {
    display:block;
    width:24px;
    height:2px;
    background:var(--text);
    transition:.3s;
  }
  .mobile-nav{display:none}

  /* HERO */
  #home {
    position:relative;
    height:100vh;
    min-height:600px;
    overflow:hidden;
  }
  .slides {
    position:absolute;
    inset:0;
  }
  .slide {
    position:absolute;
    inset:0;
    opacity:0;
    transition:opacity 1.2s ease;
    background-size:cover;
    background-position:center;
  }
  .slide.active{opacity:1}
  .slide::after {
    content:'';
    position:absolute;
    inset:0;
    background:linear-gradient(to right,rgba(42,10,30,.75) 0%,rgba(42,10,30,.38) 55%,transparent 100%);
  }
  .hero-content {
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
    padding:0 2rem;
    z-index:2;
    max-width:680px;
    width:100%;
    text-align:center;
  }
  .hero-badge {
    display:inline-flex;
    align-items:center;
    gap:.5rem;
    font-size:.68rem;
    letter-spacing:.25em;
    text-transform:uppercase;
    color:var(--gold-lt);
    border:1px solid rgba(232,176,64,.35);
    background:rgba(232,176,64,.08);
    padding:.4rem 1.1rem;
    border-radius:50px;
    margin-bottom:1.6rem;
    animation:fadeDown .8s ease both;
  }
  .hero-title{
    font-family:'Cormorant Garamond',serif;
    line-height:1; color:#fff;
    animation:fadeUp .9s ease .1s both;
    display:flex; flex-direction:column; align-items:center; gap:.15em;
  }
  .ht-thin{
    font-size:clamp(.9rem,2.2vw,1.4rem);
    font-weight:300; letter-spacing:.35em; text-transform:uppercase;
    color:rgba(255,255,255,.7); font-family:'DM Sans',sans-serif;
    display:block;
  }
  .ht-em{
    font-size:clamp(4rem,11vw,9.5rem);
    font-weight:600; font-style:italic; line-height:.9;
    color:var(--gold-lt);
    display:block; letter-spacing:-.02em;
  }
  .ht-bold{
    font-size:clamp(2rem,5.5vw,4.8rem);
    font-weight:300; line-height:1; color:#fff;
    display:block; letter-spacing:.05em; text-transform:uppercase;
  }
  .ht-bold em {
    font-style:normal;
    font-weight:700;
    color:#fff;
  }
  .hero-title em {
    font-style:italic;
    color:var(--gold-lt);
  }
  .hero-sub {
    margin-top:1.6rem;
    font-size:.95rem;
    font-weight:300;
    color:rgba(255,255,255,.65);
    max-width:420px;
    margin-left:auto;
    margin-right:auto;
    line-height:1.9;
    animation:fadeUp .9s ease .25s both;
    letter-spacing:.04em;
    text-align:center;
  }
  .hero-divider {
    width:50px;
    height:2px;
    background:linear-gradient(90deg,var(--gold),var(--gold-lt));
    margin:1.8rem auto;
    animation:scaleX .7s ease .4s both;
    transform-origin:center;
  }
  .hero-cta {
    display:flex;
    gap:1rem;
    flex-wrap:wrap;
    justify-content:center;
    animation:fadeUp .9s ease .45s both;
  }
  .btn-wine {
    display:inline-flex;
    align-items:center;
    gap:.5rem;
    background:var(--wine);
    color:#fff;
    padding:.85rem 1.8rem;
    font-size:.8rem;
    font-weight:500;
    letter-spacing:.08em;
    text-transform:uppercase;
    text-decoration:none;
    border-radius:10px;
    transition:background .2s,transform .2s;
    border:none;
    cursor:pointer;
  }
  .btn-wine:hover {
    background:var(--wine-dk);
    transform:translateY(-2px);
  }
  .btn-outline-light {
    display:inline-flex;
    align-items:center;
    gap:.5rem;
    background:transparent;
    color:#fff;
    border:1.5px solid rgba(255,255,255,.4);
    padding:.85rem 1.8rem;
    font-size:.8rem;
    font-weight:400;
    letter-spacing:.08em;
    text-transform:uppercase;
    text-decoration:none;
    border-radius:10px;
    transition:all .2s;
    cursor:pointer;
  }
  .btn-outline-light:hover {
    border-color:var(--gold-lt);
    color:var(--gold-lt);
    transform:translateY(-2px);
  }
  .slider-dots {
    position:absolute;
    bottom:2rem;
    left:50%;
    transform:translateX(-50%);
    z-index:3;
    display:flex;
    gap:.5rem;
  }
  .dot {
    width:24px;
    height:3px;
    background:rgba(255,255,255,.35);
    border-radius:2px;
    cursor:pointer;
    transition:all .3s;
  }
  .dot.active {
    background:var(--gold-lt);
    width:40px;
  }
  .slide-strip {
    position:absolute;
    bottom:0;
    left:50%;
    transform:translateX(-50%);
    z-index:3;
    display:flex;
    gap:3px;
  }
  .strip-thumb {
    width:100px;
    height:60px;
    cursor:pointer;
    overflow:hidden;
    opacity:.5;
    transition:opacity .3s;
    background-size:cover;
    background-position:center;
  }
  .strip-thumb.active,.strip-thumb:hover{opacity:1}

  /* SECTION */
  section{padding:6rem 2rem}
  .container {
    max-width:1100px;
    margin:0 auto;
  }
  .section-label {
    display:inline-flex;
    align-items:center;
    gap:.4rem;
    font-size:.67rem;
    letter-spacing:.25em;
    text-transform:uppercase;
    color:var(--wine);
    margin-bottom:.9rem;
    font-weight:500;
  }
  .section-title {
    font-family:'Cormorant Garamond',serif;
    font-size:clamp(2rem,4vw,3.2rem);
    font-weight:300;
    line-height:1.1;
    color:var(--text);
  }

  /* ABOUT */
  #about{background:var(--white)}
  .about-grid {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:5rem;
    align-items:center;
  }
  .about-content .section-title{margin-bottom:1.4rem}
  .about-content p {
    font-size:.93rem;
    font-weight:300;
    line-height:1.85;
    color:var(--text2);
    margin-bottom:1.1rem;
  }
  .about-stats {
    display:flex;
    gap:2.5rem;
    margin-top:2.5rem;
    padding-top:2.5rem;
    border-top:1px solid var(--border);
    align-items:flex-end;
  }
  .stat-num {
    font-family:'DM Sans',sans-serif;
    font-size:2.2rem;
    font-weight:500;
    color:var(--wine);
    line-height:1;
    display:block;
    letter-spacing:-.02em;
  }
  .stat-label {
    font-size:.7rem;
    letter-spacing:.1em;
    text-transform:uppercase;
    color:var(--muted);
    margin-top:.35rem;
    display:block;
  }
  .about-visual{position:relative}
  .about-img {
    width:100%;
    aspect-ratio:3/4;
    object-fit:cover;
    object-position:center;
    border-radius:18px;
    display:block;
  }
  .about-badge {
    position:absolute;
    bottom:-1.5rem;
    left:-1.5rem;
    background:var(--wine);
    color:#fff;
    padding:1.1rem 1.6rem;
    font-family:'Cormorant Garamond',serif;
    font-size:.88rem;
    letter-spacing:.06em;
    text-align:center;
    line-height:1.3;
    border-radius:14px;
    box-shadow:0 8px 24px rgba(107,45,94,.3);
  }
  .about-badge strong {
    display:block;
    font-size:1.5rem;
    font-family:'DM Sans',sans-serif;
    font-weight:600;
    letter-spacing:-.01em;
  }

  /* MENU SECTION */
  #menu{background:var(--bg)}
  .menu-header {
    text-align:center;
    margin-bottom:3rem;
  }
  .menu-header .section-title{margin-bottom:.7rem}
  .menu-header p {
    color:var(--muted);
    font-size:.88rem;
    font-weight:300;
    margin-bottom:1.5rem;
  }
  .view-menu-btn{
    display:inline-flex;align-items:center;gap:.6rem;
    background:var(--wine);color:#fff;
    padding:.8rem 2rem;font-size:.8rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;
    border:none;border-radius:3px;cursor:pointer;
    transition:background .2s,transform .2s;
    box-shadow:0 4px 16px rgba(107,45,94,.25);
  }
  .view-menu-btn:hover {
    background:var(--wine-dk);
    transform:translateY(-2px);
  }
  .menu-tabs {
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:.5rem;
    margin-bottom:2.5rem;
    max-width:960px;
    margin-left:auto;
    margin-right:auto;
  }
  .tab-btn {
    background:var(--white);
    border:1.5px solid var(--border);
    color:var(--muted);
    padding:.6rem 1rem;
    font-family:'DM Sans',sans-serif;
    font-size:.72rem;
    letter-spacing:.08em;
    text-transform:uppercase;
    cursor:pointer;
    border-radius:50px;
    transition:all .2s;
    width:100%;
    text-align:center;
    white-space:nowrap;
  }
  .tab-btn.active,.tab-btn:hover {
    background:var(--wine);
    border-color:var(--wine);
    color:#fff;
  }
  .menu-section{display:none}
  .menu-section.active {
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(300px,1fr));
    gap:1.4rem;
  }
  .menu-card {
    background:var(--white);
    border:1.5px solid rgba(107,45,94,.1);
    border-radius:14px;
    overflow:hidden;
    transition:border-color .2s,transform .2s,box-shadow .2s;
  }
  .menu-card:hover {
    border-color:var(--wine);
    transform:translateY(-3px);
    box-shadow:0 8px 28px rgba(107,45,94,.12);
  }
  .menu-card-img-wrap{overflow:hidden}
  .menu-card-img {
    width:100%;
    height:180px;
    object-fit:cover;
    object-position:center;
    display:block;
    transition:transform .4s;
  }
  .menu-card:hover .menu-card-img{transform:scale(1.04)}
  .menu-card-body{padding:1.1rem 1.3rem 1.3rem}
  .menu-card-top {
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    margin-bottom:.5rem;
  }
  .menu-card-name {
    font-family:'Cormorant Garamond',serif;
    font-size:1.15rem;
    font-weight:400;
    color:var(--text);
    line-height:1.2;
  }
  .menu-card-name span {
    display:block;
    font-size:.73rem;
    color:var(--muted);
    font-family:'DM Sans',sans-serif;
    margin-top:.1rem;
    letter-spacing:.04em;
  }
  .menu-price {
    font-family:'DM Sans',sans-serif;
    font-size:1rem;
    color:var(--wine);
    white-space:nowrap;
    font-weight:500;
  }
  .menu-card-desc {
    font-size:.8rem;
    font-weight:300;
    color:var(--text2);
    line-height:1.7;
  }
  .menu-tags {
    display:flex;
    gap:.3rem;
    flex-wrap:wrap;
    margin-top:.7rem;
  }
  .tag {
    font-size:.6rem;
    letter-spacing:.08em;
    text-transform:uppercase;
    padding:.18rem .5rem;
    border-radius:50px;
    border:1px solid;
  }
  .tag-spicy {
    border-color:rgba(168,52,26,.4);
    color:#a8341a;
    background:rgba(168,52,26,.06);
  }
  .tag-veg {
    border-color:rgba(74,122,48,.4);
    color:var(--green);
    background:rgba(74,122,48,.06);
  }
  .tag-gf {
    border-color:rgba(200,149,42,.4);
    color:var(--gold);
    background:rgba(200,149,42,.06);
  }
  .tag-pop {
    border-color:rgba(107,45,94,.25);
    color:var(--wine);
    background:rgba(107,45,94,.06);
  }
  .tag-peanut {
    border-color:rgba(139,90,43,.4);
    color:#8b5a2b;
    background:rgba(139,90,43,.06);
  }
  /* no-img card */
  .menu-card-no-img .menu-card-body{padding:1.3rem 1.4rem 1.4rem}

  /* ORDER */
  #order {
    background:linear-gradient(135deg,#f9f0f5 0%,#f0e4ed 100%);
    text-align:center;
  }
  #order .section-title{margin-bottom:.9rem}
  #order>.container>p {
    color:var(--muted);
    font-size:.93rem;
    font-weight:300;
    max-width:480px;
    margin:0 auto 2.8rem;
    line-height:1.8;
  }
  .order-platforms {
    display:flex;
    gap:1.4rem;
    justify-content:center;
    flex-wrap:wrap;
  }
  .platform-card {
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:.9rem;
    background:var(--white);
    border:1.5px solid var(--border);
    border-radius:18px;
    padding:2.2rem 2.8rem;
    text-decoration:none;
    color:var(--text);
    transition:all .25s;
    flex:1;
    max-width:300px;
    min-width:210px;
    box-shadow:0 2px 12px rgba(107,45,94,.06);
  }
  .platform-card:hover{transform:translateY(-5px)}
  .platform-card.dd:hover {
    border-color:#ef2d27;
    box-shadow:0 10px 32px rgba(239,45,39,.15);
  }
  .platform-card.ue:hover {
    border-color:#06c167;
    box-shadow:0 10px 32px rgba(6,193,103,.15);
  }
  .platform-card.gh:hover {
    border-color:#f26722;
    box-shadow:0 10px 32px rgba(242,103,34,.15);
  }
  .platform-card.phone:hover {
    border-color:#22a745;
    box-shadow:0 10px 32px rgba(34,167,69,.15);
  }


  .platform-icon{font-size:2.6rem}
  .platform-name {
    font-family:'Cormorant Garamond',serif;
    font-size:1.25rem;
    font-weight:400;
    color:var(--text);
  }
  .platform-sub {
    font-size:.73rem;
    color:var(--muted);
    letter-spacing:.04em;
  }
  .platform-btn {
    margin-top:.4rem;
    padding:.6rem 1.5rem;
    font-size:.73rem;
    letter-spacing:.1em;
    text-transform:uppercase;
    border-radius:3px;
    font-weight:500;
    border:none;
    cursor:pointer;
    display:inline-block;
    text-decoration:none;
  }
  .dd .platform-btn {
    background:#ef2d27;
    color:#fff;
  }
  .ue .platform-btn {
    background:#06c167;
    color:#fff;
  }

  /* LOCATION */
  #location{background:var(--white)}
  .location-grid {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:4rem;
    align-items:start;
  }
  .location-info .section-title{margin-bottom:1.8rem}
  .info-block{margin-bottom:1.8rem}
  .info-label {
    font-size:.67rem;
    letter-spacing:.22em;
    text-transform:uppercase;
    color:var(--wine);
    margin-bottom:.5rem;
    font-weight:500;
  }
  .info-text {
    font-size:.93rem;
    font-weight:300;
    color:var(--text2);
    line-height:1.7;
  }
  .info-text a {
    color:var(--wine);
    text-decoration:none;
  }
  .info-text a:hover{text-decoration:underline}
  .hours-table {
    width:100%;
    border-collapse:collapse;
    margin-top:.4rem;
  }
  .hours-table tr{border-bottom:1px solid rgba(107,45,94,.07)}
  .hours-table td {
    padding:.5rem 0;
    font-size:.86rem;
    font-weight:300;
    color:var(--text2);
    font-variant-numeric:lining-nums;
  }
  .hours-table td:last-child {
    text-align:right;
    color:var(--muted);
  }
  .hours-table tr:last-child{border-bottom:none}
  .today-row td {
    color:var(--wine)!important;
    font-weight:500!important;
  }
  .map-container {
    border-radius:18px;
    overflow:hidden;
    border:1.5px solid var(--border);
    aspect-ratio:1;
    position:relative;
    box-shadow:0 4px 24px rgba(107,45,94,.08);
  }
  .map-container iframe {
    width:100%;
    height:100%;
    border:none;
  }
  .map-overlay {
    position:absolute;
    bottom:1rem;
    left:1rem;
    background:rgba(255,255,255,.95);
    border:1px solid var(--border);
    padding:.7rem 1.1rem;
    border-radius:4px;
    box-shadow:0 2px 12px rgba(0,0,0,.1);
  }
  .map-overlay p {
    font-size:.76rem;
    color:var(--text2);
  }
  .map-overlay strong {
    color:var(--wine);
    font-family:'Cormorant Garamond',serif;
    font-size:.98rem;
  }

  /* FOOTER */
  footer {
    background: linear-gradient(160deg, #2a1020 0%, #1a0a14 100%);
    padding: 4rem 2rem 2rem;
    text-align: center;
    position: relative;
    overflow: hidden;
  }
  footer::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 3px;
    background: linear-gradient(90deg, var(--wine), var(--gold-lt), var(--wine));
  }
  footer::after {
    content: '✦';
    position: absolute;
    font-size: 18rem;
    color: rgba(200,149,42,.03);
    top: -3rem; right: -3rem;
    line-height: 1;
    pointer-events: none;
  }
  .footer-inner {
    max-width: 860px;
    margin: 0 auto;
    position: relative;
    z-index: 1;
  }
  .footer-logo-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    margin-bottom: .6rem;
  }
  .footer-logo-img-circle {
    width: 56px; height: 56px;
    border-radius: 50%;
    background: rgba(255,255,255,.08);
    border: 2px solid rgba(232,176,64,.3);
    display: flex; align-items: center; justify-content: center;
    padding: 6px; flex-shrink: 0;
  }
  .footer-logo-img-circle img {
    width: 100%; height: 100%;
    object-fit: contain; border-radius: 50%;
  }
  .footer-logo {
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.7rem;
    font-weight: 400;
    color: #e8c87a;
    letter-spacing: .1em;
  }
  .footer-tagline {
    font-size: .72rem;
    color: rgba(255,255,255,.45);
    letter-spacing: .18em;
    text-transform: uppercase;
    margin-bottom: 2.2rem;
  }
  .footer-divider {
    width: 48px; height: 1px;
    background: linear-gradient(90deg, transparent, rgba(200,149,42,.4), transparent);
    margin: 0 auto 2rem;
  }
  .footer-links {
    display: flex;
    gap: 0;
    justify-content: center;
    flex-wrap: wrap;
    margin-bottom: 2.2rem;
  }
  .footer-links a {
    font-size: .72rem;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: rgba(255,255,255,.45);
    text-decoration: none;
    padding: .4rem .9rem;
    border-radius: 50px;
    transition: color .2s, background .2s;
  }
  .footer-links a:hover {
    color: #e8c87a;
    background: rgba(232,176,64,.08);
  }
  .footer-contact {
    display: flex;
    justify-content: center;
    gap: 2rem;
    flex-wrap: wrap;
    margin-bottom: 2rem;
  }
  .footer-contact-item {
    display: flex;
    align-items: center;
    gap: .45rem;
    font-size: .78rem;
    color: rgba(255,255,255,.5);
    text-decoration: none;
    transition: color .2s;
  }
  .footer-contact-item:hover { color: #e8c87a; }
  .footer-contact-item span {
    font-size: 1rem;
  }
  .footer-copy {
    font-size: .66rem;
    color: rgba(255,255,255,.2);
    letter-spacing: .06em;
    padding-top: 1.5rem;
    border-top: 1px solid rgba(255,255,255,.06);
  }

  /* ── MENU MODAL ── */
  .menu-modal{
    display:none;position:fixed;inset:0;z-index:999;background:rgba(30,10,24,.92);backdrop-filter:blur(6px);padding:2rem 1rem 4rem;overflow-y:auto;-webkit-overflow-scrolling:touch;}
  .menu-modal.open {
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:2rem;
    animation:fadeIn .3s ease;
  }
  .modal-close{
    position:fixed;top:1rem;right:1.5rem;z-index:1000;
    background:var(--wine);color:#fff;border:none;
    width:42px;height:42px;border-radius:50%;font-size:1.2rem;
    cursor:pointer;display:flex;align-items:center;justify-content:center;
    box-shadow:0 4px 16px rgba(107,45,94,.4);transition:background .2s;
  }
  .modal-close:hover{background:var(--wine-dk)}
  .modal-title{
    font-family:'Cormorant Garamond',serif;font-size:1.6rem;font-weight:300;
    color:#e8c87a;letter-spacing:.15em;text-align:center;
    margin-top:3rem;
  }
  .modal-subtitle {
    font-size:.72rem;
    letter-spacing:.2em;
    text-transform:uppercase;
    color:rgba(255,255,255,.45);
    margin-bottom:.5rem;
  }
  .menu-img-wrap {
    width:100%;
    max-width:960px;
    border-radius:6px;
    box-shadow:0 8px 40px rgba(0,0,0,.4);
    background:#1a0a14;
  }
  .menu-img-wrap img {
    width:100%;
    height:auto;
    display:block;
    border-radius:6px;
  }

  /* ANIMATIONS */
  @keyframes fadeDown{from{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}
  @keyframes fadeUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
  @keyframes scaleX{from{transform:scaleX(0)}to{transform:scaleX(1)}}
  @keyframes fadeIn{from{opacity:0}to{opacity:1}}
  .fade-in{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}
  .fade-in.visible{opacity:1;transform:translateY(0)}

  /* RESPONSIVE */
  @media(max-width:900px){
    nav{padding:.9rem 1.4rem}
    .nav-links{display:none}
    .hamburger{display:flex}
  .mobile-nav {
    display:none;
    position:fixed;
    top:0;
    right:0;
    bottom:0;
    width:280px;
    background:var(--white);
    border-left:1.5px solid var(--border);
    z-index:200;
    padding:5rem 2rem 2rem;
    flex-direction:column;
    gap:1.4rem;
  }
    .mobile-nav.open{display:flex}
  .mobile-nav a {
    font-size:1.1rem;
    letter-spacing:.1em;
    text-transform:uppercase;
    color:var(--text2);
    text-decoration:none;
    transition:color .2s;
  }
    .mobile-nav a:hover{color:var(--wine)}
  .close-menu {
    position:absolute;
    top:1.4rem;
    right:1.4rem;
    background:none;
    border:none;
    color:var(--text);
    font-size:1.4rem;
    cursor:pointer;
  }
  .hero-content {
    padding:0 2rem;
    max-width:100%;
  }
    .slide-strip{display:none}
    .slider-dots{left:2rem}
  .about-grid {
    grid-template-columns:1fr;
    gap:3rem;
  }
    .about-visual{display:none}
    .location-grid{grid-template-columns:1fr}
  }
  @media(max-width:600px){
    section{padding:4.5rem 1.2rem}
    .menu-tabs{grid-template-columns:repeat(2,1fr);gap:.35rem}
    .tab-btn{font-size:.65rem;padding:.5rem .8rem}
    .menu-section.active{grid-template-columns:1fr}
  .order-platforms {
    flex-direction:column;
    align-items:center;
  }
  .platform-card {
    width:100%;
    max-width:300px;
  }
    .about-stats{gap:1.4rem}
  }

  /* ── FOOD LIGHTBOX ─────────────────────── */
  .food-lightbox {
    display: none;
    position: fixed; inset: 0; z-index: 500;
    background: rgba(20,8,18,.82);
    backdrop-filter: blur(8px);
    align-items: center; justify-content: center;
    padding: 1.5rem;
    animation: fadeIn .25s ease;
  }
  .food-lightbox.open { display: flex; }

  .food-lb-card {
    background: var(--white);
    border-radius: 20px;
    overflow: hidden;
    max-width: 520px;
    width: 100%;
    position: relative;
    box-shadow: 0 24px 80px rgba(0,0,0,.45);
    animation: lbPop .3s cubic-bezier(.34,1.56,.64,1) both;
  }
  @keyframes lbPop {
    from { opacity:0; transform: scale(.88) translateY(20px); }
    to   { opacity:1; transform: scale(1) translateY(0); }
  }

  .food-lb-img {
    width: 100%; height: 280px;
    object-fit: cover; display: block;
  }

  .food-lb-close {
    position: absolute; top: .9rem; right: .9rem;
    background: rgba(255,255,255,.95);
    border: none; border-radius: 50%;
    width: 36px; height: 36px;
    font-size: 1rem; cursor: pointer;
    display: flex; align-items: center; justify-content: center;
    color: var(--text); box-shadow: 0 2px 12px rgba(0,0,0,.2);
    transition: background .2s, transform .2s;
    z-index: 2;
  }
  .food-lb-close:hover {
    background: var(--wine);
    color: #fff;
    transform: scale(1.1);
  }

  .food-lb-body { padding: 1.6rem 1.8rem 2rem; }

  .food-lb-top {
    display: flex; justify-content: space-between;
    align-items: flex-start; margin-bottom: .6rem;
  }
  .food-lb-name {
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.7rem; font-weight: 400;
    color: var(--text); line-height: 1.15;
  }
  .food-lb-thai {
    font-size: .82rem; color: var(--muted);
    font-family: 'DM Sans', sans-serif;
    margin-top: .25rem; letter-spacing: .04em;
  }
  .food-lb-price {
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.8rem; color: var(--wine);
    font-weight: 400; white-space: nowrap;
    margin-left: 1rem;
  }
  .food-lb-divider {
    width: 40px; height: 2px;
    background: linear-gradient(90deg, var(--wine), var(--gold));
    margin: .9rem 0;
    border-radius: 2px;
  }
  .food-lb-desc {
    font-size: .9rem; font-weight: 300;
    color: var(--text2); line-height: 1.8;
    margin-bottom: 1rem;
  }
  .food-lb-tags {
    display: flex;
    gap: .4rem;
    flex-wrap: wrap;
  }

  /* Clickable card cursor */
  .menu-card.has-img { cursor: pointer; }
  .menu-card.has-img:active { transform: scale(.98); }

  /* ── REVIEWS ─────────────────────────────── */
  #reviews { background: var(--bg3); }
  .reviews-header {
    text-align:center;
    margin-bottom:3rem;
  }
  .reviews-header .section-title { margin-bottom:.7rem; }

  .reviews-overall {
    display:flex; align-items:center; justify-content:center;
    gap:1.2rem; margin-bottom:2.5rem;
    flex-wrap:wrap;
  }
  .reviews-score {
    font-family:'DM Sans',sans-serif;
    font-size:3.5rem; font-weight:700; color:var(--wine);
    line-height:1; letter-spacing:-.03em;
  }
  .reviews-stars {
    display:flex;
    gap:3px;
    font-size:1.4rem;
  }
  .reviews-meta { text-align:left; }
  .reviews-meta p {
    font-size:.78rem;
    color:var(--muted);
  }
  .reviews-meta strong {
    font-size:.9rem;
    color:var(--text2);
  }

  .reviews-grid {
    display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr));
    gap:1.4rem; margin-bottom:2.5rem;
  }
  .review-card {
    background:var(--white); border-radius:14px;
    padding:1.5rem; border:1.5px solid rgba(107,45,94,.09);
    transition:transform .2s, box-shadow .2s;
  }
  .review-card:hover {
    transform:translateY(-3px);
    box-shadow:0 8px 28px rgba(107,45,94,.1);
  }

  .review-top {
    display:flex;
    align-items:center;
    gap:.8rem;
    margin-bottom:.9rem;
  }
  .review-avatar {
    width:40px; height:40px; border-radius:50%;
    background:var(--wine); color:#fff;
    display:flex; align-items:center; justify-content:center;
    font-weight:600; font-size:.95rem; flex-shrink:0;
    font-family:'DM Sans',sans-serif;
  }
  .review-author strong {
    display:block;
    font-size:.88rem;
    color:var(--text);
    font-weight:500;
  }
  .review-author span {
    font-size:.72rem;
    color:var(--muted);
  }
  .review-stars {
    display:flex;
    gap:2px;
    font-size:.85rem;
    margin-bottom:.6rem;
  }
  .review-text {
    font-size:.82rem;
    font-weight:300;
    color:var(--text2);
    line-height:1.75;
  }
  .review-source {
    display:inline-flex; align-items:center; gap:.3rem;
    font-size:.65rem; color:var(--muted); margin-top:.8rem;
    letter-spacing:.06em; text-transform:uppercase;
  }

  .reviews-cta {
    display:flex; gap:1rem; justify-content:center; flex-wrap:wrap;
  }
  .btn-gmaps {
    display:inline-flex; align-items:center; gap:.6rem;
    background:#fff; color:var(--text);
    border:1.5px solid var(--border);
    padding:.8rem 1.6rem; font-size:.78rem; font-weight:500;
    letter-spacing:.06em; text-transform:uppercase;
    text-decoration:none; border-radius:10px;
    transition:all .2s; box-shadow:0 2px 8px rgba(0,0,0,.07);
  }
  .btn-gmaps:hover {
    border-color:var(--wine);
    color:var(--wine);
    transform:translateY(-2px);
    box-shadow:0 4px 16px rgba(107,45,94,.12);
  }
  .btn-write-review {
    background:var(--wine); color:#fff; border-color:var(--wine);
  }
  .btn-write-review:hover {
    background:var(--wine-dk);
    color:#fff;
  }
