/* Subtle, restaurant-focused interaction layer. */
:root{--pointer-x:72%;--pointer-y:42%;--hero-shift-x:0px;--hero-shift-y:0px}

.hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:radial-gradient(circle 260px at var(--pointer-x) var(--pointer-y),rgba(230,91,35,.15),transparent 72%);
  opacity:.25;
  transition:opacity .5s ease;
}
.hero.is-pointer-active::before{opacity:1}

@media(min-width:801px){
  .hero-mark{transform:translate3d(var(--hero-shift-x),var(--hero-shift-y),0);transition:transform .18s ease-out}
  .menu-grid article,.features article,.room-card{transition:transform .45s cubic-bezier(.2,.75,.25,1),box-shadow .45s ease,border-color .35s ease}
  .menu-grid article{position:relative}
  .menu-grid article::after{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background:linear-gradient(115deg,transparent 20%,rgba(255,214,138,.09) 48%,transparent 76%);
    transform:translateX(-120%);
    transition:transform .7s ease;
  }
  .menu-grid article:hover{transform:translateY(-9px);box-shadow:0 24px 55px rgba(0,0,0,.32)}
  .menu-grid article:hover::after{transform:translateX(120%)}
  .menu-grid article:hover .dish{filter:brightness(1.08) saturate(1.08)}
  .features article:hover{transform:translateY(-5px)}
  .room-card:hover{transform:translateY(-7px);border-color:rgba(217,163,62,.9);box-shadow:0 38px 90px rgba(0,0,0,.55)}
}

.dish{transition:filter .45s ease,transform .55s cubic-bezier(.2,.75,.25,1)}
.menu-grid article:hover .dish{transform:scale(1.018)}

.primary-cta,.reserve-form button{position:relative;isolation:isolate;overflow:hidden}
.primary-cta::after,.reserve-form button::after{
  content:"";
  position:absolute;
  z-index:-1;
  inset:-80% -30%;
  background:linear-gradient(100deg,transparent 35%,rgba(255,238,189,.42) 49%,transparent 63%);
  transform:translateX(-70%) rotate(8deg);
  animation:cta-ember 4.8s ease-in-out infinite;
}
@keyframes cta-ember{0%,58%{transform:translateX(-70%) rotate(8deg)}82%,100%{transform:translateX(70%) rotate(8deg)}}

.interactive-ready .reveal-item{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .8s cubic-bezier(.2,.75,.25,1);transition-delay:var(--reveal-delay,0ms)}
.interactive-ready .reveal-item.is-visible{opacity:1;transform:translateY(0)}

@media(max-width:800px){
  .hero::before{display:none}
  .interactive-ready .reveal-item{transform:translateY(18px);transition-duration:.55s}
  .menu-grid article:active,.primary-cta:active,.group-cta:active{transform:scale(.985)}
}

@media(prefers-reduced-motion:reduce){
  .hero-mark,.menu-grid article,.features article,.room-card,.dish{transition:none!important;transform:none!important}
  .primary-cta::after,.reserve-form button::after{animation:none}
  .interactive-ready .reveal-item{opacity:1;transform:none;transition:none}
}
