:root { --ink:#261712; --paper:#f4ead7; --accent:#7b2432; --accent-strong:#531620; --muted:#ad8b65; --cream:#fff8e8; --display:"Iowan Old Style",Baskerville,serif; --body:"Avenir Next",Avenir,sans-serif; --detail:var(--accent-strong); --detail-on-dark:var(--paper); --line:color-mix(in srgb,var(--ink) 20%,transparent); --menu-surface:color-mix(in srgb,var(--paper) 72%,white); --radius-card:14px; --radius-pill:999px; --type-hero:clamp(3rem,6.4vw,5.5rem); --type-section:clamp(2.25rem,4.4vw,4.5rem); --space-section:clamp(5rem,9vw,9rem); --shadow-panel:0 1.25rem 3rem color-mix(in srgb,var(--ink) 12%,transparent); --shadow-raised:0 .5rem 1.1rem color-mix(in srgb,var(--ink) 14%,transparent); --z-header:15; --z-banner:20; --banner-height:30.4px; }
* { box-sizing:border-box; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:var(--body); line-height:1.55; }
button, a { font:inherit; }
button:focus-visible, a:focus-visible { outline:3px solid var(--detail); outline-offset:3px; }
.unofficial-banner { position:sticky; top:0; z-index:var(--z-banner); padding:.5rem 1rem; background:var(--accent-strong); color:var(--cream); text-align:center; font-size:.75rem; line-height:1.2; font-weight:700; letter-spacing:.06em; }
.site-header { position:sticky; top:var(--banner-height); z-index:var(--z-header); display:grid; grid-template-columns:1fr auto 1fr; align-items:center; min-height:5rem; padding:0 clamp(1rem,4vw,4.5rem); background:color-mix(in srgb,var(--paper) 95%,transparent); border-bottom:1px solid var(--line); box-shadow:0 0 0 transparent; backdrop-filter:blur(12px); }
.site-header.is-scrolled { box-shadow:0 .35rem 1.4rem color-mix(in srgb,var(--ink) 10%,transparent); }
.wordmark { color:inherit; text-decoration:none; font:700 clamp(1.25rem,2vw,1.7rem)/1 var(--display); }
.site-nav { display:flex; gap:1.5rem; align-items:center; }
.site-nav a { position:relative; display:inline-flex; min-height:2.75rem; align-items:center; color:inherit; text-decoration:none; font-size:.875rem; font-weight:700; }
.site-nav a:not(.button)::after { content:""; position:absolute; left:0; right:0; bottom:.25rem; height:2px; background:var(--detail); opacity:0; transform:scaleX(0); transform-origin:left center; transition:transform 160ms ease-out,opacity 160ms ease-out; }
.site-nav a:not(.button):hover::after,.site-nav a:not(.button):focus-visible::after,.site-nav a:not(.button).is-active::after { opacity:1; transform:scaleX(1); }
.site-nav a.is-active { color:var(--detail); }
.language-picker { justify-self:end; display:flex; gap:.25rem; }
.language-picker a { display:grid; min-width:2.75rem; min-height:2.75rem; place-items:center; padding:.5rem; color:inherit; font-size:.8125rem; font-weight:800; text-decoration:none; }
.language-picker a[aria-current="page"] { color:var(--accent); border-bottom:2px solid currentColor; }
.nav-toggle { display:none; justify-self:end; min-width:2.75rem; min-height:2.75rem; border:1px solid var(--line); border-radius:var(--radius-pill); background:transparent; padding:.5rem .9rem; color:var(--ink); }
.section { min-width:0; padding:var(--space-section) clamp(1.25rem,7vw,7rem); scroll-margin-top:8rem; }
.eyebrow { margin:0 0 1rem; color:var(--detail); text-transform:uppercase; letter-spacing:.12em; font-size:.8125rem; font-weight:850; }
.hero .eyebrow,.visit .eyebrow { text-transform:none; letter-spacing:.035em; font-size:.9375rem; font-weight:700; }
h1,h2,h3 { font-family:var(--display); font-weight:700; text-wrap:balance; }
h1 { max-width:17ch; margin:.15em 0 .35em; font-size:var(--type-hero); line-height:1.02; letter-spacing:-.03em; }
h2 { margin:.2em 0 .4em; font-size:var(--type-section); line-height:1.04; letter-spacing:-.03em; }
h3 { line-height:1.08; }
.hero { min-height:calc(100svh - 7.5rem); display:grid; grid-template-columns:minmax(0,1.2fr) minmax(19rem,.8fr); gap:clamp(2rem,6vw,7rem); align-items:center; }
.hero-copy { min-width:0; max-width:64rem; }
.hero-dek { max-width:65ch; font-size:clamp(1rem,1.7vw,1.3rem); text-wrap:pretty; }
.actions { display:flex; flex-wrap:wrap; gap:.8rem; margin-top:2rem; }
.button,.button:visited,.site-nav a.button,.site-nav a.button:visited { display:inline-flex; align-items:center; justify-content:center; min-width:0; max-width:100%; min-height:3.25rem; padding:.75rem 1.35rem; border:1.5px solid var(--accent); border-radius:var(--radius-pill); background:var(--accent); color:var(--cream); text-align:center; text-decoration:none; overflow-wrap:anywhere; cursor:pointer; font-weight:800; transition:transform 180ms ease-out; }
.button:focus,.button:focus-visible,.site-nav a.button:focus,.site-nav a.button:focus-visible { color:var(--cream); }
.button:hover,.site-nav a.button:hover { border-color:var(--accent-strong); background:var(--accent-strong); color:var(--cream); transform:translateY(-1px); box-shadow:0 .25rem .45rem color-mix(in srgb,var(--ink) 14%,transparent),0 .7rem 1.3rem color-mix(in srgb,var(--ink) 10%,transparent); }
.button:active,.site-nav a.button:active { transform:translateY(0); box-shadow:0 .15rem .35rem color-mix(in srgb,var(--ink) 12%,transparent); }
.button.secondary,.button.secondary:visited { border-color:var(--accent); background:transparent; color:var(--accent); }
.button.secondary:hover { border-color:var(--accent); background:var(--accent); color:var(--cream); }
.site-nav .button,.site-nav .button:visited { min-height:2.75rem; padding:.55rem 1rem; }
.quick-status { display:inline-block; margin-top:2.5rem; padding:.5rem 0; border-bottom:1px solid var(--muted); font-weight:800; }
.illustration-panel { position:relative; overflow:hidden; color:var(--accent); background:color-mix(in srgb,var(--paper) 93%,var(--accent)); border:0; border-radius:var(--radius-card); box-shadow:var(--shadow-panel); }
.hero-photo,.signature-photo,.story-photo,.dish-photo { display:block; width:100%; height:100%; object-fit:cover; }
.hero-photo,.signature-photo,.story-photo { position:absolute; inset:0; }
.hero-photo { top:-8%; height:116%; }
.engraving { display:block; width:100%; height:100%; min-height:inherit; fill:none; stroke:currentColor; stroke-width:1.75; stroke-linecap:round; stroke-linejoin:round; vector-effect:non-scaling-stroke; }
.engraving * { vector-effect:non-scaling-stroke; }
.engraving .ornament { opacity:.58; stroke-width:1.5; }
.engraving .fine { stroke-width:1.75; }
.concept-card { margin:0; min-height:28rem; display:flex; flex-direction:column; justify-content:flex-end; border-radius:50% 50% var(--radius-card) var(--radius-card); }
.concept-card .engraving { position:absolute; inset:0; }
.concept-card figcaption,.map-placeholder span,.image-concept-label { position:relative; z-index:1; align-self:flex-start; margin:1rem; padding:.45rem .65rem; border-radius:var(--radius-pill); color:var(--cream); background:var(--accent-strong); border:1px solid color-mix(in srgb,var(--paper) 32%,transparent); font-size:.75rem; font-weight:850; letter-spacing:.06em; text-transform:uppercase; }
.section-heading { max-width:58rem; margin-bottom:clamp(2.5rem,5vw,4rem); }
.section-intro { max-width:68ch; font-size:1.0625rem; text-wrap:pretty; }
.signature { padding-block:clamp(6rem,10vw,10rem); background:color-mix(in srgb,var(--paper) 86%,var(--muted)); }
.signature-grid,.timeband-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr)); gap:clamp(.875rem,2vw,1.5rem); }
.signature-card,.timeband { min-height:0; padding:clamp(1.25rem,2.5vw,1.75rem); border:1px solid var(--line); border-radius:var(--radius-card); background:var(--paper); }
.signature-card h3,.timeband h3 { margin:.2rem 0 .8rem; font-size:clamp(1.45rem,2.4vw,2.35rem); }
.signature-card p,.timeband li { font-size:1rem; }
.timeband-grid { grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr)); }
.timeband ul { margin:1rem 0 0; padding-left:1.1rem; }
.timeband-grid.is-time-aware .timeband { border-color:color-mix(in srgb,var(--ink) 13%,transparent); }
.timeband-grid.is-time-aware .timeband.is-current { border-color:var(--accent); background:color-mix(in srgb,var(--paper) 91%,var(--accent)); box-shadow:inset 0 0 0 2px var(--accent); }
.signature-narrative { display:grid; grid-template-columns:1fr 1fr; gap:clamp(3rem,8vw,9rem); align-items:center; }
.signature-art { min-height:26rem; margin:0; }
.signature-art .concept-placeholder { position:absolute; inset:0; }
.signature-art figcaption { position:absolute; left:0; bottom:0; z-index:1; margin:1rem; padding:.45rem .65rem; border-radius:var(--radius-pill); color:var(--cream); background:var(--accent-strong); font-size:.75rem; font-weight:850; letter-spacing:.06em; text-transform:uppercase; }
.signature-copy { max-width:42rem; font-size:clamp(1.05rem,1.7vw,1.3rem); }
.menu { padding-block:clamp(5rem,8vw,8rem); background:var(--menu-surface); }
.menu-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,15.5rem),1fr)); gap:clamp(.875rem,2vw,1.5rem); }
.menu-card { min-width:0; min-height:15rem; padding:1.4rem; border:1px solid var(--line); border-radius:var(--radius-card); overflow:hidden; background:var(--menu-surface); color:inherit; text-align:left; display:flex; flex-direction:column; box-shadow:0 0 0 transparent; }
.menu-card.has-image { padding:0 1.4rem 1.4rem; }
.menu-image { position:relative; display:block; height:11rem; margin:0 -1.4rem 1.25rem; overflow:hidden; }
.menu-image .dish-photo { object-position:center; }
.menu-image .image-concept-label { position:absolute; left:0; bottom:0; margin:.65rem; font-size:.75rem; }
.menu-card:hover,.menu-card:focus-within { background:color-mix(in srgb,var(--menu-surface) 88%,var(--muted)); box-shadow:var(--shadow-raised); z-index:1; }
.menu-card .category { align-self:flex-start; padding:.3rem .65rem; border:1px solid var(--detail); border-radius:var(--radius-pill); color:var(--detail); font-size:.75rem; line-height:1.2; font-weight:850; text-transform:uppercase; letter-spacing:.1em; }
.menu-card h3 { margin:clamp(1.5rem,4vw,3rem) 0 .6rem; font-size:clamp(1.65rem,2.4vw,2.5rem); }
.menu-card .description { max-width:65ch; margin:.75rem 0 0; font-size:1rem; line-height:1.5; }
.menu-card .discover { align-self:flex-start; min-height:2.75rem; margin-top:auto; padding:1rem 0 .35rem; border:0; border-bottom:1px solid currentColor; background:transparent; color:var(--detail); cursor:pointer; font-size:.8125rem; font-weight:800; }
.menu-actions { margin-top:2rem; }
.visit { padding-block:clamp(6.5rem,11vw,11rem); display:grid; grid-template-columns:1fr 1fr; gap:clamp(3rem,8vw,9rem); }
.hours-list { margin:2rem 0; padding:0; list-style:none; border-top:1px solid var(--line); }
.hours-list li { display:grid; grid-template-columns:1fr 1.2fr; gap:1rem; padding:.9rem 0; border-bottom:1px solid var(--line); font-size:1rem; }
.hours-list span:last-child { text-align:right; font-weight:800; }
.hours-pending { min-height:15rem; margin:2rem 0; padding:2rem; display:flex; align-items:center; border:1px solid var(--accent); border-radius:var(--radius-card); background:color-mix(in srgb,var(--paper) 82%,var(--accent)); font:700 clamp(1.35rem,3vw,2.5rem)/1.1 var(--display); }
.note { max-width:65ch; font-size:.875rem; color:#6c5144; }
.map-placeholder { min-height:30rem; border-radius:16rem 16rem var(--radius-card) var(--radius-card); display:flex; align-items:flex-end; }
.map-placeholder .engraving { position:absolute; inset:0; }
.map-placeholder span { max-width:18rem; margin:1.4rem; }
.map-lines .secondary-grid { opacity:.22; stroke-dasharray:2 9; }
.map-lines .pin { fill:color-mix(in srgb,var(--paper) 94%,var(--accent)); stroke-width:2; }
.map-link { margin:1rem 0 1.5rem; }
.story { padding-block:clamp(6rem,10vw,10rem); background:var(--ink); color:#f8ecd7; display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(3rem,8vw,10rem); align-items:center; }
.story .eyebrow { color:var(--detail-on-dark); text-transform:none; letter-spacing:.035em; font-size:.9375rem; }
.story-copy { font-size:clamp(1.05rem,1.8vw,1.4rem); max-width:44rem; }
.story-art { min-height:24rem; margin:0; border-radius:var(--radius-card) var(--radius-card) 50% 50%; }
.story-art .engraving { position:absolute; inset:0; }
.story-art .image-concept-label { position:absolute; left:0; top:0; }
.site-footer { padding:clamp(4rem,8vw,8rem) clamp(1.25rem,7vw,7rem) 2rem; background:var(--accent); color:var(--cream); }
.site-footer button:focus-visible,.site-footer a:focus-visible,.story button:focus-visible,.story a:focus-visible { outline-color:var(--detail-on-dark); }
.site-footer .eyebrow { color:var(--cream); }
.footer-grid { display:grid; grid-template-columns:1.2fr .8fr; gap:4rem; }
.site-footer h2 { max-width:48rem; }
.footer-address { display:flex; flex-wrap:wrap; align-items:center; gap:.75rem; }
.button.footer-map-link,.button.footer-map-link:visited { min-height:2.75rem; padding:.5rem .8rem; border-color:var(--cream); background:transparent; color:var(--cream); font-size:.8125rem; }
.button.footer-map-link:hover { border-color:var(--cream); background:var(--cream); color:var(--accent); }
.demo-form { align-self:end; padding:1.4rem; border:1px solid #fff8e866; border-radius:var(--radius-card); }
.demo-form h3 { font-size:2rem; margin:0 0 .5rem; }
.demo-form p { font-size:1rem; }
.demo-form .button,.demo-form .button:visited { width:100%; border-color:var(--cream); background:var(--cream); color:var(--accent); }
.demo-form .button:hover { border-color:var(--accent-strong); background:var(--accent-strong); color:var(--cream); }
.footer-meta { display:flex; justify-content:space-between; flex-wrap:wrap; gap:1rem; margin-top:5rem; padding-top:1.5rem; border-top:1px solid #fff8e866; font-size:.8125rem; }
dialog { max-width:31rem; padding:0; border:0; border-radius:var(--radius-card); color:var(--ink); background:var(--paper); box-shadow:0 2rem 8rem #0008; }
dialog::backdrop { background:#1e0d0abf; }
.dialog-inner { padding:2rem; }
.dialog-inner h2 { font-size:2.5rem; }
.dialog-inner .button { margin-top:1rem; }
body[data-merchant="M-001"] { --radius-card:12px; --type-hero:clamp(3rem,6.2vw,5.35rem); --shadow-panel:0 1.15rem 2.8rem color-mix(in srgb,var(--ink) 14%,transparent); }
body[data-merchant="M-001"] [data-motion-headline] { max-width:17ch; }
body[data-merchant="M-001"] .hero-motion-segment { display:block; }
.hero-m001-scenery { position:absolute; inset:0; z-index:1; overflow:hidden; pointer-events:none; }
.hero-m001-scenery::before { content:""; position:absolute; left:22%; top:10%; width:56%; height:48%; border:1.5px solid color-mix(in srgb,var(--muted) 72%,transparent); border-bottom:0; border-radius:48% 52% 0 0; transform:rotate(-4deg); opacity:.72; }
.hero-m001-scenery::after { content:""; position:absolute; inset:5.5%; border:1px solid color-mix(in srgb,var(--muted) 62%,transparent); border-radius:44% 44% calc(var(--radius-card) * .7) calc(var(--radius-card) * .7); opacity:.52; }
.hero-m001-canvas { position:absolute; inset:0; display:block; width:100%; height:100%; opacity:0; }
[data-hero-mounted="true"][data-hero-mode="full"] .hero-m001-canvas { opacity:1; }
[data-hero-mounted="true"][data-hero-mode="full"] .hero-m001-scenery::before,[data-hero-mounted="true"][data-hero-mode="full"] .hero-m001-scenery::after { opacity:0; }
body[data-merchant="M-002"] { --radius-card:3px; --type-hero:clamp(2.9rem,5.8vw,5.1rem); --menu-surface:color-mix(in srgb,var(--paper) 88%,white); --shadow-panel:0 .8rem 1.8rem color-mix(in srgb,var(--ink) 11%,transparent); --hero-salmon:#e47b61; }
body[data-merchant="M-002"] .concept-card,body[data-merchant="M-002"] .map-placeholder,body[data-merchant="M-002"] .story-art { border-radius:var(--radius-card); }
body[data-merchant="M-002"] .signature { background:color-mix(in srgb,var(--paper) 96%,var(--ink)); }
body[data-merchant="M-002"] .signature-card { border-inline:0; border-radius:0; background:transparent; }
body[data-merchant="M-002"] [data-motion-headline] { max-width:18ch; }
.hero-motion-segment { display:inline-block; }
.hero-m002-scenery { position:absolute; inset:0; z-index:1; display:grid; grid-template-columns:31fr 38fr 31fr; gap:clamp(2px,.45vw,6px); overflow:hidden; pointer-events:none; }
.hero-m002-window { position:relative; overflow:hidden; }
.hero-m002-window::after { content:""; position:absolute; inset:0; border-inline:1px solid color-mix(in srgb,var(--paper) 22%,transparent); }
.hero-m002-layer { position:absolute; left:0; top:-4%; display:block; width:100%; height:108%; opacity:0; }
.hero-m002-cutline { position:absolute; inset:0; display:block; width:100%; height:100%; opacity:0; }
.hero-m002-scenery::after { content:""; position:absolute; left:7%; top:62%; width:89%; height:2px; background:var(--hero-salmon); transform:rotate(-15deg); transform-origin:left center; }
[data-hero-mounted="true"][data-hero-mode="full"] .hero-m002-layer,[data-hero-mounted="true"][data-hero-mode="full"] .hero-m002-cutline { opacity:1; }
[data-hero-mounted="true"][data-hero-mode="full"] .hero-m002-scenery::after { opacity:0; }
.hero-m003-scenery { position:absolute; z-index:2; inset-inline:clamp(1.25rem,7vw,7rem); bottom:clamp(1rem,3vh,2.25rem); height:clamp(5.5rem,13vh,8.5rem); overflow:hidden; pointer-events:none; }
.hero-m003-scenery::before { content:""; position:absolute; left:2.5%; right:2.5%; top:calc(58% - 5px); height:10px; border-block:1.5px solid var(--muted); }
.hero-m003-scenery::after { content:""; position:absolute; left:calc(50% - 10px); top:calc(58% - 19px); width:18px; height:36px; border:2px solid var(--accent); background:var(--paper); transform:rotate(45deg); }
.hero-m003-canvas { position:absolute; inset:0; display:block; width:100%; height:100%; opacity:0; }
[data-hero-mounted="true"] .hero-m003-canvas { opacity:1; }
[data-hero-mounted="true"] .hero-m003-scenery::before,[data-hero-mounted="true"] .hero-m003-scenery::after { opacity:0; }
.hero-m004-scenery { position:absolute; inset:0; z-index:1; overflow:hidden; pointer-events:none; }
.hero-m004-scenery::after { content:""; position:absolute; left:3%; top:15%; width:91%; height:58%; border:clamp(10px,2.5vw,19px) solid transparent; border-bottom-color:var(--hero-pasta); border-radius:0 0 52% 48%; transform:rotate(-8deg); opacity:.84; }
.hero-m004-canvas { position:absolute; inset:0; display:block; width:100%; height:100%; color:var(--hero-pasta); outline-color:var(--hero-pasta-edge); opacity:0; }
.hero-m004-canvas[data-static-drawn="true"],[data-hero-mounted="true"][data-hero-mode="full"] .hero-m004-canvas { opacity:1; }
.hero-m004-scenery[data-static-drawn="true"]::after,[data-hero-mounted="true"][data-hero-mode="full"] .hero-m004-scenery::after { opacity:0; }
body[data-merchant="M-003"] { --radius-card:5px; --type-hero:clamp(3rem,6.1vw,5.2rem); --type-section:clamp(2.2rem,4vw,4rem); --space-section:clamp(4.25rem,7vw,7rem); --shadow-panel:0 .8rem 1.6rem color-mix(in srgb,var(--ink) 16%,transparent); }
body[data-merchant="M-003"] .concept-card,body[data-merchant="M-003"] .map-placeholder,body[data-merchant="M-003"] .story-art { border-radius:var(--radius-card); }
body[data-merchant="M-003"] .menu-card,body[data-merchant="M-003"] .timeband { border-width:2px; }
body[data-merchant="M-003"] .hero { position:relative; padding-bottom:clamp(7.5rem,17vh,10rem); }
body[data-merchant="M-003"] [data-motion-headline] { max-width:19ch; overflow:hidden; }
body[data-merchant="M-003"] .hero-motion-segment { display:block; }
body[data-merchant="M-003"] .hero-copy,body[data-merchant="M-003"] .concept-card { position:relative; z-index:1; }
body[data-merchant="M-004"] { --radius-card:16px; --type-hero:clamp(2.75rem,5.4vw,4.8rem); --menu-surface:color-mix(in srgb,var(--paper) 80%,white); --hero-pasta:#f0ce82; --hero-pasta-edge:#7c281b; }
body[data-merchant="M-004"] [data-motion-headline] { max-width:18ch; }
body[data-merchant="M-004"] .hero-motion-segment { display:block; }
body[data-merchant="M-004"] .signature-photo { object-position:center 36%; }
body[data-merchant="M-004"] .story-photo { object-position:center 82%; }
:lang(zh-Hans) .eyebrow,:lang(zh-Hans) .menu-card .category,:lang(zh-Hans) [data-concept-label] { letter-spacing:.05em; text-transform:none; }
:lang(fr) h1,:lang(fr) h2,:lang(fr) h3,:lang(fr) p { hyphens:auto; }
@media (min-width:1200px) {
  body[data-merchant="M-001"] .menu-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
  body[data-merchant="M-002"] .menu-grid,body[data-merchant="M-004"] .menu-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  body[data-merchant="M-002"] .signature-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
  body[data-merchant="M-003"] .menu-grid { grid-template-columns:repeat(5,minmax(0,1fr)); }
}
@media (min-width:900px) and (max-width:1100px) {
  .site-header { padding-inline:1rem; }
  .site-nav { gap:.75rem; }
  .site-nav a { font-size:.8125rem; }
}
@media (max-width:899px) {
  .site-header { grid-template-columns:1fr auto; padding-block:.8rem; }
  .language-picker { grid-column:2; grid-row:1; }
  .site-nav { grid-column:1 / -1; grid-row:2; flex-wrap:wrap; gap:.65rem 1.25rem; padding-top:.8rem; }
  .js .site-header { grid-template-columns:1fr auto auto; padding-block:0; }
  .js .nav-toggle { display:block; grid-column:3; grid-row:1; }
  .js .language-picker { margin-right:.6rem; }
  .js .site-nav { position:absolute; top:100%; left:0; right:0; display:none; padding:1.25rem; background:var(--paper); border-bottom:1px solid var(--line); flex-direction:column; align-items:stretch; }
  .js .site-nav[data-open="true"] { display:flex; }
  .hero,.visit,.story,.signature-narrative,.footer-grid { grid-template-columns:1fr; }
  .hero { padding-top:4rem; }
  .concept-card { min-height:22rem; max-width:32rem; width:100%; }
}
@media (max-width:560px) {
  .unofficial-banner { position:relative; }
  .site-header { top:0; }
  .site-header { min-height:4.2rem; padding-inline:1rem; }
  .wordmark { font-size:1.15rem; }
  .language-picker a { padding:.35rem; }
  .section { padding:4.5rem 1.1rem; }
  .signature,.visit,.story { padding-block:5.5rem; }
  .actions { flex-direction:column; align-items:stretch; }
  .actions .button { width:100%; }
  .menu-grid { grid-template-columns:1fr; }
  .signature-grid,.timeband-grid { grid-template-columns:1fr; }
  .menu-card { min-height:13rem; }
  .map-placeholder { min-height:22rem; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation:none!important; transition:none!important; } .button:hover,.button:focus-visible,.site-nav a.button:hover { transform:none!important; } .button:hover,.site-nav a.button:hover { box-shadow:none!important; } .hero-m001-canvas,.hero-m002-layer,.hero-m002-cutline,.hero-m003-canvas { opacity:0!important; transform:none!important; } .hero-m004-canvas,.hero-m004-scenery { transform:none!important; } .hero-m001-scenery::before { opacity:.72!important; } .hero-m001-scenery::after { opacity:.52!important; } .hero-m002-scenery::after,.hero-m003-scenery::before,.hero-m003-scenery::after { opacity:1!important; } }
/* merchant-brand:m-001 */
:root{--ink:#26211a;--paper:#f6f1e6;--accent:#3d5a48;--accent-strong:#2a4034;--muted:#a98e5f;--display:'Iowan Old Style', 'Palatino Linotype', Palatino, 'Songti SC', 'Yu Mincho', serif;--body:'Avenir Next', Avenir, 'Hiragino Sans', 'Yu Gothic', sans-serif;}
