/* Shared frames contain the plate itself, rather than its empty canvas. */
.food-photo{display:block;width:100%;height:100%;overflow:hidden}
.sound-platter .kitchen-photo{display:none}
.sound-stage[data-scene] .sound-platter{filter:none}
.sound-stage .sound-visual::after{width:74%;height:38px;bottom:20px;filter:blur(16px);opacity:.55}
.menu-card--burgundy .dish-hero>.food-photo{filter:drop-shadow(0 18px 16px rgba(26,3,11,.3))}
.menu-card--burgundy .dish-choice-photo{height:82px;margin:0 auto 8px;filter:drop-shadow(0 8px 6px rgba(28,3,13,.24))}
.menu-card--burgundy .dish-choice span{display:block;min-height:2.6em;overflow:visible;line-height:1.3}
.menu-card--burgundy .dish-selector[data-visible-count="2"]{grid-template-columns:repeat(2,minmax(0,1fr));width:calc(100% / 3);justify-self:center;margin-inline:auto}
.craving-image .food-photo{filter:drop-shadow(0 18px 16px rgba(0,0,0,.3));transition:transform 360ms var(--ease-move),opacity 200ms var(--ease-out)}
.craving-image.is-changing .food-photo{opacity:0;transform:translate3d(24px,-10px,0) rotate(5deg)}
.craving-result{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);grid-template-rows:1fr auto;align-items:center;gap:18px 16px;min-height:400px;padding:26px}
.craving-result-copy{max-width:none;min-width:0}
.craving-result h3{font-size:clamp(23px,2.45vw,34px);line-height:1.05;letter-spacing:-.075em}
.craving-result p{max-width:none}
.craving-image{position:relative;inset:auto;grid-column:2;grid-row:1;place-items:center;width:100%;height:260px}
.craving-foot{grid-column:1 / -1;grid-row:2;margin:0;padding-right:68px;min-height:58px;max-width:none;line-height:1.5}
.craving-result .hero-halal{left:auto;right:22px;bottom:22px;width:58px;height:58px}
.dishes .dish-tile>.food-photo{position:absolute;inset:14px 14px auto;width:calc(100% - 28px);height:calc(100% - 126px);filter:drop-shadow(0 10px 12px #0003)}
.dishes .dish-tile h3{line-height:1.18}
.dishes .dish-tile-content{flex-direction:column;align-items:flex-start;gap:10px}
.offers .mobile-card-photo{display:none}
/* Adjacent cream sections share one comfortable gap. */
.craving,.sound{padding-block:clamp(48px,6vw,80px)}
.dishes{padding-top:clamp(48px,6vw,80px);padding-bottom:42px}
.offers{padding-top:42px;padding-bottom:42px}
.menu-stage{padding-top:42px;padding-bottom:clamp(48px,6vw,80px)}
/* The wide lead card has room for a full-height dish beside its caption. */
@media(min-width:1100px){
  .dishes .dish-tile:first-child>.food-photo{inset:12px 10px 12px auto;width:calc(100% - 158px);height:calc(100% - 24px)}
  .dishes .dish-tile:first-child .dish-tile-content{width:128px}
}
@media(min-width:701px){
  .sound-stage{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"copy status" "copy visual" "tabs visual" "rail visual";gap:18px 24px;align-items:center;padding:32px;min-height:440px}
  .sound-stage .sound-copy{grid-area:copy;width:auto;min-width:0;padding:0;align-self:start}
  .sound-stage h2{font-size:clamp(28px,4.2vw,60px);line-height:1.04;letter-spacing:-.075em;word-spacing:.08em}
  .sound-stage .sound-description{max-width:430px;min-height:4.5em}
  .sound-stage .kitchen-status{grid-area:status;position:static;max-width:calc(100% - 125px);align-self:start}
  .sound-stage .kitchen-status small{font-size:12px;line-height:1.4}
  .sound-stage .sound-control{top:28px;right:28px;min-height:44px}
  .sound-stage .sound-visual{grid-area:visual;position:relative;inset:auto;width:100%;height:330px;overflow:clip}
  .sound-stage .sound-platter{width:calc(100% - 12px);height:calc(100% - 12px)}
  .sound-stage .sound-tabs{grid-area:tabs;position:static;align-self:end}
  .sound-stage .sound-tab{min-height:44px;padding:10px 16px;font-size:12px}
  .sound-stage .kitchen-rail{grid-area:rail;position:static;width:100%;min-height:34px}
  .sound-stage .kitchen-time,.sound-stage .kitchen-dish-label,.sound-stage .sound-note{display:none}
}
@media(max-width:1000px){
  .craving-head{display:block}
  .craving-head p{max-width:650px;margin-top:20px}
  .craving-board{grid-template-columns:1fr;margin-top:28px}
  .mood-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
  .mood-choice{min-height:100px;padding:15px;gap:10px}
  .mood-choice b{font-size:15px}
  .mood-choice i{font-size:15px}
  .craving-result{min-height:300px}
  .craving-result h3{font-size:32px}
  .craving-image{height:260px}
  .dishes .dish-tile-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
  .dishes .dish-tile,.dishes .dish-tile:first-child{grid-column:auto;min-height:0;min-width:0;padding:18px;display:flex;flex-direction:column;align-items:stretch;gap:18px}
  .dishes .dish-tile::before{display:none}
  .dishes .dish-tile>.food-photo{position:relative;inset:auto;width:100%;height:auto;aspect-ratio:1.3}
  .dishes .dish-tile-content{flex:1;justify-content:space-between}
  .dishes .dish-tile h3,.dishes .dish-tile:not(:first-child) h3{font-size:clamp(16px,3vw,25px)}
  .offers .offers-grid{grid-template-columns:minmax(0,1fr);gap:16px}
  .offers .offer-card,.offers .offer-card--student{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr);grid-template-rows:auto auto 1fr auto;gap:14px 24px;grid-column:auto;min-height:0;padding:28px}
  .offers .offer-chip,.offers .offer-card h3,.offers .offer-card p{grid-column:1;max-width:none;margin:0}
  .offers .offer-card h3{font-size:clamp(26px,4.5vw,38px);line-height:1.08}
  .offers .mobile-card-photo{display:block;grid-column:2;grid-row:1 / 4;align-self:center;height:220px;width:100%}
  .offers .offer-meta{grid-column:1 / -1;margin:0;gap:8px;flex-wrap:wrap;font-size:13px}
  .offers .offer-card::after{background:none}
}
@media(min-width:701px) and (max-width:980px){
  .sound-stage{grid-template-columns:minmax(0,1fr) minmax(0,.9fr);padding:26px;gap:18px}
  .sound-stage .sound-copy{padding-top:0}
  .sound-stage .kitchen-status{max-width:none;padding-bottom:38px}
  .sound-stage .sound-control{top:70px;right:25px;padding:8px 12px}
  .sound-stage .sound-visual{height:280px}
  .sound-stage .sound-tabs{gap:6px;flex-wrap:nowrap}
  .sound-stage .sound-tab{padding:8px 10px;font-size:10px}
  .menu-card--burgundy .dish-choice-photo{height:68px}
  .menu-card--burgundy .dish-choice span{font-size:11px}
}
@media(max-width:700px){
  .craving,.sound{padding-block:44px}
  .dishes{padding:44px 0 28px}
  .offers{padding:28px 0}
  .menu-stage{padding:28px 0 44px}
  .menu-stage>.container>h2{font-size:clamp(18px,5.2vw,34px);line-height:1.18;letter-spacing:-.065em;text-wrap:initial;white-space:nowrap}
  .craving-head h2{font-size:clamp(28px,8vw,42px)}
  .craving-head p{margin-top:18px;font-size:15px}
  .mood-list{grid-template-columns:1fr}
  .mood-choice{min-height:82px;padding:16px 18px}
  .mood-choice b{font-size:18px}
  .mood-choice small{font-size:12px;max-width:none}
  .craving-result{display:flex;flex-direction:column;align-items:stretch;gap:18px;padding:24px;min-height:0}
  .craving-result h3{font-size:clamp(25px,6.8vw,34px);max-width:none;line-height:1.08}
  .craving-result p{max-width:none;font-size:14px}
  .craving-result .btn{margin-top:16px}
  .craving-image{height:clamp(180px,57vw,280px);width:100%;margin:0;inset:auto;flex-shrink:0}
  .craving-foot{font-size:11px;min-height:58px}
  .sound-stage{gap:18px 12px;padding:24px 20px}
  .sound-stage .sound-description{min-height:6em}
  .sound-stage .sound-visual{height:clamp(210px,62vw,290px)}
  .sound-stage .sound-note{display:none}
  .dishes .dish-tile,.dishes .dish-tile:first-child{padding:14px 10px;gap:12px}
  .dishes .dish-tile>.food-photo{aspect-ratio:1}
  .dishes .dish-tile h3,.dishes .dish-tile:not(:first-child) h3{font-size:clamp(15px,3.9vw,23px);letter-spacing:-.065em}
  .offers .offer-card,.offers .offer-card--student{display:flex;gap:16px;padding:24px}
  .offers .mobile-card-photo{height:clamp(150px,42vw,220px)}
  .offers .offer-meta{flex-direction:column;align-items:flex-start;gap:4px}
  .menu-card--burgundy{display:flex;flex-direction:column;gap:20px;height:auto;min-height:0;padding:26px 18px 12px}
  .menu-card--burgundy .menu-title{position:relative;inset:auto;width:100%;min-width:0}
  .menu-card--burgundy .menu-title h3{max-width:none;margin-bottom:12px;font-size:32px}
  .menu-card--burgundy .menu-title p{font-size:14px}
  .menu-card--burgundy .dish-hero{position:relative;inset:auto;flex-shrink:0;align-self:center;width:100%;height:clamp(210px,64vw,340px);overflow:clip}
  .menu-orbits{top:200px;bottom:300px}
  .menu-card--burgundy .dish-browse{position:relative;inset:auto;display:block;width:calc(100% + 24px);margin-inline:-12px;padding-bottom:52px}
  .menu-card--burgundy .dish-selector{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 4px}
  .menu-card--burgundy .dish-choice{padding:6px 1px;min-width:0}
  .menu-card--burgundy .dish-choice-photo{height:57px;margin-bottom:8px}
  .menu-card--burgundy .dish-choice span{font-size:11px;min-height:2.6em;overflow-wrap:normal;word-break:normal}
  .menu-card--burgundy .dish-browse-arrow{position:absolute;bottom:0;left:0;width:44px;height:44px}
  .menu-card--burgundy .dish-browse-arrow:last-child{left:auto;right:0}
  .menu-card--burgundy .dish-pages{position:relative;inset:auto;transform:none;align-self:center;margin-top:-64px;max-width:calc(100% - 96px)}
  .menu-card--burgundy .dish-selector[data-visible-count="2"]{width:100%;grid-template-columns:repeat(2,minmax(0,1fr));max-width:240px}
}
@media(max-width:374px){
  .craving-result{padding:20px}
  .mood-choice b{font-size:16px}
  .sound-stage .sound-description{min-height:7.5em}
  .dishes .dish-tile-grid{grid-template-columns:1fr}
  .dishes .dish-tile,.dishes .dish-tile:first-child{padding:18px;gap:16px}
  .dishes .dish-tile>.food-photo{height:200px;aspect-ratio:auto}
  .dishes .dish-tile h3,.dishes .dish-tile:not(:first-child) h3{font-size:22px}
  .offers .offer-card,.offers .offer-card--student{padding:20px}
  .menu-card--burgundy{padding-inline:16px}
  .menu-card--burgundy .dish-choice span{font-size:10px}
}
