.meat-choice,.guest-fields,.star-field {border:0;padding:0;margin:0;min-width:0}
.meat-choice {margin:1.1rem 0}
.meat-choice legend,.star-field legend,.guest-field {font-weight:700}
.meat-choice>div,.star-field>div,.guest-arrows,.review-controls,.quote-author,.lightbox-controls {display:flex;align-items:center}
.meat-choice>div {gap:10px;margin-top:8px}
.meat-choice label {flex:1;position:relative;cursor:pointer}
.meat-choice input,.star-field input {position:absolute;opacity:0;width:1px;height:1px}
.meat-choice label>span {display:block;border:1px solid var(--line);border-radius:5px;padding:10px 12px;text-align:center;font-weight:650}
.meat-choice input:checked+span {background:var(--ink);color:white;border-color:var(--ink)}
.meat-choice input:focus-visible+span,.star-field input:focus-visible+svg {outline:3px solid var(--red);outline-offset:3px}
.guest-gallery {scroll-margin-top:105px;margin-block:clamp(56px,7vw,110px)}
.guest-heading {display:flex;justify-content:space-between;gap:20px;align-items:flex-end;margin-bottom:25px}
.guest-heading h2 {max-width:20ch}
.guest-heading .button {flex:none}
.guest-arrows {gap:8px}
.guest-arrows button,.lightbox-controls button,.lightbox-close {display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--line);border-radius:50%}
.guest-arrows button:hover {background:var(--ink);color:white;border-color:var(--ink)}
.guest-arrows svg {width:18px;height:18px}
.kitchen-rail {display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 48px)/4);gap:16px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#928678 transparent;padding:4px 3px 12px}
.kitchen-print {scroll-snap-align:start;text-align:left;padding:0;min-width:0;color:var(--ink)}
.kitchen-print img {display:block;aspect-ratio:4/5;width:100%;height:auto;border-radius:5px;object-fit:cover}
.kitchen-print>span {display:flex;align-items:center;justify-content:space-between;gap:10px;font-family:var(--display);font-weight:700;font-size:clamp(21px,1.7vw,28px);line-height:1.2;margin:10px 2px}
.kitchen-print>span svg {opacity:.65;flex:none}
.food-lightbox,.guest-form-dialog {margin:auto;border:0;border-radius:8px;max-height:90dvh;max-width:calc(100vw - 24px);color:var(--ink)}
.food-lightbox::backdrop,.guest-form-dialog::backdrop {background:rgb(18 15 14 / .8)}
.food-lightbox {background:var(--ink);color:white;padding:0;overflow:auto}
.lightbox-inner {position:relative}
.lightbox-inner>img {background:#201e1c;width:auto;height:min(73dvh,850px);max-width:calc(100vw - 26px);object-fit:contain;margin:auto}
.lightbox-close {position:absolute;top:12px;right:12px;background:var(--ink);color:white;border-color:transparent}
.lightbox-controls {justify-content:space-between;gap:15px;padding:10px 15px;font-weight:700}
.lightbox-controls button {color:white;border-color:#59534d}
.guest-wall {margin-block:clamp(56px,7vw,110px);scroll-margin-top:105px}
.review-stage {background:var(--white);border-bottom:1px solid var(--line)}
.review-state {padding:clamp(24px,4vw,52px);font-size:16px;line-height:1.5}
.guest-quote {display:flex;align-items:center;justify-content:space-between;gap:clamp(18px,3vw,60px);padding:clamp(24px,4vw,52px)}
.quote-copy {min-width:0;max-width:58rem}
.quote-stars {font-size:1.28rem;letter-spacing:.13em;color:var(--red-dark)}
.guest-quote blockquote {font-family:var(--body);font-size:clamp(17px,1.65vw,26px);letter-spacing:-.025em;line-height:1.6;margin:12px 0 20px;white-space:pre-line;overflow-wrap:anywhere}
.quote-author {gap:12px;flex-wrap:wrap;color:var(--ink);overflow-wrap:anywhere}
.quote-author time,.guest-help,.guest-field>span {color:#675f56;font-size:13px}
.quote-photo {flex:0 1 200px}
.quote-photo img {width:100%;max-height:240px;object-fit:contain}
.guest-wall>.text-button {margin-top:12px}
.review-controls {justify-content:flex-end;padding:0 22px 14px}
.guest-form-dialog {width:min(480px,calc(100vw - 24px));padding:32px;background:var(--paper);overflow:auto}
.guest-form-dialog .close-dialog {right:10px;top:10px}
.guest-form-dialog h2 {font-size:clamp(34px,4vw,46px);padding-right:25px;margin:8px 0 20px}
.guest-form-dialog>p {margin-bottom:20px}
.guest-fields {display:grid;gap:16px}
.star-field label {position:relative;padding:6px 5px 4px 0;color:var(--red-dark);cursor:pointer;line-height:1}
.star-field legend {margin-bottom:4px}
.star-field input:checked+svg {stroke:var(--red-dark)}
.guest-field {display:grid;gap:5px;font-size:14px}
.guest-field>span,.guest-help {font-weight:400}
.guest-field input,.guest-field textarea {padding:10px 12px;border:1px solid var(--line);border-radius:4px;min-width:0;background:white}
.guest-field input[type="file"] {font-size:13px}
.guest-photo-preview {display:flex;align-items:center;gap:12px}
.guest-photo-preview img {width:85px;height:65px;object-fit:contain}
.guest-photo-preview button {text-decoration:underline}
.guest-error {color:var(--red-dark);font-weight:650}
@media(max-width:950px){.kitchen-rail{grid-auto-columns:calc((100% - 32px)/3)}}
@media(max-width:660px){
  .kitchen-rail{grid-auto-columns:min(72%,310px)}
  .guest-heading{flex-wrap:wrap;align-items:center;gap:14px}
  .guest-gallery .guest-heading{flex-wrap:nowrap}
  .guest-gallery .guest-heading h2{font-size:clamp(30px,7vw,43px)}
  .guest-quote{flex-direction:column;align-items:stretch}.quote-photo{flex:auto;max-width:220px}
  .lightbox-controls{font-size:13px}.guest-form-dialog{padding:24px 20px}
}
@media(prefers-reduced-motion:no-preference){.kitchen-rail{scroll-behavior:smooth}}

.maps-rating {display:flex;align-items:baseline;flex-wrap:wrap;gap:5px 20px;padding:0 0 24px;border-bottom:1px solid var(--line)}
.maps-rating>a {display:inline-flex;align-items:center;gap:8px;line-height:1.2;font-weight:650}
.maps-rating strong {font-family:var(--display);font-size:30px}.maps-rating strong span{font:22px/1 var(--body);color:var(--red-dark)}
.maps-rating small{color:#655d54}.maps-rating>a:hover{text-decoration:underline}
.site-reviews-title{font-size:24px;margin:24px 0 14px}

.mobile-nav-toggle {display:none}
@media(max-width:900px) {
  .mobile-nav-toggle {display:block;margin-inline-start:auto;margin-inline-end:10px;border:1px solid var(--line);border-radius:4px;min-height:44px;padding:0 12px;font-size:14px;font-weight:650}
  .header .mobile-nav-toggle[aria-expanded="true"] + nav {display:grid;gap:0;position:absolute;z-index:20;top:100%;inset-inline:0;padding:8px 20px;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:0 8px 12px rgb(0 0 0 / .08)}
  .header .mobile-nav-toggle[aria-expanded="true"] + nav a {padding:12px 4px}
}

.google-review-note{margin:-6px 0 20px;color:#675f56;font-size:14px}
.google-review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.google-review-card{display:flex;flex-direction:column;align-items:flex-start;padding:clamp(22px,2.4vw,36px);background:var(--white);border:1px solid var(--line);border-radius:7px}
.google-review-card blockquote{font-size:clamp(18px,1.5vw,23px);line-height:1.5;letter-spacing:-.02em;margin:18px 0 24px;flex:1}
.google-review-card>strong{font-size:15px}
.google-review-card>a{display:inline-flex;align-items:center;gap:5px;color:var(--red-dark);font-size:14px;font-weight:650;margin-top:8px;padding-block:6px}
.google-review-card>a:hover{text-decoration:underline}
.google-review-card>a:focus-visible{outline:2px solid var(--red-dark);outline-offset:4px}
@media(max-width:660px){.google-review-grid{grid-template-columns:1fr;gap:14px}}

.site-rating{display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px;margin:0 0 22px;font-weight:650;line-height:1.4}
.site-rating strong{font-family:var(--display);font-size:36px;line-height:1}
.site-rating-stars{position:relative;display:inline-block;flex:none;white-space:nowrap;font-size:22px;letter-spacing:.1em;color:#c9c1b7}
.site-rating-stars>span{position:absolute;inset:0 auto 0 0;overflow:hidden;color:var(--red-dark)}

.mobile-nav-toggle {display:none}
@media(max-width:900px) {
  .mobile-nav-toggle {display:block;margin-inline-start:auto;margin-inline-end:10px;border:1px solid var(--line);border-radius:4px;min-height:44px;padding:0 12px;font-size:14px;font-weight:650}
  .header .mobile-nav-toggle[aria-expanded="true"] + nav {display:grid;gap:0;position:absolute;z-index:20;top:100%;inset-inline:0;padding:8px 20px;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:0 8px 12px rgb(0 0 0 / .08)}
  .header .mobile-nav-toggle[aria-expanded="true"] + nav a {padding:12px 4px}
}
