/* ===== Menu Highlights (ea-menuhi) ===== */
:root{
  --ea-ink: #0f172a;
  --ea-muted: #475569;
  --ea-bg: #ffffff;
  --ea-bg-dark: #0c0f13;
  --ea-beige: #b59678;
  --ea-accent: #F4B41A;
}

.ea-menuhi{ padding: clamp(32px, 7vw, 84px) 0; }
.ea-menuhi--light{ background: var(--ea-bg); color: var(--ea-ink); }
.ea-menuhi--dark{ background: var(--ea-bg-dark); color: #e7edf2; }
.ea-menuhi--beige{ background: linear-gradient(180deg, rgba(181,150,120,.10), rgba(181,150,120,.18)); }

.ea-menuhi .container{ max-width: 1200px; margin: 0 auto; padding: 0 16px; }

.ea-menuhi__header{ text-align:center; margin-bottom: clamp(18px, 4vw, 28px); }
.ea-menuhi__eyebrow{ font-size: 12px; letter-spacing: .18em; text-transform: uppercase; opacity:.8; margin: 0 0 6px; }
.ea-menuhi__title{ font-size: clamp(22px, 4.6vw, 40px); line-height:1.12; margin: 0 0 8px; color: #6f5854;}
.ea-menuhi__intro{ max-width: 760px; margin: 0 auto; color: #474747 !important; }
.ea-menuhi--dark .ea-menuhi__intro{ color: #c7d0d8; }

.ea-menuhi__grid{
  display:grid; gap: clamp(14px, 2.8vw, 22px);
  grid-template-columns: repeat(3, minmax(0,1fr));
}
@media (max-width: 900px){
  .ea-menuhi__grid{ grid-template-columns: 1fr; }
}

.ea-menuhi__card{ display:block; text-decoration:none; color: inherit; }
.ea-menuhi__figure{
  position: relative; border-radius: 18px; overflow:hidden;
  min-height: 280px; background: #111; isolation:isolate;
  box-shadow: 0 18px 48px rgba(0,0,0,.18);
}
.ea-menuhi__image, .ea-menuhi__placeholder{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
  transform: scale(1.02); transition: transform .5s ease;
}
.ea-menuhi__placeholder{ background: linear-gradient(135deg, #2a3440, #3e4d5a); }
.ea-menuhi__overlay{
  position:absolute; inset:0;
  background: linear-gradient(180deg, rgba(0,0,0,.05), rgba(0,0,0,.45) 60%, rgba(0,0,0,.65));
  opacity: .95; transition: opacity .3s ease;
}
.ea-menuhi__caption{
  position:absolute; left:0; right:0; bottom:0; z-index:2;
  display:flex; flex-direction:column; gap:8px;
  padding: 18px 18px 16px;
}
.ea-menuhi__badge{
  align-self:flex-start; font-size: 12px; padding: 6px 10px; border-radius: 999px;
  background: rgba(255,255,255,.14); color:#fff; backdrop-filter: blur(4px);
}
.ea-menuhi__name{ margin: 0; color:#fff; font-size: clamp(20px, 3.2vw, 28px); line-height:1.1; }
.ea-menuhi__desc{ margin:0; color: rgba(255,255,255,.92); font-size: 15px; }
.ea-menuhi__cta{
  margin-top: 4px; align-self:flex-start; color:#111; background:#fff;
  font-weight:700; border-radius: 999px; padding: 8px 12px;
  box-shadow: 0 6px 18px rgba(0,0,0,.25);
}

/* Hover */
.ea-menuhi__card:hover .ea-menuhi__image{ transform: scale(1.08); }
.ea-menuhi__card:hover .ea-menuhi__overlay{ opacity: .88; }
/* Focus */
.ea-menuhi__card:focus-visible .ea-menuhi__figure{ outline: 3px solid #fff; outline-offset: 2px; }

/* Variant tweak for beige theme */
.ea-menuhi--beige .ea-menuhi__badge{ background: rgba(255,255,255,.18); }
.ea-menuhi--beige .ea-menuhi__cta{ background: var(--ea-accent); color:#1b1b1b; }
