/* Homepage-only menu showcase; inherits the approved dark/gold design. */
.laura-menu-showcase { background:var(--laura-ink); scroll-margin-top:32px; }
.laura-menu-showcase__inner { width:min(100% - 96px, 1344px); margin:auto; padding:100px 0; }
.laura-menu-showcase__heading { display:flex; align-items:center; justify-content:space-between; gap:32px; margin-bottom:42px; }
.laura-menu-showcase__heading h2 { margin:0 0 18px; max-width:780px; font:400 clamp(2.7rem,4.6vw,4.9rem)/1.04 var(--laura-serif); text-transform:none; }
.laura-menu-showcase__heading h2 em { color:var(--laura-gold-bright); font-weight:400; }
.laura-menu-showcase__heading p:not(.laura-kicker) { margin:0; color:var(--laura-muted); font-size:.93rem; line-height:1.8; }
.laura-menu-showcase__cta { display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; gap:26px; min-height:54px; padding:15px 24px; border:1px solid var(--laura-gold); color:var(--laura-ivory); font-size:.73rem; letter-spacing:.13em; text-transform:uppercase; text-decoration:none; transition:background .25s,box-shadow .25s; }
.laura-menu-showcase__cta:hover { background:var(--laura-surface-raised); color:var(--laura-ivory); box-shadow:0 8px 32px #b78a4540; }
.laura-menu-carousel { position:relative; outline-offset:10px; }
.laura-menu-slide { margin:0; }
.laura-menu-slide[hidden] { display:none !important; }
.laura-menu-slide__photo { display:block; position:relative; aspect-ratio:16/9; max-height:720px; overflow:hidden; border:1px solid var(--laura-line); border-radius:0; background:var(--laura-ink-soft); box-shadow:var(--laura-photo-glow); transition:box-shadow .4s,border-color .4s; touch-action:pan-y pinch-zoom; }
.laura-menu-slide__photo img { display:block; width:100%; height:100%; object-fit:contain; border-radius:0 !important; transition:transform .7s; }
.laura-menu-slide:not([hidden]) .laura-menu-slide__photo img { animation:laura-menu-photo-in .6s ease both; }
.laura-menu-slide figcaption { min-height:164px; padding:32px 0 24px; display:grid; grid-template-columns:minmax(0,1fr) auto; column-gap:40px; align-content:start; }
html.laura-refined .laura-menu-slide h3 { margin:0 0 8px; color:var(--laura-ivory); font:400 clamp(1.8rem,3vw,2.7rem)/1.16 var(--laura-serif); letter-spacing:.015em; text-transform:none; }
.laura-menu-slide figcaption p { grid-column:1; max-width:78ch; margin:0; color:var(--laura-muted); font-size:.9rem; line-height:1.75; }
.laura-menu-slide figcaption a { grid-column:2; grid-row:1 / span 2; align-self:center; color:var(--laura-gold-bright); border-bottom:1px solid var(--laura-line); padding:10px 0; font-size:.75rem; letter-spacing:.06em; text-decoration:none; }
.laura-menu-carousel__controls { display:flex; align-items:center; justify-content:space-between; gap:20px; border-top:1px solid var(--laura-line); padding-top:20px; }
.laura-menu-carousel__paging { display:flex; align-items:center; gap:16px; }
.laura-menu-carousel button { appearance:none; display:inline-flex; align-items:center; justify-content:center; min-width:44px; min-height:44px; border:1px solid var(--laura-line); border-radius:0; padding:8px; background:transparent; color:var(--laura-ivory); cursor:pointer; box-shadow:none; transition:background .2s,box-shadow .2s; }
.laura-menu-carousel button:hover { background:var(--laura-surface-raised); color:var(--laura-ivory); box-shadow:0 4px 22px #b78a4533; }
.laura-menu-carousel__count { color:var(--laura-gold-bright); font-size:.8rem; letter-spacing:.17em; font-variant-numeric:tabular-nums; }
.laura-menu-carousel__dots { display:flex; align-items:center; }
.laura-menu-carousel__dots button { width:32px; min-width:32px; padding:8px; border:0; }
.laura-menu-carousel__dots span { display:block; width:5px; height:5px; background:#6e5b3d; transition:width .25s,background .25s; }
.laura-menu-carousel__dots button[aria-current="true"] span { width:20px; background:var(--laura-gold-bright); }
.laura-menu-carousel button.laura-menu-carousel__play { padding:8px 14px; gap:10px; min-width:124px; font-size:.76rem; }
.laura-menu-carousel__status { margin:12px 0 0; color:var(--laura-gold-bright); }
.laura-menu-carousel__status:empty { display:none; }
.laura-menu-showcase__links { display:flex; justify-content:center; flex-wrap:wrap; gap:12px 32px; margin-top:42px; }
.laura-menu-showcase__links a { padding:8px 0; color:var(--laura-muted); font-size:.72rem; letter-spacing:.12em; text-transform:uppercase; text-decoration:none; }
.laura-menu-showcase__links a:hover { color:var(--laura-gold-bright); }
.laura-menu-showcase :is(a,button):focus-visible, .laura-menu-carousel:focus-visible { outline:2px solid var(--laura-gold-bright); outline-offset:5px; }
@keyframes laura-menu-photo-in { from { opacity:.3; } to { opacity:1; } }
@media (hover:hover) and (pointer:fine) {
  .laura-menu-slide__photo:is(:hover,:focus-visible) { border-color:var(--laura-gold-bright); box-shadow:var(--laura-photo-glow-hover); }
  .laura-menu-slide__photo:is(:hover,:focus-visible) img { transform:scale(1.025); }
}
@media (max-width:1000px) {
  .laura-menu-showcase__heading { align-items:flex-start; flex-direction:column; }
  .laura-menu-slide figcaption { grid-template-columns:1fr; min-height:200px; }
  .laura-menu-slide figcaption a { grid-column:1; grid-row:auto; justify-self:start; margin-top:12px; }
}
@media (max-width:767px) {
  .laura-menu-showcase__inner { width:calc(100% - 36px); padding:68px 0; }
  .laura-menu-showcase__heading { gap:24px; margin-bottom:30px; }
  .laura-menu-showcase__heading h2 { font-size:clamp(2.5rem,10vw,3.7rem); }
  .laura-menu-showcase__cta { width:100%; }
  .laura-menu-slide__photo { aspect-ratio:4/3; }
  .laura-menu-slide figcaption { padding:26px 0 20px; min-height:254px; }
  .laura-menu-slide figcaption p { font-size:.83rem; }
  .laura-menu-carousel__controls { flex-wrap:wrap; gap:12px; }
  .laura-menu-carousel__paging { gap:8px; }
  .laura-menu-carousel__dots { order:3; justify-content:center; width:100%; }
  .laura-menu-carousel__dots button { min-width:36px; width:36px; }
  .laura-menu-showcase__links { margin-top:24px; gap:4px 22px; }
}
@media (max-width:359px) {
  .laura-menu-slide figcaption { min-height:278px; }
  .laura-menu-carousel__controls { display:grid; grid-template-columns:1fr auto; }
  .laura-menu-carousel__paging { gap:4px; }
  .laura-menu-carousel button.laura-menu-carousel__play { min-width:104px; padding:8px; gap:6px; }
  .laura-menu-carousel__dots { grid-column:1 / -1; display:grid; grid-template-columns:repeat(8,minmax(0,1fr)); }
  .laura-menu-carousel__dots button { min-width:0; width:100%; }
}
@media (prefers-reduced-motion:reduce) {
  .laura-menu-showcase *, .laura-menu-showcase *::before, .laura-menu-showcase *::after { animation:none !important; transition:none !important; }
  .laura-menu-slide__photo:hover img { transform:none; }
}
