*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; font-family: var(--font-body); font-size: var(--text-base); line-height: 1.6; color: var(--color-text); background: var(--color-background); -webkit-font-smoothing: antialiased; }
img { max-width: 100%; display: block; }
a { color: inherit; }
h1, h2, h3 { font-family: var(--font-heading); line-height: 1.15; margin: 0 0 var(--stack); font-weight: var(--heading-weight, 700); text-transform: var(--heading-transform, none); letter-spacing: var(--heading-tracking, normal); }
h1 { font-size: calc(var(--text-base) * var(--type-ratio) * var(--type-ratio) * var(--type-ratio) * var(--type-ratio) * var(--type-ratio)); }
h2 { font-size: calc(var(--text-base) * var(--type-ratio) * var(--type-ratio) * var(--type-ratio) * var(--type-ratio)); }
h3 { font-size: calc(var(--text-base) * var(--type-ratio) * var(--type-ratio)); }
@media (max-width: 640px) {
    h1 { font-size: calc(var(--text-base) * var(--type-ratio) * var(--type-ratio) * var(--type-ratio) * var(--type-ratio)); }
    h2 { font-size: calc(var(--text-base) * var(--type-ratio) * var(--type-ratio) * var(--type-ratio)); }
}
p { margin: 0 0 var(--stack); }
.mw-container { width: 100%; max-width: var(--container-width); margin: 0 auto; padding: 0 var(--gutter); }
.mw-section { padding: var(--section-padding) 0; position: relative; }
.mw-bg-surface { background: var(--color-surface); }
.mw-bg-primary { background: var(--color-primary); color: var(--color-on-primary); }
.mw-bg-primary .mw-muted { color: inherit; opacity: .85; }
.mw-muted { color: var(--color-muted); }
.mw-eyebrow { text-transform: uppercase; letter-spacing: .12em; font-size: .8rem; font-weight: 600; color: var(--color-secondary); margin-bottom: calc(var(--stack) / 2); }
.mw-btns { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: calc(var(--stack) * 1.5); }
.mw-btn { display: inline-flex; align-items: center; justify-content: center; padding: var(--button-padding, .8rem 1.4rem); border-radius: var(--button-radius, var(--radius)); font-weight: 600; text-decoration: none; border: 2px solid transparent; transition: filter .15s, background .15s; }
.mw-btn:hover { filter: brightness(1.08); }
.mw-btn-primary { background: var(--color-primary); color: var(--color-on-primary); }
.mw-btn-secondary { background: var(--color-secondary); color: var(--color-on-secondary); }
.mw-btn-outline { border-color: currentColor; background: transparent; }
.mw-bg-primary .mw-btn-primary { background: var(--color-on-primary); color: var(--color-primary); }
.mw-placeholder { border-radius: calc(var(--radius) * 2); min-height: 18rem; background: linear-gradient(135deg, var(--color-primary), var(--color-secondary)); display: flex; align-items: flex-end; padding: 1rem; color: var(--color-on-primary); font-size: .8rem; letter-spacing: .08em; text-transform: uppercase; opacity: .9; }
.mw-image { border-radius: calc(var(--radius) * 2); width: 100%; height: 100%; min-height: 18rem; object-fit: cover; }
.mw-split { display: grid; gap: calc(var(--gutter) * 2); align-items: center; }
@media (min-width: 860px) { .mw-split { grid-template-columns: 1fr 1fr; } .mw-split.mw-image-left > :first-child { order: 2; } }
.mw-grid { display: grid; gap: var(--gutter); grid-template-columns: 1fr; }
@media (min-width: 640px) { .mw-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 960px) { .mw-grid.mw-cols-3 { grid-template-columns: repeat(3, 1fr); } .mw-grid.mw-cols-4 { grid-template-columns: repeat(4, 1fr); } }
.mw-card { background: var(--card-background, var(--color-background)); color: var(--card-color, var(--color-text)); border: var(--border-width, 1px) solid var(--card-border, var(--color-border)); border-radius: calc(var(--radius) * 1.5); padding: var(--card-padding, calc(var(--gutter) * 1.1)); box-shadow: var(--shadow-card, none); }
.mw-card h3 { font-size: calc(var(--text-base) * var(--type-ratio)); margin-bottom: .5rem; }
.mw-icon { width: 2.5rem; height: 2.5rem; border-radius: 999px; display: grid; place-items: center; background: var(--color-surface); color: var(--color-primary); margin-bottom: 1rem; }
.mw-bg-surface .mw-icon { background: var(--color-surface); }
.mw-center { text-align: center; }
.mw-center .mw-btns { justify-content: center; }
.mw-narrow { max-width: 42rem; }

/* Body copy: the lists and tables people write in prose (see Markdown). */
.mw-rich > :first-child { margin-top: 0; }
.mw-rich > :last-child { margin-bottom: 0; }
.mw-rich ul, .mw-rich ol { margin: 0 0 var(--stack); padding-left: 1.25rem; display: grid; gap: .4rem; }
.mw-rich li { padding-left: .15rem; }
.mw-rich code { font-size: .9em; background: var(--color-surface); padding: .1em .35em; border-radius: calc(var(--radius) / 3); }
.mw-rich table { width: 100%; border-collapse: collapse; margin: 0 0 var(--stack); font-size: .95em; }
.mw-rich th, .mw-rich td { text-align: left; padding: .6rem .75rem; border-bottom: var(--border-width, 1px) solid var(--color-border); }
.mw-rich th { color: var(--color-text); font-weight: 600; white-space: nowrap; }
.mw-rich tbody tr:last-child td { border-bottom: 0; }
.mw-rich td + td, .mw-rich th + th { text-align: right; }
.mw-center .mw-narrow { margin-left: auto; margin-right: auto; }
[data-node-id] { scroll-margin-top: 5rem; }

/* Header */
.mw-header { background: var(--color-background); border-bottom: var(--border-width, 1px) solid var(--color-border); z-index: 20; }
.mw-header.is-sticky { position: sticky; top: 0; }
.mw-header .mw-container { display: flex; align-items: center; gap: 1.5rem; min-height: 4.5rem; }
.mw-logo { font-family: var(--font-heading); font-weight: 700; font-size: 1.25rem; text-decoration: none; margin-right: auto; display: flex; align-items: center; gap: .5rem; }
.mw-logo img { height: 2.5rem; width: auto; }
.mw-nav { display: none; gap: 1.5rem; }
.mw-nav a { text-decoration: none; font-weight: 500; color: var(--color-muted); }
.mw-nav a[aria-current="page"], .mw-nav a:hover { color: var(--color-text); }
.mw-header .mw-btn { display: none; padding: .55rem 1rem; }
.mw-menu { position: relative; }
.mw-menu summary { list-style: none; cursor: pointer; padding: .5rem; border-radius: var(--radius); border: 1px solid var(--color-border); line-height: 0; }
.mw-menu summary::-webkit-details-marker { display: none; }
.mw-menu[open] .mw-menu-panel { display: flex; }
.mw-menu-panel { display: none; flex-direction: column; position: absolute; right: 0; top: calc(100% + .5rem); min-width: 12rem; background: var(--color-background); border: 1px solid var(--color-border); border-radius: var(--radius); padding: .5rem; box-shadow: 0 10px 30px rgba(0,0,0,.08); }
.mw-menu-panel a { padding: .6rem .75rem; text-decoration: none; border-radius: calc(var(--radius) / 2); }
.mw-menu-panel a:hover { background: var(--color-surface); }
.mw-menu-group { padding: .6rem .75rem .25rem; font-size: .8125rem; font-weight: 600; color: var(--color-muted); }
.mw-menu-child { padding-left: 1.5rem !important; }

/* Dropdowns: open on hover, and on keyboard focus anywhere inside. */
.mw-dropdown { position: relative; }
.mw-dropdown-label { display: inline-flex; align-items: center; gap: .25rem; cursor: pointer; text-decoration: none; font-weight: 500; color: var(--color-muted); }
.mw-dropdown-label span { font-size: .7em; }
.mw-dropdown:hover .mw-dropdown-label, .mw-dropdown:focus-within .mw-dropdown-label { color: var(--color-text); }
.mw-dropdown-panel { display: none; position: absolute; left: 0; top: 100%; padding-top: .5rem; min-width: 12rem; z-index: 20; }
.mw-dropdown:hover .mw-dropdown-panel, .mw-dropdown:focus-within .mw-dropdown-panel { display: block; }
.mw-dropdown-panel a { display: block; padding: .55rem .75rem; background: var(--color-background); border-left: 1px solid var(--color-border); border-right: 1px solid var(--color-border); }
.mw-dropdown-panel a:first-child { border-top: 1px solid var(--color-border); border-radius: var(--radius) var(--radius) 0 0; padding-top: .65rem; }
.mw-dropdown-panel a:last-child { border-bottom: 1px solid var(--color-border); border-radius: 0 0 var(--radius) var(--radius); padding-bottom: .65rem; box-shadow: 0 10px 30px rgba(0,0,0,.08); }
.mw-dropdown-panel a:hover { background: var(--color-surface); color: var(--color-text); }
@media (min-width: 860px) { .mw-nav { display: flex; } .mw-header .mw-btn { display: inline-flex; } .mw-menu { display: none; } }

/* Footer */
.mw-footer { padding: calc(var(--section-padding) * .75) 0 2rem; border-top: var(--border-width, 1px) solid var(--color-border); }
.mw-footer-grid { display: grid; gap: calc(var(--gutter) * 1.5); }
@media (min-width: 860px) { .mw-footer-grid { grid-template-columns: 2fr 1fr 1fr; } }
.mw-footer h4 { font-family: var(--font-heading); margin: 0 0 .75rem; font-size: 1rem; }
.mw-footer ul { list-style: none; padding: 0; margin: 0; display: grid; gap: .4rem; }
.mw-footer a { text-decoration: none; }
.mw-footer a:hover { text-decoration: underline; }
.mw-footer-bottom { border-top: var(--border-width, 1px) solid var(--color-border); margin-top: 2.5rem; padding-top: 1.5rem; font-size: .875rem; }

/* Contact */
.mw-hours { display: grid; gap: .5rem; margin: 0; }
.mw-hours div { display: flex; justify-content: space-between; gap: 1rem; border-bottom: 1px dashed var(--color-border); padding-bottom: .5rem; }
.mw-hours dt { font-weight: 600; } .mw-hours dd { margin: 0; color: var(--color-muted); }
.mw-detail { margin-bottom: 1rem; } .mw-detail strong { display: block; font-size: .8rem; text-transform: uppercase; letter-spacing: .08em; color: var(--color-muted); }

/* Variants and the section types added with them. Every rule here is
   reached only through a class a non-default template emits, so a site
   with no variant set draws exactly as it did before these existed. */
.mw-intro { margin-bottom: calc(var(--gutter) * 2); }
.mw-intro .mw-narrow > :last-child { margin-bottom: 0; }
.mw-stack-center { margin-left: auto; margin-right: auto; }

/* hero: centered, banner · page_header: with_image */
.mw-hero-media { margin-top: calc(var(--gutter) * 2.5); }
.mw-hero-media .mw-image, .mw-hero-media .mw-placeholder { max-height: 32rem; }
.mw-section:has(> .mw-banner) { padding: 0; }
.mw-banner { position: relative; overflow: hidden; background: linear-gradient(135deg, var(--color-primary), var(--color-secondary)); color: var(--color-on-primary); padding: calc(var(--section-padding) * 1.6) 0; }
.mw-banner-compact { padding: calc(var(--section-padding) * 1.1) 0; }
.mw-banner.has-image { color: #fff; }
.mw-banner-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.mw-banner::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(0,0,0,.28), rgba(0,0,0,.08)); }
.mw-banner.has-image::after { background: linear-gradient(90deg, rgba(0,0,0,.68), rgba(0,0,0,.35)); }
.mw-banner .mw-container { position: relative; z-index: 1; }
.mw-banner-body { max-width: 40rem; }
.mw-banner-body.mw-center, .mw-center .mw-banner-body { margin-left: auto; margin-right: auto; }
.mw-banner-body p { opacity: .9; }
.mw-banner .mw-eyebrow { color: inherit; opacity: .85; }
.mw-banner .mw-btn-primary { background: var(--color-on-primary); color: var(--color-primary); }
.mw-banner .mw-btn-outline, .mw-banner .mw-btn-secondary { border-color: currentColor; background: transparent; color: inherit; }

/* page_header: left */
.mw-page-header-left { border-bottom: var(--border-width, 1px) solid var(--color-border); padding-bottom: calc(var(--stack) * 1.5); }
.mw-page-header-left > :last-child { margin-bottom: 0; }

/* features: list, rows, inline */
.mw-checklist { list-style: none; margin: 0; padding: 0; display: grid; gap: calc(var(--gutter) * 1.1); }
.mw-checklist li { display: grid; grid-template-columns: auto 1fr; gap: 1rem; align-items: start; }
.mw-checklist .mw-icon, .mw-row-title .mw-icon { margin-bottom: 0; }
.mw-checklist h3, .mw-rows h3, .mw-inline-items h3 { font-size: calc(var(--text-base) * var(--type-ratio)); margin-bottom: .35rem; }
.mw-checklist p, .mw-rows p, .mw-inline-items p { margin: 0; }
.mw-rows { border-top: var(--border-width, 1px) solid var(--color-border); }
.mw-row { display: grid; gap: .75rem calc(var(--gutter) * 2); padding: calc(var(--gutter) * 1.1) 0; border-bottom: var(--border-width, 1px) solid var(--color-border); }
.mw-row-title { display: flex; align-items: center; gap: 1rem; }
.mw-row-title h3 { margin: 0; }
@media (min-width: 860px) { .mw-row { grid-template-columns: 1fr 2fr; align-items: center; } }
.mw-inline-items { gap: calc(var(--gutter) * 1.75) var(--gutter); }

/* text_image: overlap, stacked */
.mw-overlap { display: grid; }
.mw-overlap-card { background: var(--color-background); color: var(--color-text); border: var(--border-width, 1px) solid var(--color-border); border-radius: calc(var(--radius) * 1.5); padding: calc(var(--gutter) * 1.5); margin: -3rem var(--gutter) 0; position: relative; box-shadow: 0 18px 40px rgba(0,0,0,.08); }
@media (min-width: 860px) {
    .mw-overlap { grid-template-columns: repeat(12, 1fr); align-items: center; }
    .mw-overlap-media { grid-column: 1 / span 8; grid-row: 1; }
    .mw-overlap-card { grid-column: 6 / span 7; grid-row: 1; margin: 0; }
    .mw-overlap.mw-image-left .mw-overlap-media { grid-column: 5 / span 8; }
    .mw-overlap.mw-image-left .mw-overlap-card { grid-column: 1 / span 7; }
    .mw-overlap-media .mw-image, .mw-overlap-media .mw-placeholder { min-height: 26rem; }
}
.mw-stacked-media { margin-bottom: calc(var(--gutter) * 2); }
.mw-stacked-media .mw-image, .mw-stacked-media .mw-placeholder { max-height: 30rem; }
.mw-stacked-body { margin: 0 auto; }

/* text: boxed, columns */
.mw-boxed { margin: 0 auto; background: var(--color-surface); border-radius: calc(var(--radius) * 2); padding: calc(var(--gutter) * 2); }
.mw-bg-surface .mw-boxed { background: var(--color-background); }
.mw-boxed h2 { color: var(--color-text); }
@media (min-width: 860px) { .mw-text-columns { columns: 2; column-gap: calc(var(--gutter) * 2.5); } .mw-text-columns > * { break-inside: avoid; } }

/* contact_details: cards */
.mw-detail.mw-card strong { margin-bottom: .35rem; }
.mw-detail.mw-card .mw-hours { margin-top: .25rem; }

/* cta: bar, split */
.mw-cta-bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem 2rem; }
.mw-cta-bar h2 { margin: 0; font-size: calc(var(--text-base) * var(--type-ratio) * var(--type-ratio)); }
.mw-section:has(> .mw-container > .mw-cta-bar) { padding: calc(var(--section-padding) * .45) 0; }
.mw-cta-split { display: grid; gap: var(--gutter) calc(var(--gutter) * 2); align-items: center; }
.mw-cta-split p { margin: 0; }
.mw-cta-split .mw-btns { margin-top: 0; }
@media (min-width: 860px) { .mw-cta-split { grid-template-columns: 2fr 1fr; } .mw-cta-split .mw-btns { justify-content: flex-end; } }

/* pricing */
.mw-pricing { align-items: stretch; }
.mw-plan { display: flex; flex-direction: column; }
.mw-plan.is-highlighted { padding: calc(var(--gutter) * 1.1); border: 2px solid var(--color-primary); box-shadow: 0 18px 40px rgba(0,0,0,.08); }
.mw-plan .mw-btns { margin-top: auto; padding-top: var(--stack); }
.mw-price { font-family: var(--font-heading); font-weight: 700; font-size: calc(var(--text-base) * var(--type-ratio) * var(--type-ratio) * var(--type-ratio)); line-height: 1.1; margin: .25rem 0 var(--stack); white-space: nowrap; }
.mw-price span { font-family: var(--font-body); font-size: .45em; font-weight: 500; }
.mw-plan-features { list-style: none; padding: 0; margin: 0 0 var(--stack); display: grid; gap: .5rem; }
.mw-plan-features li { padding-left: 1.5rem; position: relative; }
.mw-plan-features li::before { content: "✓"; position: absolute; left: 0; color: var(--color-primary); font-weight: 700; }
.mw-price-list { border-top: var(--border-width, 1px) solid var(--color-border); }
.mw-price-row { display: flex; justify-content: space-between; align-items: baseline; gap: 1.5rem; padding: 1.1rem 0; border-bottom: var(--border-width, 1px) solid var(--color-border); }
.mw-price-row h3 { font-size: calc(var(--text-base) * var(--type-ratio)); margin: 0 0 .25rem; }
.mw-price-row p { margin: 0; }
.mw-price-row .mw-price { font-size: calc(var(--text-base) * var(--type-ratio) * var(--type-ratio)); margin: 0; }
.mw-price-row.is-highlighted h3::after { content: "★"; color: var(--color-primary); margin-left: .4rem; font-size: .8em; }
.mw-price-features { font-size: .9em; }

/* testimonials */
.mw-testimonial { margin: 0; display: flex; flex-direction: column; gap: 1.25rem; }
.mw-testimonial blockquote, .mw-big-quote blockquote { margin: 0; }
.mw-testimonial figcaption, .mw-big-quote figcaption { display: flex; align-items: center; gap: .75rem; margin-top: auto; }
.mw-testimonial figcaption > span:not(.mw-avatar), .mw-big-quote figcaption > span:not(.mw-avatar) { display: flex; flex-direction: column; line-height: 1.3; text-align: left; }
.mw-avatar { width: 2.75rem; height: 2.75rem; border-radius: 999px; object-fit: cover; flex: none; }
.mw-avatar-initial { display: grid; place-items: center; background: var(--color-primary); color: var(--color-on-primary); font-weight: 700; }
.mw-big-quote { margin: 0 auto; padding: calc(var(--gutter) * 1.5) 0; }
.mw-big-quote + .mw-big-quote { border-top: var(--border-width, 1px) solid var(--color-border); }
.mw-big-quote blockquote { font-family: var(--font-heading); font-size: calc(var(--text-base) * var(--type-ratio) * var(--type-ratio)); line-height: 1.35; margin-bottom: 1.5rem; }
.mw-big-quote figcaption { justify-content: center; }

/* faq */
.mw-faq { border-top: var(--border-width, 1px) solid var(--color-border); }
.mw-faq-item { border-bottom: var(--border-width, 1px) solid var(--color-border); }
.mw-faq-item summary { list-style: none; cursor: pointer; padding: 1.1rem 2rem 1.1rem 0; font-weight: 600; position: relative; }
.mw-faq-item summary::-webkit-details-marker { display: none; }
.mw-faq-item summary::after { content: "+"; position: absolute; right: .25rem; top: 50%; transform: translateY(-50%); font-size: 1.4em; font-weight: 400; color: var(--color-primary); }
.mw-faq-item[open] summary::after { content: "−"; }
.mw-faq-item > div { padding: 0 0 1.25rem; }
.mw-faq-list { margin: 0; display: grid; gap: calc(var(--gutter) * 1.2); }
.mw-faq-list dt { font-weight: 600; margin-bottom: .4rem; }
.mw-faq-list dd { margin: 0; }

/* gallery */
.mw-gallery figure, .mw-masonry figure { margin: 0; }
.mw-gallery .mw-image, .mw-gallery .mw-placeholder { aspect-ratio: 4 / 3; min-height: 0; height: auto; }
.mw-gallery figcaption, .mw-masonry figcaption { font-size: .875rem; margin-top: .5rem; }
.mw-masonry { columns: 2; column-gap: var(--gutter); }
.mw-masonry figure { break-inside: avoid; margin-bottom: var(--gutter); }
.mw-masonry .mw-image { min-height: 0; height: auto; }
.mw-masonry .mw-placeholder { min-height: 12rem; }
.mw-masonry figure:nth-child(3n+2) .mw-placeholder { min-height: 18rem; }
@media (min-width: 960px) { .mw-masonry.mw-cols-3 { columns: 3; } .mw-masonry.mw-cols-4 { columns: 4; } }

/* logos */
.mw-logo-row { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 1.5rem 3rem; }
.mw-logo-mark { display: flex; align-items: center; justify-content: center; text-decoration: none; color: var(--color-muted); font-family: var(--font-heading); font-weight: 700; font-size: 1.1rem; }
.mw-logo-mark img { max-height: 3rem; max-width: 9rem; width: auto; object-fit: contain; }
.mw-logo-row .mw-logo-mark img { filter: grayscale(1); opacity: .75; transition: filter .15s, opacity .15s; }
.mw-logo-row .mw-logo-mark:hover img { filter: none; opacity: 1; }
.mw-logo-grid .mw-logo-mark { border: var(--border-width, 1px) solid var(--color-border); border-radius: var(--radius); min-height: 6rem; padding: 1rem; background: var(--color-background); }
/* Phase 6: forms, bookings, menus, hours, social, service areas */
.mw-form { display: grid; gap: var(--stack); }
.mw-form .mw-btns { margin-top: 0; }
.mw-fields { display: grid; gap: 1rem var(--gutter); grid-template-columns: 1fr; }
@media (min-width: 640px) { .mw-fields { grid-template-columns: 1fr 1fr; } .mw-field { grid-column: 1 / -1; } .mw-field.is-half { grid-column: auto; } }
.mw-field { display: grid; gap: .35rem; text-align: left; }
.mw-field label, .mw-field legend { font-weight: 600; font-size: .95rem; }
.mw-field fieldset { border: 0; padding: 0; margin: 0; display: grid; gap: .4rem; }
.mw-field input:not([type=checkbox]):not([type=radio]), .mw-field select, .mw-field textarea { width: 100%; font: inherit; color: var(--color-text); background: var(--color-background); border: var(--border-width, 1px) solid var(--color-border); border-radius: var(--radius); padding: .7rem .85rem; }
.mw-field input:focus, .mw-field select:focus, .mw-field textarea:focus { outline: 2px solid var(--color-primary); outline-offset: 1px; }
.mw-bg-primary .mw-field input, .mw-bg-primary .mw-field select, .mw-bg-primary .mw-field textarea { color: var(--color-text); }
.mw-check { display: flex; align-items: center; gap: .5rem; font-weight: 400 !important; }
.mw-req { color: var(--color-primary); }
.mw-bg-primary .mw-req { color: inherit; }
.mw-field small { font-size: .85rem; }
.mw-field-error, .mw-form-status.is-error { color: #b42318; }
.mw-field-error:empty, .mw-form-status:empty { display: none; }
.mw-form-status { margin: 0; font-weight: 600; }
.mw-form-test { font-size: .8rem; margin: 0; }
.mw-form-note { font-size: .9rem; margin-top: var(--stack); }
.mw-form-card { max-width: 46rem; margin: 0 auto; }
.mw-form-split { align-items: start; }
.mw-hp { position: absolute !important; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.mw-form-done { display: none; border: var(--border-width, 1px) solid var(--color-border); border-left: 4px solid var(--color-primary); border-radius: var(--radius); padding: 1rem 1.25rem; background: var(--color-surface); color: var(--color-text); }
.mw-form-done:target, .mw-form-done.is-shown { display: block; }
.mw-form-done p { margin: 0; font-weight: 600; }

.mw-foodmenu { display: grid; gap: calc(var(--gutter) * 2); }
.mw-foodmenu-category > h3 { border-bottom: var(--border-width, 1px) solid var(--color-border); padding-bottom: .5rem; }
.mw-foodmenu-category > p { margin-top: -.25rem; }
.mw-dishes { display: grid; gap: 1.1rem; }
.mw-dish-head { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; }
.mw-dish h4 { margin: 0; font-family: var(--font-heading); font-size: 1.05rem; }
.mw-dish p { margin: .2rem 0 0; font-size: .95rem; }
.mw-dish-price { font-weight: 700; white-space: nowrap; color: var(--color-primary); }
.mw-bg-primary .mw-dish-price { color: inherit; }
.mw-dish.is-featured h4::after { content: "★"; color: var(--color-secondary); margin-left: .4rem; font-size: .85em; }
.mw-foodmenu-list .mw-dish-head { border-bottom: 1px dotted var(--color-border); padding-bottom: .15rem; }
@media (min-width: 860px) { .mw-foodmenu-columns .mw-dishes { grid-template-columns: 1fr 1fr; gap: 1.1rem calc(var(--gutter) * 2); } }
.mw-foodmenu-cards .mw-dish { background: var(--card-background, var(--color-background)); border: var(--border-width, 1px) solid var(--color-border); border-radius: calc(var(--radius) * 1.5); overflow: hidden; display: flex; flex-direction: column; }
.mw-foodmenu-cards .mw-dish-body { padding: 1rem; }
.mw-dish-image { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.mw-foodmenu-list .mw-dish-image, .mw-foodmenu-columns .mw-dish-image { width: 4.5rem; height: 4.5rem; aspect-ratio: auto; border-radius: var(--radius); float: left; margin-right: .9rem; }
.mw-diet { font-size: .7rem; font-weight: 700; text-decoration: none; border: 1px solid currentColor; border-radius: 999px; padding: 0 .4em; margin-left: .4rem; vertical-align: middle; color: var(--color-muted); font-family: var(--font-body); }
.mw-foodmenu-foot { margin-top: calc(var(--gutter) * 1.5); font-size: .875rem; }
.mw-foodmenu-foot p { display: flex; flex-wrap: wrap; gap: .5rem 1.25rem; }
.mw-foodmenu-foot .mw-diet { margin-left: 0; }

.mw-hours-card { max-width: 34rem; margin: 0 auto; }
.mw-hours-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .5rem 1rem; margin-bottom: var(--stack); }
.mw-hours-head h2 { margin: 0; }
.mw-hours-note { margin: .75rem 0 0; font-size: .9rem; }
.mw-hours-inline { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: .5rem 1rem; margin: 0; text-align: center; }
.mw-open-status { display: inline-flex; align-items: center; gap: .4rem; font-size: .85rem; font-weight: 700; padding: .25rem .7rem; border-radius: 999px; background: var(--color-surface); color: var(--color-text); }
.mw-open-status::before { content: ""; width: .5rem; height: .5rem; border-radius: 999px; background: #9ca3af; }
.mw-open-status.is-open::before { background: #16a34a; }
.mw-open-status.is-closed::before { background: #dc2626; }

.mw-social { list-style: none; padding: 0; margin: 0 0 var(--stack); display: flex; flex-wrap: wrap; justify-content: center; gap: .75rem; }
.mw-social a { display: grid; place-items: center; width: 2.75rem; height: 2.75rem; border-radius: 999px; border: var(--border-width, 1px) solid var(--color-border); color: var(--color-primary); background: var(--color-background); }
.mw-social a:hover { background: var(--color-surface); }
.mw-social-foot { margin-top: calc(var(--gutter) * 1.5); }
.mw-embeds { display: grid; gap: var(--gutter); grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr)); margin-top: var(--gutter); text-align: left; }
.mw-embed { margin: 0; }
.mw-embed figcaption { font-size: .875rem; margin-top: .5rem; }
.mw-embed-frame { position: relative; width: 100%; border-radius: var(--radius); overflow: hidden; background: var(--color-surface); }
.mw-embed-frame.is-wide { aspect-ratio: 16 / 9; }
.mw-embed-frame.is-tall { aspect-ratio: 9 / 16; max-width: 22rem; margin: 0 auto; }
.mw-embed-frame.is-post { height: 36rem; }
.mw-embed-frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.mw-embed-link { display: block; word-break: break-all; text-decoration: none; }

.mw-areas { list-style: none; padding: 0; margin: 0; }
.mw-areas-chips { display: flex; flex-wrap: wrap; justify-content: center; gap: .6rem; }
.mw-areas-chips li { padding: .45rem 1rem; border-radius: 999px; background: var(--color-surface); border: var(--border-width, 1px) solid var(--color-border); font-weight: 500; }
.mw-bg-surface .mw-areas-chips li { background: var(--color-background); }
.mw-areas-columns { columns: 2; column-gap: calc(var(--gutter) * 2); }
.mw-areas-columns li { padding: .4rem 0; border-bottom: 1px dashed var(--color-border); break-inside: avoid; }
@media (min-width: 860px) { .mw-areas-columns { columns: 3; } }
.mw-center-btns { justify-content: center; }
/* Style nudges set by hand in the editor (section "style"). Absent on every
   section that has none, so they change nothing else. */
.mw-section.mw-space-none { padding-top: 0; padding-bottom: 0; }
.mw-section.mw-space-compact { padding-top: calc(var(--section-padding) * .5); padding-bottom: calc(var(--section-padding) * .5); }
.mw-section.mw-space-roomy { padding-top: calc(var(--section-padding) * 1.4); padding-bottom: calc(var(--section-padding) * 1.4); }
.mw-section.mw-space-spacious { padding-top: calc(var(--section-padding) * 1.9); padding-bottom: calc(var(--section-padding) * 1.9); }
.mw-align-left, .mw-align-left .mw-center { text-align: left; }
.mw-align-left .mw-narrow { margin-left: 0; margin-right: auto; }
.mw-align-left .mw-btns { justify-content: flex-start; }
.mw-align-center, .mw-align-center .mw-center { text-align: center; }
.mw-align-center .mw-narrow { margin-left: auto; margin-right: auto; }
.mw-align-center .mw-btns { justify-content: center; }
.mw-align-right, .mw-align-right .mw-center { text-align: right; }
.mw-align-right .mw-narrow { margin-left: auto; margin-right: 0; }
.mw-align-right .mw-btns { justify-content: flex-end; }
