/* Restaurant-focus refinement: the established family menu board, with clearer choices. */
[hidden]{display:none!important}
figure{margin-inline:0}
h1,h2{text-wrap:balance}
.header-call{display:none}
select{font:500 16px/1.3 var(--sans);background:var(--cream);color:var(--ink);border:1px solid var(--muted);border-radius:3px;min-height:48px;padding:10px 32px 10px 12px;max-width:100%;min-width:0;accent-color:var(--red)}
select:focus-visible,.photo-link:focus-visible,.viewer-stage:focus-visible{outline:3px solid var(--red);outline-offset:4px}
button{cursor:pointer;transition:transform 120ms var(--ease),background var(--fast) var(--ease),color var(--fast) var(--ease)}
button:disabled{cursor:wait;opacity:.5}
button:focus-visible{outline-offset:4px}
.page-menu .phero{height:70svh;min-height:600px;max-height:720px}
.page-menu .phero-in{padding-bottom:48px}
.hero-jump{display:inline-flex;align-items:center;min-height:48px;font-weight:700;text-underline-offset:5px}
.ingredients{display:block;margin-top:8px;font:400 15px/1.5 var(--sans);color:var(--muted);max-width:48ch}
.ptable td:first-child small{display:block;margin-top:8px}
.ptable th,.ptable td{vertical-align:top}
.pizza-controls{display:grid;grid-template-columns:minmax(0,1fr) minmax(200px,1fr);gap:8px 24px;align-items:center;margin:28px 0 12px;padding:20px 0;border-top:1px solid #241d1635;border-bottom:1px solid #241d1635}
.pizza-controls label{font:700 18px/1.3 var(--sans)}
.pizza-controls select{width:100%}
.size-status{grid-column:1/-1;color:var(--muted);font-size:14px;margin:0}
.size-mirror,.table-help{font-size:14px;color:var(--muted);margin:16px 0}
.ptable.size-filtered{min-width:0;table-layout:fixed}
.ptable.size-filtered th:first-child,.ptable.size-filtered td:first-child{width:68%;padding-right:16px}
.ptable.size-filtered th:not(:first-child){white-space:normal}
.ptable.size-filtered .grp th{width:auto}
.ptable.size-filtered caption{line-height:1.5}
#slice .ptable{min-width:0}
.chapter-picker{display:none}
.board-selected{font:700 13px/1.4 var(--sans);padding:14px 24px 0;margin:0;color:var(--muted)}
.offer:focus-visible{outline:3px solid var(--red);outline-offset:-6px}
.board-days{flex-wrap:wrap;overflow:visible!important}
.board-foot{gap:12px}
.board-foot span{max-width:32ch}
/* Full-size photo links are useful even when scripts are unavailable. */
.photo-link{display:block;position:relative;text-decoration:none;overflow:hidden;isolation:isolate}
.photo-link img{transition:transform var(--photo) var(--ease)}
.photo-open{position:absolute;right:12px;bottom:12px;z-index:3;background:#191511e8;color:var(--cream);font:500 13px/1 var(--sans);padding:12px 14px;min-height:40px;display:flex;align-items:center}
.archive::before{pointer-events:none}
.photo-link:focus-visible .photo-open{background:var(--red);color:white}
.archive-band{height:auto!important;overflow:hidden;background:var(--ink)}
.archive-band .zoom-stick{height:560px;min-height:0;padding:64px var(--gut);position:relative;display:flex;align-items:center;justify-content:flex-end}
.archive-band .zoom-media{clip-path:none!important;inset:0}
.archive-band .zoom-media::after{background:linear-gradient(90deg,#19151120,#191511e0)}
.archive-band .zoom-media img{object-position:50% 28%;filter:sepia(.15) saturate(.9)}
.archive-band .zoom-copy{position:relative;inset:auto;text-align:left;width:42%;max-width:560px;transform:none}
.archive-band .zoom-copy h2{font:400 clamp(40px,4.8vw,68px)/1.03 var(--serif);text-transform:none;letter-spacing:-.02em}
.archive-band .zoom-copy h2 em{display:block;font-style:italic;color:var(--cream)}
.archive-band .zoom-copy p{font:400 18px/1.5 var(--sans);letter-spacing:0;text-transform:none;max-width:32ch;margin:24px 0}
.archive-band .zoom-note{left:var(--gut);bottom:24px;font-size:10px}
.ftr{padding-top:48px;padding-bottom:32px}
.ftr-logo{width:164px;margin-bottom:20px}
.ftr-line{font-size:24px;max-width:42ch;margin-bottom:28px}
.ftr-nav a{letter-spacing:.05em;min-height:44px;display:inline-flex;align-items:center}
.ftr-small{font:400 14px/1.8 var(--sans)}
.ftr-small a{display:inline-block;min-height:32px}
.visit p a[href^="mailto:"]{overflow-wrap:anywhere}
.photo-opened{overflow:hidden}
.photo-opened .sticky-action{visibility:hidden}
.photo-viewer{background:var(--ink);color:var(--cream);position:fixed;inset:0;width:100%;height:100dvh;max-width:none;max-height:none;border:0;margin:0;padding:24px;overscroll-behavior:contain;overflow:auto;color-scheme:dark}
.photo-viewer[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:16px}
.photo-viewer::backdrop{background:#191511f5}
.viewer-top{display:flex;align-items:center;justify-content:space-between;gap:16px}
.viewer-top h2{font:400 26px/1.2 var(--serif)}
.photo-viewer button,.viewer-file{min-height:48px;display:inline-flex;align-items:center;justify-content:center;padding:10px 16px;border:1px solid #f4ebdd70;border-radius:3px;background:transparent;color:var(--cream);font:500 15px/1.3 var(--sans);text-decoration:none;white-space:nowrap}
.viewer-stage{min-height:0;position:relative;display:flex;justify-content:center;align-items:center;overflow:auto;scrollbar-width:thin;scrollbar-color:var(--muted) var(--ink)}
.viewer-stage img{height:auto;width:auto;max-width:100%;max-height:100%;object-fit:contain;flex-shrink:0}
.viewer-stage.zoomed{display:block}
.viewer-stage.zoomed img{width:var(--photo-width);max-width:none;max-height:none;height:auto}
.viewer-message{padding:24px;text-align:center;max-width:42ch}
.viewer-bottom{max-width:1100px;justify-self:center;width:100%}
#photo-caption{font:400 15px/1.5 var(--sans);margin:0 0 12px}
.viewer-controls{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap}
.viewer-count{font:400 13px/1.3 var(--mono);min-width:54px;text-align:center}
@media (hover:hover) and (pointer:fine){
 .photo-link:hover img{transform:scale(1.025)}
 .photo-link:hover .photo-open{background:var(--red)}
 .ptable tbody tr:not(.grp):hover{background:#e8dcc86b}
 .photo-viewer button:hover,.viewer-file:hover{background:var(--cream);color:var(--ink)}
}
@media (min-width:861px){.js:not(.no-motion) .hero-reveal{animation:arrival 480ms var(--ease) both}}
@keyframes arrival{from{transform:translateY(10px)}to{transform:none}}
.js:not(.no-motion) .tl-row .rv.in{animation:storyEnter 500ms var(--ease) both}
@keyframes storyEnter{from{transform:translateX(12px)}to{transform:none}}
@media (max-width:900px){
 .chapter-picker-ready .chapter-picker{display:block;padding:12px 0}
 .chapter-picker-ready ol{display:none}
 .chapter-picker label{display:block;font:700 12px/1.3 var(--sans);margin-bottom:6px}
 .chapter-picker>div{display:grid;grid-template-columns:minmax(0,1fr) 52px;gap:8px}
 .chapter-picker select{width:100%;font-size:16px}
 .chapter-go{border:0;background:var(--red);color:white;border-radius:3px;font:700 15px var(--sans);min-height:48px}
 .chapter{scroll-margin-top:115px}
 .archive-band .zoom-copy{width:60%}
}
@media (max-width:860px){
 .header-call{display:inline-flex;align-items:center;min-height:44px;padding:0 10px;font:700 14px/1 var(--sans);margin-left:auto;text-decoration:none}
 .hdr-cta{display:none}
 .js:not(.no-motion) .hero-reveal{animation:arrival 480ms var(--ease) both}
 .page-menu .phero{height:auto;min-height:620px;max-height:none}
 .page-menu .phero-in{padding-top:160px;padding-bottom:40px}
 .page-menu .phero .lead{margin-top:20px}
 .page-menu .phero .hero-jump{width:100%;font-size:15px}
 .archive-band .zoom-stick{height:480px;padding:40px var(--gut);align-items:flex-end;justify-content:flex-start}
 .archive-band .zoom-copy{width:100%;max-width:340px;padding-bottom:24px}
 .archive-band .zoom-copy h2{font-size:42px;max-width:12ch}
 .archive-band .zoom-copy p{font-size:16px;margin:16px 0}
 .archive-band .zoom-media::after{background:linear-gradient(0deg,#191511f0,#19151185 55%,#19151120)}
 .archive-band .zoom-media img{object-position:40% 24%}
 .ftr-line{font-size:21px;max-width:28ch}
 .photo-viewer{padding:12px 12px max(12px,env(safe-area-inset-bottom))}
 .viewer-top h2{font-size:20px;max-width:13ch}
 .viewer-controls{gap:8px}
 .photo-viewer button,.viewer-file{font-size:13px;padding:10px 12px}
 .viewer-top button{flex-shrink:0}
 #photo-caption{font-size:14px}
}
@media (max-width:600px){
 .pizza-controls{grid-template-columns:1fr;gap:10px;padding:16px 0;margin-top:20px}
 .pizza-controls label{font-size:16px}
 .board-days{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:12px}
 .board-days .day{min-width:0;min-height:48px;padding:10px 5px;font-size:14px;white-space:normal}
 .board-days .day:first-child{grid-column:1/-1;display:flex;justify-content:center;align-items:center;gap:8px}
 .board-days .day .today{font-size:9px;letter-spacing:0;white-space:nowrap}
 .board-selected{padding:12px 20px 0}
 .board-foot{align-items:flex-start;flex-direction:column}
 .ingredients{font-size:14px;line-height:1.5}
 .ptable.size-filtered td{padding-top:16px;padding-bottom:16px}
 .ptable.size-filtered td:first-child{font-size:16px}
 .ptable caption{font-size:10px;letter-spacing:.07em}
 .ptable .grp th{line-height:1.5;white-space:normal}
}
@media (max-width:360px){
 .header-call{padding:0 8px;font-size:13px}
 .page-menu .phero h1{font-size:44px}
 .photo-viewer[open]{gap:10px}
 .photo-viewer button,.viewer-file{padding:10px;font-size:12px}
 .viewer-count{min-width:42px}
}
/* A query switch is a complete static twin, not merely a stopped slideshow. */
.noanim *, .noanim *::before,.noanim *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
.noanim .hero-frame .s1{opacity:1!important;transform:none!important}
.noanim .hero-frame .s2{display:none!important}
.noanim .motion-toggle{display:none!important}
.noanim .rv,.noanim .rv-clip{opacity:1!important;transform:none!important;clip-path:none!important}
.motion-paused .hero-reveal,.motion-paused .rv,.motion-paused .rv-clip{animation-play-state:paused!important}
@media (prefers-reduced-motion:reduce){
 .hero-reveal,.tl-row .rv.in,.photo-link img{animation:none!important;transition:none!important;transform:none!important}
 .archive-band .zoom-media img{transform:none!important}
}
@media (hover:none){.btn:hover{transform:none}}

.board-selected{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;padding:0;margin:0}
.archive-band .zoom-copy{padding-inline:0}
@media (max-height:600px) and (orientation:landscape){.photo-viewer[open]{grid-template-rows:auto minmax(200px,1fr) auto;height:auto;min-height:100dvh}.viewer-stage{height:60vh}}

/* Autoplay exists only after its pause control has been initialized. */
.js:not(.motion-ready) .hero-frame .s1,.js:not(.motion-ready) .hero-frame .s2,.js:not(.motion-ready) .marquee-track{animation:none!important}
.js:not(.motion-ready) .hero-frame .s1{opacity:1!important}
.js:not(.motion-ready) .hero-frame .s2{opacity:0!important}
.noanim .photo-link img{transform:none!important}
