.page-hero-food-directory {min-height:480px}
.page-hero-food-directory h1 {font-size:clamp(42px,5vw,70px);line-height:1.04;max-width:850px}
.page-hero-food-directory .page-hero-copy>p:not(.eyebrow) {max-width:650px;font-size:19px;line-height:1.7}
.page-hero-food-directory .opening-actions {display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}
.food-directory-intro {padding-block:60px;background:#eeebdf;border-bottom:1px solid #e1d8c6}
.food-intro-row {display:grid;grid-template-columns:1.2fr 1fr;gap:70px;align-items:center}
.food-intro-row h2,.food-sector-section h2 {font:600 clamp(30px,3.5vw,43px)/1.15 var(--serif);letter-spacing:-.025em;margin:10px 0 22px}
.food-intro-row p:not(.eyebrow) {font-size:17px;line-height:1.8;max-width:600px;margin:0;color:#536152}
.food-directory-counts {display:grid;grid-template-columns:repeat(3,1fr);margin:0;text-align:center;gap:20px}
.food-directory-counts>div {display:flex;flex-direction:column-reverse;gap:10px;border-left:1px solid #d3c9b5}
.food-directory-counts dt {font-size:15px;color:#627061}
.food-directory-counts dd {font:500 48px/1 var(--serif);color:#1b4a3e;margin:0}
.food-list-section {padding-block:60px;scroll-margin-top:24px}
.food-filter-panel {background:#fffdf7;border:1px solid #e1d9cb;border-radius:10px;padding:26px;margin-bottom:32px}
.food-filter-heading {display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:22px;font-size:16px;color:#234c3f}
.food-filter-heading>span {font-size:14px;color:#677465}
.food-directory .food-controls {display:grid;grid-template-columns:minmax(240px,1.8fr) repeat(4,minmax(130px,1fr));gap:18px;align-items:end;padding:0;margin:0;border:0;background:transparent;box-shadow:none;width:100%}
.food-controls label {display:flex;flex-direction:column;gap:9px;font-size:14px;min-width:0}
.food-controls>label:not(.search-form) {min-width:0}
.food-controls .search-form {display:flex;flex-direction:row;gap:9px;align-items:center;min-height:49px;border:1px solid #ccd1c1;border-radius:5px;padding:0 12px;margin:0;background:#fffdf7;width:100%;max-width:100%;box-sizing:border-box}
.food-controls .search-form input {width:100%;min-width:0;padding:12px 0;border:0;background:transparent;font-size:15px;line-height:1.5;outline-offset:2px}
.food-controls select {width:100%;min-height:49px;border:1px solid #ccd1c1;background:#fffdf7;border-radius:5px;padding:10px 30px 10px 12px;font-size:15px;color:#184437}
.food-open-filter {display:flex;align-items:center;gap:9px;margin-top:22px;font-size:15px;min-height:44px;width:fit-content}
.food-open-filter input {width:18px;height:18px;accent-color:#12543e;flex-shrink:0}
.food-open-filter span {font-size:14px;color:#687465}
.food-results-heading {display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}
.food-directory .directory-results {padding:0;margin:0}
.food-results-heading p {font-size:16px;margin:0;color:#5d6d5e}
.food-results-heading .text-link {display:flex;align-items:center;gap:9px;font-size:15px}
.food-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.food-card {display:flex;flex-direction:column;min-width:0;background:#fffdf7;border:1px solid #e0d8c8;border-radius:9px;overflow:hidden;transition:box-shadow .2s,border-color .2s}
.food-card:hover {border-color:#a8bba2;box-shadow:0 10px 28px #1a402d0c}
.food-card-image {display:block;height:194px;overflow:hidden}
.food-card-image img {width:100%;height:100%;object-fit:cover;transition:transform .3s}
.food-card-image:hover img {transform:scale(1.025)}
.food-card-mark {display:flex;align-items:center;gap:12px;height:74px;padding:20px 24px;background:#ebeee2;color:#315c47;border-bottom:1px solid #dce2d1;font:500 18px var(--serif)}
.food-mark-line {height:1px;background:#c2cdb7;flex:1;margin-left:12px}
.food-card-body {display:flex;flex-direction:column;flex:1;padding:24px;min-width:0}
.food-card-top {display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;min-height:42px}
.food-card-top .eyebrow {font-size:11px;line-height:1.7;margin:0;color:#97753b;letter-spacing:.09em}
.food-card-top .save-button {flex:0 0 42px;width:42px;height:42px;min-width:42px;min-height:42px}
.food-card h3 {font:600 27px/1.18 var(--serif);letter-spacing:-.02em;margin:0 0 12px;color:#143f32;overflow-wrap:anywhere}
.food-card h3 a:hover {text-decoration:underline;text-underline-offset:5px}
.food-card-body>p {font-size:16px;line-height:1.75;color:#586456;margin:0 0 22px}
.food-card-body>.food-cuisine {font-size:13px;color:#6b735e;margin:0 0 18px}
.food-card-hours {display:flex;align-items:flex-start;gap:9px;font-size:14px;line-height:1.6;color:#677060;padding-block:18px;margin-top:auto;border-top:1px solid #e4ddcf}
.food-card-hours svg {flex-shrink:0;margin-top:2px}
[data-food-status].is-open {color:#196742}
[data-food-status].is-unknown {color:#6f7567}
.food-card-actions {display:flex;justify-content:space-between;gap:16px;align-items:center;border-top:1px solid #e4ddcf;padding-top:8px;font-size:15px}
.food-card-actions>a {display:flex;min-height:44px;align-items:center}
.food-card-actions>a:last-child:not(:first-child) {color:#8b6b30;text-decoration:underline;text-underline-offset:4px}
.food-hours-caption {font-size:13px;line-height:1.7;margin:28px 0 0;color:#747969}
.food-sector-section {padding-block:60px;background:#e9eddf}
.food-sector-grid {display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:32px}
.food-sector-grid>a {display:flex;flex-direction:column;padding:32px;border:1px solid #d4dcc8;border-radius:8px;background:#f6f5eb}
.food-sector-grid span {font-size:12px;letter-spacing:.1em;color:#98773f}
.food-sector-grid h3 {font:600 28px/1.2 var(--serif);margin:18px 0}
.food-sector-grid p {font-size:16px;line-height:1.8;color:#586756;margin:0 0 24px}
.food-sector-grid b {font-weight:400;font-size:15px;margin-top:auto}
.food-sector-grid a:hover b {text-decoration:underline;text-underline-offset:4px}
.food-directory-end {padding-block:40px}
.food-gallery {padding-block:60px}
.food-gallery-heading {display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}
.food-gallery-heading h2 {font:600 30px/1.2 var(--serif);margin:0}
.food-gallery-heading a {font-size:13px;text-decoration:underline;text-underline-offset:4px}
.food-gallery-grid {display:grid;grid-template-columns:repeat(var(--food-photo-columns,4),1fr);gap:12px}
.food-gallery-grid button {border:0;background:#dae2d3;padding:0;position:relative;border-radius:7px;overflow:hidden;height:190px;cursor:pointer}
.food-gallery-grid img {width:100%;height:100%;object-fit:cover}
.food-gallery-grid button>span {position:absolute;right:10px;bottom:10px;background:#fff9ed;color:#144234;padding:9px 13px;border-radius:4px;font-size:14px}
.food-tip {display:flex;align-items:flex-start;gap:18px;background:#edf0e3;padding:24px;border-radius:7px;margin-top:28px}
.food-tip svg {flex-shrink:0;color:#9a7c40;margin-top:4px}
.food-tip p {font-size:16px;margin:0}
.food-hours-heading {display:flex;align-items:center;justify-content:space-between;gap:22px;margin-bottom:20px}
.food-hours-heading h2 {margin-bottom:0}
.food-detail-status {display:inline-flex;align-items:center;gap:9px;font-size:14px;line-height:1.6;color:#667061}
.food-detail-status:before {content:'';width:7px;height:7px;border-radius:50%;background:currentColor;flex-shrink:0}
.food-hours-table {width:100%;border-collapse:collapse;table-layout:fixed;margin-top:30px}
.food-hours-table caption {text-align:left;font-size:14px;color:#687264;padding:0 0 18px;caption-side:top}
.food-hours-table th,.food-hours-table td {padding:16px 14px;border-bottom:1px solid #e2ddcf;font-size:16px;line-height:1.7;text-align:left;vertical-align:top;background:transparent;color:#294a3a}
.food-hours-table th {width:36%;font-weight:400}
.food-hours-table td span {display:block;white-space:nowrap}
.food-hours-table .food-closed {color:#858272}
.food-hours-table .is-today {background:#edf1e3}
.food-hours-table .is-today th {font-weight:600;border-left:3px solid #a98a4e;padding-left:11px}
.food-hours-note {font-size:13px!important;line-height:1.7!important;color:#7b7d6d!important;margin:22px 0 0}
.food-hours-contact {display:flex;gap:20px;align-items:flex-start;padding:28px;background:#edf0e3;border-radius:7px;margin-top:28px}
.food-hours-contact>svg {flex-shrink:0;margin-top:4px;color:#497357}
.food-hours-contact h3 {font-size:23px}
.food-hours-contact p {font-size:16px;margin:0 0 18px}
.food-directions {display:inline-flex;min-height:44px;align-items:center;text-decoration:underline;text-underline-offset:4px;margin-top:18px;font-size:15px}
.food-contact-actions {display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin-top:28px}
.food-contact-actions .button {min-height:48px;font-size:16px}
.food-contact-actions .stay-official-link {text-align:left;padding:10px 0;min-height:44px;display:flex;align-items:center}
.food-contact-card>.food-detail-status {display:flex;margin-bottom:18px}
.food-contact-card>.button {margin-top:10px;white-space:normal;text-align:center}
.food-contact-card>p:not(.eyebrow) {margin-bottom:18px}
.food-aside-hours,.food-aside-map {display:flex;gap:10px;align-items:center;font-size:15px;min-height:44px;padding:8px 0}
.food-contact-card>.save-full {margin-top:20px}
@media(max-width:1100px){.food-directory .food-controls{grid-template-columns:repeat(4,1fr)}.food-controls .search-form{grid-column:1/-1}.food-grid{gap:22px}.food-card-body{padding:22px}.food-intro-row{gap:40px}.food-gallery-grid{grid-template-columns:repeat(3,1fr)}.food-gallery-grid button:last-child{display:none}}
@media(max-width:900px){.food-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.food-intro-row{grid-template-columns:1fr;gap:36px}.food-directory-counts{max-width:560px}.food-directory-counts>div:first-child{border-left:0}.food-sector-grid{gap:18px}.food-sector-grid>a{padding:24px}.food-sector-grid h3{font-size:25px}.food-contact-card{display:none}}
@media(max-width:650px){.page-hero-food-directory{min-height:450px}.page-hero-food-directory h1{font-size:42px}.page-hero-food-directory .page-hero-copy>p:not(.eyebrow){font-size:17px}.food-directory-intro,.food-list-section,.food-sector-section,.food-gallery{padding-block:60px}.food-directory .food-controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 14px}.food-filter-panel{padding:22px 18px}.food-filter-heading{flex-direction:column;align-items:flex-start;gap:9px;font-size:15px}.food-open-filter{flex-wrap:wrap;line-height:1.6;gap:8px}.food-open-filter span{flex-basis:100%;padding-left:26px}.food-grid{grid-template-columns:1fr;gap:24px}.food-card-image{height:210px}.food-card-body{padding:24px}.food-card h3{font-size:28px}.food-card-body>p{font-size:16px}.food-card-top{margin-bottom:12px}.food-directory-counts{gap:12px}.food-directory-counts dd{font-size:41px}.food-directory-counts dt{font-size:14px}.food-sector-grid{grid-template-columns:1fr;gap:20px}.food-sector-grid>a{padding:30px 26px}.food-sector-grid h3{font-size:28px}.food-hours-heading{flex-direction:column;align-items:flex-start;gap:18px}.food-hours-table th,.food-hours-table td{font-size:15px;padding:16px 9px}.food-hours-table th{width:34%}.food-hours-table .is-today th{padding-left:6px}.food-hours-contact{padding:24px 18px;gap:14px}.food-hours-contact h3{font-size:22px}.food-tip{padding:22px 18px;gap:14px}.food-gallery-grid{grid-template-columns:1fr 1fr;gap:9px}.food-gallery-grid button{height:150px}.food-gallery-grid button:last-child{display:block}.food-gallery-heading h2{font-size:27px}.food-gallery-heading{gap:14px;align-items:baseline}.food-gallery-heading a{font-size:12px}.food-contact-actions{align-items:stretch}.food-contact-actions .button{justify-content:center}.food-detail .stay-breadcrumb span:last-child{display:none}.food-results-heading{gap:10px}.food-results-heading .text-link{font-size:14px}}
@media(prefers-reduced-motion:reduce){.food-card,.food-card-image img{transition:none}}
@media print{.food-filter-panel,.food-card-actions,.food-card-top .save-button,.food-gallery{display:none}.food-grid{grid-template-columns:repeat(2,1fr)}.food-hours-table{break-inside:avoid}}
