:root{color-scheme:light dark;--color-bg:#fafaf7;--color-surface:#fff;--color-text:#1a1a17;--color-text-muted:#5b5b52;--color-border:#e4e2d8;--color-accent:#418041;--color-accent-contrast:#fff;--color-focus:#1a56db;--radius:10px;--shadow-card:0 1px 2px #0000000f, 0 1px 8px #0000000a;--max-width:72rem}@media (prefers-color-scheme:dark){:root{--color-bg:#171714;--color-surface:#211f1c;--color-text:#f2f1ec;--color-text-muted:#b3b0a4;--color-border:#34322c;--color-accent:#5fbf5f;--color-accent-contrast:#12210f;--shadow-card:0 1px 2px #0006, 0 1px 8px #0000004d}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif}body{background:var(--color-bg);color:var(--color-text);margin:0;line-height:1.5}img{max-width:100%;height:auto;display:block}a{color:inherit}a:focus-visible,button:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.skip-link{background:var(--color-accent);color:var(--color-accent-contrast);border-radius:var(--radius);z-index:100;padding:.6rem 1rem;font-weight:600;text-decoration:none;transition:top .15s;position:absolute;top:-3rem;left:1rem}.skip-link:focus{top:1rem}.container{max-width:var(--max-width);margin-inline:auto;padding-inline:1.25rem}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.site-header{border-bottom:1px solid var(--color-border);background:var(--color-surface)}.site-header__inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1.5rem;padding-block:.9rem;display:flex}.site-header__brand-group{flex-wrap:wrap;align-items:center;gap:.9rem;display:flex}.site-header__brand{line-height:0;display:block}.site-header__brand img{width:auto;height:2.25rem;display:block}.site-header__tagline{color:var(--color-text);letter-spacing:-.01em;margin:0;font-size:.95rem;font-weight:700}.site-header nav a{color:var(--color-accent);font-weight:600;text-decoration:none}.site-header nav a:hover{text-decoration:underline}.search-box{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);align-items:center;gap:.5rem;max-width:26rem;margin-inline:auto;padding:.5rem .75rem;display:flex}.search-box input{color:var(--color-text);background:0 0;border:none;flex:1;min-width:0;font-size:1rem}.search-box input:focus{outline:none}.search-box svg{color:var(--color-text-muted);flex-shrink:0}.restaurant-grid{grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:1.25rem;display:grid}.restaurant-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-card);color:var(--color-text);text-decoration:none;transition:transform .15s,box-shadow .15s;display:block;overflow:hidden}.restaurant-card:hover{transform:translateY(-2px);box-shadow:0 4px 14px #0000001a}.restaurant-card__media{aspect-ratio:4/3;background:var(--color-bg);overflow:hidden}.restaurant-card__media img{object-fit:cover;width:100%;height:100%}.restaurant-card__media-placeholder{width:100%;height:100%;color:var(--color-text-muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;padding:1rem;display:flex}.restaurant-card__media-placeholder span{font-size:.8rem;font-weight:600}.restaurant-card__body{padding:1rem}.restaurant-card__name{margin:0 0 .25rem;font-size:1.05rem;font-weight:700}.restaurant-card__meta{color:var(--color-text-muted);margin:0;font-size:.9rem}.restaurant-card__cuisine{text-transform:uppercase;letter-spacing:.04em;color:var(--color-accent);margin-top:.5rem;font-size:.75rem;font-weight:600;display:inline-block}.empty-state{text-align:center;color:var(--color-text-muted);padding:3rem 1rem}.breadcrumbs{color:var(--color-text-muted);margin-block:1rem;font-size:.9rem}.breadcrumbs a{text-decoration:none}.breadcrumbs a:hover{text-decoration:underline}.breadcrumbs__sep{margin-inline:.4rem}.location-index{grid-template-columns:repeat(auto-fill,minmax(12rem,1fr));gap:1.5rem;display:grid}.location-index__state h3{margin:0 0 .5rem;font-size:1rem}.location-index__state ul{margin:0;padding:0;list-style:none}.location-index__state li{margin-bottom:.3rem}.location-index__state a{color:var(--color-text-muted);text-decoration:none}.location-index__state a:hover{color:var(--color-accent);text-decoration:underline}.restaurant-header{padding-block:1.5rem 2rem}.restaurant-header h1{margin:0 0 .5rem;font-size:2rem}.restaurant-header__facts{color:var(--color-text-muted);flex-wrap:wrap;gap:.5rem 1.5rem;margin:.75rem 0 0;padding:0;list-style:none;display:flex}.restaurant-header__facts a{color:var(--color-accent);font-weight:600;text-decoration:none}.restaurant-header__facts a:hover{text-decoration:underline}.map-trigger{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);color:var(--color-accent);font:inherit;cursor:pointer;align-items:center;gap:.4rem;margin-top:.9rem;padding:.45rem .9rem;font-size:.9rem;font-weight:600;display:inline-flex}.map-trigger:hover{background:var(--color-bg);border-color:var(--color-accent)}.restaurant-top{grid-template-columns:1fr;align-items:start;gap:1.5rem 2.5rem;margin-top:1rem;display:grid}@media (width>=48rem){.restaurant-top{grid-template-columns:minmax(16rem,22rem) 1fr}}.restaurant-top__media-heading{margin:0 0 .5rem;font-size:1.05rem}.restaurant-top__media .menu-gallery{padding-block:0 .5rem}.restaurant-top__media .restaurant-photo{margin-top:0}.menu-gallery{grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));gap:1.5rem;margin:0;padding:1rem 0 3rem;list-style:none;display:grid}.menu-gallery figure{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-card);margin:0;overflow:hidden}.menu-gallery figcaption{color:var(--color-text-muted);border-top:1px solid var(--color-border);padding:.6rem .9rem;font-size:.9rem;font-weight:600}.menu-gallery__trigger{cursor:zoom-in;width:100%;font:inherit;color:inherit;background:0 0;border:none;padding:0;display:block;position:relative}.menu-gallery__trigger img{aspect-ratio:4/3;object-fit:cover;width:100%;height:auto}.menu-gallery__zoom{color:#fff;opacity:0;background:#0000008c;border-radius:999px;justify-content:center;align-items:center;width:2rem;height:2rem;transition:opacity .15s;display:flex;position:absolute;top:.5rem;right:.5rem}.menu-gallery__trigger:hover .menu-gallery__zoom,.menu-gallery__trigger:focus-visible .menu-gallery__zoom{opacity:1}.lightbox{z-index:200;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.lightbox[hidden]{display:none}.lightbox__backdrop{background:#0a0a08eb;position:absolute;inset:0}.lightbox__dialog{z-index:1;flex-direction:column;align-items:center;max-width:min(92vw,60rem);max-height:92vh;padding:0 3rem;display:flex;position:relative}.lightbox__image{background:#1a1a17;border-radius:4px;width:auto;max-width:100%;height:auto;max-height:78vh;box-shadow:0 10px 40px #00000080}.lightbox__caption{color:#f2f1ec;text-align:center;align-items:center;gap:.75rem;margin:1rem 0 0;font-size:.95rem;display:flex}.lightbox__counter{color:#f2f1ec99;font-variant-numeric:tabular-nums}.lightbox__close{z-index:2;color:#fff;cursor:pointer;background:#ffffff1a;border:none;border-radius:999px;justify-content:center;align-items:center;width:2.75rem;height:2.75rem;display:flex;position:absolute;top:-.25rem;right:.5rem}.lightbox__close:hover{background:#fff3}.lightbox__dialog--map{width:min(94vw,64rem);max-width:min(94vw,64rem);padding:0}.map-lightbox__iframe{background:var(--color-surface);border:0;border-radius:4px;width:100%;height:min(75vh,34rem)}.map-lightbox__caption{color:#f2f1ec;text-align:center;margin:.75rem 0 0;font-size:.9rem}.map-lightbox__caption a{color:#fff;text-decoration:underline}.lightbox__nav{z-index:2;color:#fff;cursor:pointer;background:#ffffff1a;border:none;border-radius:999px;justify-content:center;align-items:center;width:3rem;height:3rem;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.lightbox__nav:hover{background:#fff3}.lightbox__nav--prev{left:0}.lightbox__nav--next{right:0}@media (width<=640px){.lightbox__dialog{padding:0 2.75rem}.lightbox__nav{width:2.25rem;height:2.25rem}}.restaurant-photo{border-radius:var(--radius);max-width:32rem;box-shadow:var(--shadow-card);margin-top:1.25rem;overflow:hidden}.restaurant-photo img{aspect-ratio:3/2;object-fit:cover;width:100%;height:auto}.text-menu{padding:1rem 0 3rem}.text-menu__section{margin-bottom:2rem}.text-menu__section:last-of-type{margin-bottom:1.5rem}.text-menu__section-name{color:var(--color-accent);border-bottom:1px solid var(--color-border);margin:0 0 .9rem;padding-bottom:.4rem;font-size:1.15rem;font-weight:700}.text-menu__items{gap:1.1rem;margin:0;padding:0;list-style:none;display:grid}.text-menu__item-line{align-items:baseline;gap:.5rem;display:flex}.text-menu__item-name{font-weight:600}.text-menu__item-fill{border-bottom:1px dotted var(--color-border);flex:1;min-width:1rem;transform:translateY(-.3rem)}.text-menu__item-price{color:var(--color-text-muted);white-space:nowrap;font-variant-numeric:tabular-nums;font-weight:600}.text-menu__item-desc{color:var(--color-text-muted);margin:.3rem 0 0;font-size:.92rem;line-height:1.45}.text-menu__disclaimer{color:var(--color-text-muted);margin:0;font-size:.85rem;font-style:italic}.ad-unit{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);flex-direction:column;gap:.4rem;min-height:6.5rem;margin:2rem 0;padding:.75rem;display:flex}.ad-unit__label{text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);font-size:.68rem;font-weight:600}.next-restaurant{padding-block:1.5rem 3rem}.next-restaurant a{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-card);color:var(--color-text);align-items:center;gap:.5rem;padding:1rem 1.25rem;text-decoration:none;transition:transform .15s,box-shadow .15s;display:flex}.next-restaurant a:hover{transform:translateY(-2px);box-shadow:0 4px 14px #0000001a}.next-restaurant__label{text-transform:uppercase;letter-spacing:.04em;color:var(--color-accent);flex-shrink:0;font-size:.75rem;font-weight:700}.next-restaurant__name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:600;overflow:hidden}.next-restaurant svg{color:var(--color-text-muted);flex-shrink:0}.site-footer{border-top:1px solid var(--color-border);color:var(--color-text-muted);margin-top:3rem;padding-block:2rem;font-size:.9rem}.site-footer a{color:inherit}.not-found{text-align:center;padding-block:4rem}
