/* Hallmark · pre-emit critique: P4 H4 E4 S5 R4 V4 */
:root{--color-bg:#121412;--color-panel:#1c1e1a;--color-cream:#f2eee4;--color-muted:#bcb9af;--color-gold:#d8ae64;--color-line:rgba(216,174,100,.25);--font-body:'DM Sans',Arial,sans-serif;--font-display:'Playfair Display',Georgia,serif}*{box-sizing:border-box}html,body{margin:0;overflow-x:clip}body.order-page{background:var(--color-bg);color:var(--color-cream);font-family:var(--font-body)}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.skip-link{position:absolute;top:-100px;left:20px;z-index:1000;background:var(--color-gold);color:var(--color-bg);padding:10px}.skip-link:focus{top:12px}:focus-visible{outline:2px solid var(--color-gold);outline-offset:4px}.order-header{height:88px;border-bottom:1px solid var(--color-line);padding:0 clamp(20px,4.5vw,72px);display:flex;align-items:center;justify-content:space-between;gap:24px}.order-brand{display:flex;align-items:center;gap:12px;font-family:var(--font-display);font-size:25px;letter-spacing:.12em;line-height:.75}.order-brand img{object-fit:contain}.order-brand small{display:block;color:var(--color-gold);font:700 7px var(--font-body);letter-spacing:.35em;margin-top:9px}.order-header nav{display:flex;gap:clamp(16px,3vw,48px)}.order-header nav a,.cart-trigger{font-size:10px;font-weight:700;letter-spacing:.17em;text-transform:uppercase}.order-header nav a:hover{color:var(--color-gold)}.cart-trigger{display:flex;align-items:center;gap:13px;color:var(--color-cream);background:none;border:0}.cart-count{display:grid;place-items:center;background:var(--color-gold);color:var(--color-bg);min-width:27px;height:27px;border-radius:50%;font-weight:800}.order-topline{display:flex;justify-content:space-between;padding:18px clamp(20px,4.5vw,72px);font-size:9px;letter-spacing:.22em;color:var(--color-muted)}.order-stage{min-height:calc(100svh - 125px);display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.55fr) minmax(0,.9fr);align-items:center;gap:10px;padding:35px clamp(20px,4.5vw,72px) 85px}.order-kicker{font-size:10px;font-weight:800;letter-spacing:.24em;color:var(--color-gold);text-transform:uppercase}.stage-intro,.dish-info{position:relative;z-index:2}.stage-intro h1{font:400 clamp(54px,6vw,106px)/.98 var(--font-display);letter-spacing:-.06em;margin:22px 0 24px;overflow-wrap:anywhere}.stage-intro h1 span{color:var(--color-gold)}.stage-intro>p:not(.order-kicker){font-size:14px;line-height:1.8;color:var(--color-muted);max-width:270px}.stage-pager{margin-top:65px;display:flex;gap:32px;align-items:center;font-size:10px;letter-spacing:.2em}.stage-pager div{display:flex;gap:8px}.stage-pager button{width:44px;height:44px;border:1px solid var(--color-line);background:none;color:var(--color-cream);font-size:20px}.stage-pager button:hover{background:var(--color-gold);color:var(--color-bg)}.plate-scene{position:relative;min-height:620px;display:grid;place-items:center;isolation:isolate}.plate-halo{position:absolute;width:75%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(216,174,100,.15),rgba(216,174,100,.035) 54%,transparent 70%)}.plate-ring{position:absolute;border:1px solid var(--color-line);border-radius:50%;width:86%;aspect-ratio:1}.ring-two{width:70%;opacity:.6}.featured-image{position:relative;width:min(110%,670px);max-width:none;filter:drop-shadow(0 35px 32px rgba(0,0,0,.48));animation:plate-turn 36s linear infinite;will-change:transform}.plate-scene:hover .featured-image,.plate-scene:focus-within .featured-image{animation-play-state:paused}.plate-ghost{position:absolute!important;z-index:3;pointer-events:none}.featured-image.rolling-out{animation:roll-out .42s ease-in forwards}.featured-image.rolling-in{animation:roll-in .52s cubic-bezier(.2,.8,.2,1) forwards}.plate-hint{position:absolute;bottom:6px;font-size:9px;letter-spacing:.22em;color:var(--color-muted)}.ingredient-callouts{position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .25s}.plate-scene:hover .ingredient-callouts{opacity:1}.callout{position:absolute;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--color-cream);white-space:nowrap;animation:callout-in .35s ease both}.callout:before{content:'';position:absolute;top:50%;height:1px;width:75px;background:var(--color-gold)}.callout.left:before{left:calc(100% + 10px);transform:rotate(12deg);transform-origin:left}.callout.right:before{right:calc(100% + 10px);transform:rotate(-12deg);transform-origin:right}.dish-info{padding-left:12px}.dish-info h2{font:400 clamp(41px,4vw,68px)/1.06 var(--font-display);letter-spacing:-.05em;margin:15px 0 25px;overflow-wrap:anywhere}.featured-description{font-size:14px;line-height:1.8;color:var(--color-muted);max-width:340px}.featured-tags{display:flex;gap:7px;flex-wrap:wrap;margin:22px 0}.featured-tags span{border:1px solid var(--color-line);padding:7px 9px;font-size:9px;letter-spacing:.1em;text-transform:uppercase}.purchase-row{border-top:1px solid var(--color-line);padding-top:24px;display:flex;align-items:center;gap:20px;justify-content:space-between}.purchase-row strong{font:400 31px var(--font-display)}.purchase-row button,.send-request{border:0;background:var(--color-gold);color:var(--color-bg);font-size:10px;font-weight:800;letter-spacing:.1em;white-space:nowrap;padding:18px 17px}.purchase-row button:hover,.send-request:hover{filter:brightness(1.13)}.illustration-note{font-size:10px;color:var(--color-muted);line-height:1.5;margin-top:20px}.dish-browser{padding:90px clamp(20px,5vw,86px) 105px;border-top:1px solid var(--color-line);background:var(--color-panel)}.browser-heading{display:flex;align-items:end;justify-content:space-between;gap:25px}.browser-heading h2{font:400 clamp(46px,5.4vw,83px) var(--font-display);letter-spacing:-.05em;margin:10px 0}.browser-heading>p{max-width:265px;font-size:13px;line-height:1.7;color:var(--color-muted)}.browser-controls{margin:28px 0 22px}.browser-controls label{display:block;font-size:9px;letter-spacing:.2em;margin-bottom:9px;color:var(--color-gold)}.browser-controls input{background:transparent;border:0;border-bottom:1px solid var(--color-line);color:var(--color-cream);padding:12px 4px;width:min(100%,400px);outline:none}.category-filters{display:flex;flex-wrap:wrap;gap:7px;margin-top:25px}.category-filters button{background:transparent;border:1px solid var(--color-line);color:var(--color-muted);padding:10px 12px;font-size:9px;letter-spacing:.1em;text-transform:uppercase}.category-filters button.active,.category-filters button:hover{background:var(--color-gold);color:var(--color-bg)}.dish-rail{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--color-line);border:1px solid var(--color-line)}.dish-rail button{min-width:0;border:0;background:var(--color-panel);color:var(--color-cream);text-align:left;padding:15px;display:grid;grid-template-columns:66px minmax(0,1fr);gap:12px;align-items:center}.dish-rail button:hover,.dish-rail button.active{background:#292b25}.dish-rail img{width:66px;height:66px;object-fit:contain}.dish-rail strong{display:block;font:400 15px/1.2 var(--font-display);overflow-wrap:anywhere}.dish-rail small{display:block;color:var(--color-gold);font-size:10px;margin-top:7px}.dish-rail .empty-result{grid-column:1/-1;padding:25px}.order-end{padding:48px clamp(20px,5vw,86px);display:flex;align-items:center;gap:30px;flex-wrap:wrap}.order-end span{font-size:9px;letter-spacing:.2em;color:var(--color-gold)}.order-end p{font:25px var(--font-display);margin:0}.order-end a{margin-left:auto;border-bottom:1px solid var(--color-gold);font-size:11px;text-transform:uppercase;letter-spacing:.15em;padding-bottom:7px}.cart-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.65);z-index:80}.cart-drawer{position:fixed;right:0;top:0;bottom:0;width:min(100%,510px);z-index:81;background:var(--color-panel);transform:translateX(102%);transition:transform .4s ease;display:flex;flex-direction:column;box-shadow:-30px 0 80px rgba(0,0,0,.3)}.cart-drawer.open{transform:none}.cart-head{display:flex;justify-content:space-between;align-items:start;padding:26px 30px 20px;border-bottom:1px solid var(--color-line)}.cart-head h2{font:400 39px var(--font-display);margin:6px 0}.cart-head>button{border:1px solid var(--color-line);width:36px;height:36px;background:transparent;color:var(--color-cream)}.cart-items{overflow:auto;min-height:85px;flex:1;padding:20px 30px}.cart-empty{color:var(--color-muted);font-size:14px}.cart-item{display:grid;grid-template-columns:67px minmax(0,1fr) auto;gap:12px;align-items:center;padding:13px 0;border-bottom:1px solid var(--color-line)}.cart-item img{width:67px;height:67px;object-fit:contain}.cart-item strong{font:400 17px var(--font-display)}.cart-item small{display:block;color:var(--color-gold);margin-top:4px}.quantity-control{display:flex;align-items:center;gap:8px}.quantity-control button{width:25px;height:25px;border:1px solid var(--color-line);background:none;color:var(--color-cream)}.cart-bottom{overflow:auto;padding:20px 30px 25px;border-top:1px solid var(--color-line)}.cart-totals>div{display:flex;justify-content:space-between;padding:5px 0;font-size:12px;color:var(--color-muted)}.cart-totals .cart-total{margin:11px 0 19px;border-top:1px solid var(--color-line);padding-top:16px;font-size:17px;color:var(--color-cream)}#order-form h3,.request-result h3{font:400 25px var(--font-display);margin:8px 0}#order-form p,.request-result p{font-size:12px;line-height:1.6;color:var(--color-muted)}#order-form label{display:block;font-size:11px;color:var(--color-cream);margin:10px 0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}#order-form input,#order-form select,#order-form textarea{display:block;width:100%;min-height:38px;margin-top:5px;padding:8px;background:var(--color-bg);border:1px solid var(--color-line);color:var(--color-cream);color-scheme:dark}#order-form textarea{resize:vertical}.send-request{display:flex;justify-content:space-between;width:100%;margin-top:15px}.send-request:disabled{opacity:.5;cursor:not-allowed}.request-result a{display:inline-block;background:var(--color-gold);color:var(--color-bg);padding:12px 16px;font-size:12px;font-weight:800}.request-result button{display:block;background:none;border:0;color:var(--color-cream);padding:16px 0;text-decoration:underline}.result-symbol{font-size:38px;color:var(--color-gold)}@keyframes plate-turn{to{transform:rotate(360deg)}}@keyframes roll-out{to{transform:translateX(-115%) rotate(-90deg);opacity:0}}@keyframes roll-in{from{transform:translateX(115%) rotate(90deg);opacity:0}to{transform:translateX(0) rotate(0);opacity:1}}@keyframes callout-in{from{transform:translateY(6px);opacity:0}to{transform:none;opacity:1}}.fly-dish{position:fixed;z-index:100;pointer-events:none;transition:transform .75s cubic-bezier(.2,.7,.15,1),opacity .75s;filter:drop-shadow(0 10px 15px rgba(0,0,0,.4))}@media(max-width:1100px){.order-stage{grid-template-columns:minmax(0,.8fr) minmax(0,1.25fr);gap:0}.plate-scene{min-height:480px}.dish-info{grid-column:1/-1;padding:0 10%;max-width:760px;margin:auto;text-align:center}.featured-description{margin:auto}.purchase-row{max-width:440px;margin:auto}.dish-rail{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:700px){.order-header{height:70px;padding:0 20px}.order-header nav{display:none}.order-brand{font-size:20px}.order-brand img{width:43px;height:43px}.cart-trigger>span:first-child{display:none}.order-topline{font-size:8px;padding:14px 20px}.order-topline span:nth-child(2){display:none}.order-stage{display:flex;flex-direction:column;padding:32px 20px 75px}.stage-intro{width:100%}.stage-intro h1{font-size:clamp(58px,14vw,80px);margin:15px 0}.stage-intro>p:not(.order-kicker){max-width:360px}.stage-pager{margin-top:20px;justify-content:space-between}.plate-scene{min-height:390px;width:100%}.featured-image{width:112%;max-width:490px}.plate-ring{width:100%}.ring-two{width:81%}.plate-hint{font-size:8px}.dish-info{padding:0;text-align:left;width:100%}.dish-info h2{font-size:46px}.featured-description{margin:0}.purchase-row{margin:0}.browser-heading{display:block}.browser-heading>p{max-width:100%}.dish-browser{padding:68px 20px}.dish-rail{grid-template-columns:repeat(2,minmax(0,1fr))}.dish-rail button{grid-template-columns:49px minmax(0,1fr);padding:10px;gap:6px}.dish-rail img{width:49px;height:49px}.dish-rail strong{font-size:13px}.order-end a{margin-left:0}.ingredient-callouts{display:none}}@media(max-width:400px){.dish-rail{grid-template-columns:1fr}.dish-rail button{grid-template-columns:59px minmax(0,1fr)}.dish-rail img{width:59px;height:59px}.form-grid{grid-template-columns:1fr}.cart-head,.cart-items,.cart-bottom{padding-left:18px;padding-right:18px}.cart-item{grid-template-columns:48px minmax(0,1fr) auto}.cart-item img{width:48px;height:48px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* The ordering feature is the site entrance; the complete dish index sits beside the plate. */
.order-header nav{gap:clamp(13px,2.1vw,31px)}
.order-menu-toggle{display:none;background:none;border:1px solid var(--color-line);color:var(--color-cream);width:38px;height:38px;font-size:19px}
.order-stage{grid-template-columns:minmax(210px,.78fr) minmax(390px,1.35fr) minmax(250px,.9fr) minmax(215px,.72fr);gap:clamp(12px,1.5vw,24px);padding-left:clamp(22px,3vw,58px);padding-right:clamp(22px,3vw,58px)}
.stage-intro h1{font-size:clamp(52px,5vw,91px)}
.plate-scene{min-height:590px}.featured-image{width:min(118%,590px)}
.dish-info{padding-left:0}.dish-info h2{font-size:clamp(36px,3.2vw,58px)}
.dish-browser{min-width:0;align-self:stretch;display:flex;flex-direction:column;border:0;border-left:1px solid var(--color-line);padding:12px 0 12px 16px;background:transparent}
.browser-heading{display:block}.browser-heading h2{font-size:30px;margin:4px 0}.browser-heading>p{display:none}
.browser-controls{margin:8px 0 10px}.browser-controls input{width:100%;padding:8px 2px}.category-filters{max-height:80px;overflow:auto;margin-top:11px;gap:4px}.category-filters button{padding:6px;font-size:8px}
.dish-rail{display:block;min-height:0;max-height:610px;overflow-y:auto;background:transparent;border:0;border-top:1px solid var(--color-line);scrollbar-color:var(--color-gold) var(--color-panel);scrollbar-width:thin}
.dish-rail button{width:100%;grid-template-columns:45px minmax(0,1fr);gap:8px;padding:9px 3px;background:transparent;border-bottom:1px solid var(--color-line)}
.dish-rail img{width:45px;height:45px}.dish-rail strong{font-size:13px}.dish-rail small{font-size:8px}
@media(max-width:1350px){.order-stage{grid-template-columns:minmax(170px,.65fr) minmax(340px,1.25fr) minmax(225px,.8fr) minmax(185px,.65fr);gap:9px}.plate-scene{min-height:530px}.featured-image{width:min(115%,540px)}.purchase-row{display:block}.purchase-row button{margin-top:12px}}
@media(max-width:1100px){.order-stage{grid-template-columns:minmax(0,.8fr) minmax(0,1.3fr) minmax(0,.9fr);align-items:center}.dish-info{grid-column:auto;padding:0;text-align:left}.featured-description{margin:0}.purchase-row{margin:0}.dish-browser{grid-column:1/-1;min-height:0;border-left:0;border-top:1px solid var(--color-line);padding:20px 0}.dish-rail{max-height:240px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px}.dish-rail button{height:64px}.browser-heading h2{font-size:28px}.category-filters{max-height:none}}
@media(max-width:800px){.order-header{position:relative}.order-header nav{display:none;position:absolute;left:0;right:0;top:100%;z-index:55;background:var(--color-bg);padding:15px 20px 25px;border-bottom:1px solid var(--color-line);box-shadow:0 20px 30px rgba(0,0,0,.3)}.order-header nav.is-open{display:flex;flex-direction:column;gap:0}.order-header nav a{padding:12px 0;border-bottom:1px solid var(--color-line)}.order-menu-toggle{display:block;margin-left:auto}.order-stage{grid-template-columns:1fr 1.3fr}.dish-info{grid-column:1/-1;max-width:700px}.dish-browser{grid-column:1/-1}.order-header .cart-trigger{margin-left:0}}
@media(max-width:700px){.order-stage{display:flex;flex-direction:column;padding:32px 20px 70px}.dish-browser{width:100%;align-self:auto;border-top:1px solid var(--color-line);padding-top:25px;margin-top:30px}.dish-rail{display:block;max-height:320px}.dish-rail button{grid-template-columns:55px minmax(0,1fr);height:auto}.dish-rail img{width:55px;height:55px}.dish-rail strong{font-size:15px}.browser-heading h2{font-size:32px}.featured-image{width:112%}.purchase-row{display:flex}.purchase-row button{margin-top:0}}
@media(max-width:800px){.home-page .global-header .reserve-link,.home-page .global-header .order-link{display:none}.home-page .global-header .header-actions{margin-left:auto}.home-page .global-header .cart-trigger{padding:4px}}

/* Keep the image square as it scales; the HTML dimensions reserve its aspect ratio. */
.featured-image{height:auto;aspect-ratio:1/1;object-fit:contain}
.plate-scene{min-width:0;touch-action:pan-y}
.dish-rail button,.category-filters button{min-height:44px}
.quantity-control button,.cart-head>button{min-width:44px;min-height:44px}
.cart-bottom{padding-bottom:max(25px,env(safe-area-inset-bottom))}
@media(max-width:1100px){
  .plate-scene{min-height:0;aspect-ratio:1/1}
  .featured-image{width:min(100%,540px)}
}
@media(max-width:700px){
  .order-stage{padding-top:20px;padding-bottom:55px}
  .stage-intro h1{font-size:clamp(48px,13vw,64px);margin:9px 0 12px}
  .stage-intro>p:not(.order-kicker){line-height:1.55;margin:0}
  .stage-pager{margin-top:16px}
  .plate-scene{width:100%;height:auto;min-height:0;aspect-ratio:1/1;margin:8px auto 14px}
  .featured-image{width:100%;max-width:390px;height:auto}
  .plate-ring{width:95%}
  .plate-hint{display:none}
  .dish-info h2{font-size:clamp(34px,10vw,46px);margin:8px 0 14px}
  .featured-description{line-height:1.6}
  .featured-tags{margin:12px 0}
  .purchase-row{padding-top:16px}
  .dish-browser{margin-top:20px}
  .category-filters{max-height:none}
  .category-filters button{font-size:10px;padding:10px 12px}
  .dish-rail{max-height:340px}
  .dish-rail button{min-height:70px}
  .cart-trigger,.order-menu-toggle{min-width:44px;min-height:44px;justify-content:center}
  .cart-trigger>span[aria-hidden]{display:none}
  #order-form input,#order-form select,#order-form textarea{min-height:44px;font-size:16px}
  .form-grid{grid-template-columns:1fr}
}
@media(max-width:360px){
  .order-topline{font-size:7px;letter-spacing:.12em}
  .purchase-row{gap:10px}
  .purchase-row button{padding:16px 12px;font-size:9px}
  .cart-item{grid-template-columns:45px minmax(0,1fr)}
  .cart-item .quantity-control{grid-column:2;justify-self:end}
}

.order-status{font-size:13px;line-height:1.5;margin:12px 0 0}
.order-status[data-kind="ok"]{color:var(--color-cream)}
.order-status[data-kind="error"]{color:#f5bb9e}
.email-fallback{display:inline-block;margin-top:12px;color:var(--color-gold);font-size:12px;font-weight:700;text-decoration:underline;text-underline-offset:4px}
.order-status[hidden],.email-fallback[hidden],#request-result[hidden],#order-form[hidden]{display:none}

/* Keep the cart in view so the dish flight has a visible destination. */
.order-page .global-header{position:sticky;top:0;z-index:70}
.order-page .fly-dish{transition:none;object-fit:contain}
