:root{
  --vf-orange:#DB5637;--vf-orange-dark:#B9432A;--vf-ink:#18352E;--vf-ink-2:#294C43;
  --vf-cream:#F4EFDD;--vf-paper:#FFFDF8;--vf-sand:#E9DFC8;--vf-white:#fff;--vf-muted:#6C786F;
  --vf-line:rgba(24,53,46,.14);--vf-shadow:0 18px 50px rgba(32,49,43,.10);
  --vf-radius:22px;--vf-radius-sm:14px;--vf-shell:min(1240px,calc(100vw - 40px));--vf-header:84px;
  --vf-font:"Frank Ruhl Libre",Georgia,"Times New Roman",serif;
  --vf-display:"Frank Ruhl Libre",Georgia,"Times New Roman",serif;
  --vf-ui:"Poppins",-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--vf-paper);color:var(--vf-ink);font-family:var(--vf-font);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}body.vf-modal-open{overflow:hidden}img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:3px}button,input,textarea{font:inherit;color:inherit}.vf-shell{width:var(--vf-shell);margin-inline:auto}.vf-narrow{max-width:900px}.vf-main{overflow:hidden}.vf-skip-link{position:fixed;left:12px;top:-100px;z-index:9999;background:var(--vf-ink);color:#fff;padding:10px 14px;border-radius:8px}.vf-skip-link:focus{top:12px}.vf-eyebrow{margin:0 0 12px;font-size:.76rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--vf-orange)}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.05;letter-spacing:-.03em}h1,h2{font-family:var(--vf-display);font-weight:500}h1{font-size:clamp(3rem,7vw,7rem);margin-bottom:26px}h2{font-size:clamp(2.2rem,4.4vw,4.8rem);margin-bottom:24px}h3{font-size:1.35rem;margin-bottom:10px}.vf-lede{font-size:clamp(1.1rem,1.7vw,1.35rem);max-width:700px;color:var(--vf-ink-2)}em{font-weight:400;color:var(--vf-orange)}
.vf-site-header{position:sticky;top:0;z-index:100;background:rgba(255,253,248,.93);backdrop-filter:blur(14px);border-bottom:1px solid var(--vf-line)}.admin-bar .vf-site-header{top:32px}.vf-header-inner{height:var(--vf-header);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:28px}.vf-brand{text-decoration:none;display:inline-flex;align-items:center}.vf-brand-logo{max-height:44px;width:auto}.vf-brand-wordmark{display:flex;flex-direction:column;line-height:.82;text-transform:uppercase;letter-spacing:-.04em;font-size:1.25rem}.vf-brand-wordmark b{font-weight:900}.vf-brand-wordmark span{font-size:.83rem;letter-spacing:.16em;margin-top:8px}.vf-primary-nav{justify-self:center}.vf-nav-list{list-style:none;display:flex;gap:28px;align-items:center;margin:0;padding:0}.vf-nav-list a{text-decoration:none;font-size:.93rem;font-weight:700}.vf-nav-list a:hover,.vf-nav-list a:focus{color:var(--vf-orange)}.vf-menu-toggle{display:none;background:none;border:0}.vf-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 22px;border-radius:999px;background:var(--vf-orange);border:1px solid var(--vf-orange);color:#fff;text-decoration:none;font-weight:800;cursor:pointer;transition:.2s ease}.vf-button:hover,.vf-button:focus{background:var(--vf-orange-dark);border-color:var(--vf-orange-dark);transform:translateY(-1px)}.vf-button-ghost{background:transparent;color:var(--vf-ink);border-color:var(--vf-ink)}.vf-button-ghost:hover,.vf-button-ghost:focus{background:var(--vf-ink);border-color:var(--vf-ink);color:#fff}.vf-button-light{background:#fff;color:var(--vf-ink);border-color:#fff}.vf-button-small{min-height:40px;padding:8px 14px;font-size:.9rem}.vf-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}.vf-text-button{appearance:none;background:none;border:0;padding:0;color:var(--vf-ink);font-weight:800;text-decoration:none;cursor:pointer;text-align:left}.vf-text-button:hover,.vf-text-button:focus{color:var(--vf-orange)}
.vf-hero{padding:clamp(70px,9vw,140px) 0 90px;background:radial-gradient(circle at 78% 14%,rgba(219,86,55,.08),transparent 35%),var(--vf-paper)}.vf-hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.75fr);gap:clamp(50px,8vw,110px);align-items:center}.vf-hero-copy h1 em{display:inline-block}.vf-proof-row{display:flex;gap:32px;flex-wrap:wrap;margin-top:56px;padding-top:24px;border-top:1px solid var(--vf-line);font-size:.9rem;color:var(--vf-muted)}.vf-proof-row strong{display:block;color:var(--vf-ink);font-size:1.5rem}.vf-hero-media{position:relative;padding-right:10%}.vf-hero-secondary{position:absolute!important;width:44%;right:-2%;bottom:-9%;box-shadow:var(--vf-shadow)}
.vf-media-placeholder{position:relative;margin:0;border-radius:var(--vf-radius);overflow:hidden;background:linear-gradient(145deg,#eed6c6,#f4efdd 45%,#d9e4da);border:1px solid rgba(24,53,46,.1);box-shadow:0 10px 30px rgba(24,53,46,.06)}.vf-media-placeholder:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(120deg,transparent 0 38px,rgba(255,255,255,.24) 38px 39px)}.vf-placeholder-inner{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:22px;background:linear-gradient(180deg,transparent 35%,rgba(24,53,46,.78));color:#fff;z-index:2}.vf-placeholder-inner strong{font-size:1.05rem;letter-spacing:.05em}.vf-placeholder-inner p{font-size:.88rem;line-height:1.45;margin:8px 0}.vf-placeholder-inner small{opacity:.82}.vf-placeholder-type{align-self:flex-start;font-size:.68rem;letter-spacing:.12em;font-weight:800;border:1px solid rgba(255,255,255,.5);border-radius:999px;padding:3px 8px;margin-bottom:8px}.vf-ratio-4-5{aspect-ratio:4/5}.vf-ratio-1-1{aspect-ratio:1}.vf-ratio-9-16{aspect-ratio:9/16}.vf-ratio-16-9{aspect-ratio:16/9}
.vf-section{padding:clamp(74px,8vw,120px) 0}.vf-section-cream{background:var(--vf-cream)}.vf-section-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.45fr);gap:50px;align-items:end;margin-bottom:46px}.vf-section-heading h2{margin-bottom:0}.vf-section-copy{align-self:end;color:var(--vf-ink-2)}.vf-signature-grid,.vf-menu-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.vf-menu-card{border-radius:var(--vf-radius);overflow:hidden;background:#fff;border:1px solid var(--vf-line);display:flex;flex-direction:column;min-width:0}.vf-menu-card-media{aspect-ratio:1;background:var(--vf-cream);overflow:hidden}.vf-menu-card-media>img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}.vf-menu-card:hover .vf-menu-card-media>img{transform:scale(1.025)}.vf-menu-card-media .vf-media-placeholder{height:100%;border-radius:0;border:0;box-shadow:none}.vf-menu-card-body{padding:20px;display:flex;flex-direction:column;gap:12px;flex:1}.vf-menu-card h3{font-size:1.3rem;margin:0}.vf-menu-secondary{margin:4px 0 0;font-size:.9rem;font-weight:700;color:var(--vf-orange)}.vf-menu-description{font-size:.92rem;color:var(--vf-ink-2);display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.vf-badges{display:flex;flex-wrap:wrap;gap:7px;margin-top:auto}.vf-badge{font-size:.72rem;font-weight:800;padding:5px 9px;border-radius:999px;background:rgba(219,86,55,.09);color:var(--vf-orange-dark)}.vf-badge-muted{background:rgba(24,53,46,.07);color:var(--vf-ink-2)}
.vf-broth-section{background:var(--vf-ink);color:#fff}.vf-broth-section .vf-eyebrow{color:#ff9a7e}.vf-broth-grid{display:grid;grid-template-columns:.55fr 1.3fr;gap:70px;align-items:center}.vf-big-number{font-family:var(--vf-display);font-size:clamp(11rem,25vw,25rem);line-height:.72;letter-spacing:-.1em;color:var(--vf-orange)}.vf-broth-section .vf-lede{color:rgba(255,255,255,.78)}.vf-broth-section .vf-text-button{color:#fff}.vf-category-marquee{display:flex;gap:12px;flex-wrap:wrap}.vf-category-marquee a,.vf-pill-grid span{display:inline-flex;padding:12px 18px;border-radius:999px;border:1px solid var(--vf-line);text-decoration:none;font-weight:800;background:#fff}.vf-category-marquee a:hover{background:var(--vf-orange);color:#fff;border-color:var(--vf-orange)}.vf-story-section{background:var(--vf-cream)}.vf-story-grid{display:grid;grid-template-columns:.8fr 1fr .72fr;gap:34px;align-items:center}.vf-story-copy{padding:0 16px}.vf-story-copy p:not(.vf-eyebrow){font-size:1.08rem;color:var(--vf-ink-2)}.vf-pill-grid{display:flex;flex-wrap:wrap;gap:12px}.vf-pill-grid span{background:transparent}.vf-location-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.vf-location-grid-large{grid-template-columns:repeat(3,minmax(0,1fr))}.vf-location-card{min-height:230px;border:1px solid var(--vf-line);border-radius:var(--vf-radius);padding:22px;background:#fff;display:flex;flex-direction:column;justify-content:space-between}.vf-location-card h3{font-size:1.55rem}.vf-location-card h3 a{text-decoration:none}.vf-location-actions{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--vf-line);padding-top:18px;margin-top:28px}.vf-meta-line{font-size:.88rem;color:var(--vf-muted)}.vf-social-section{background:var(--vf-ink);color:#fff}.vf-social-section .vf-eyebrow{color:#ff9a7e}.vf-social-grid{display:grid;grid-template-columns:1.05fr .8fr .72fr 1.05fr;gap:16px;align-items:center}.vf-chef-grid{display:grid;grid-template-columns:.75fr 1fr;gap:70px;align-items:center;max-width:1050px}.vf-gather-section{background:var(--vf-cream)}.vf-two-card-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.vf-feature-card{min-height:320px;background:var(--vf-orange);color:#fff;border-radius:var(--vf-radius);padding:32px;display:flex;flex-direction:column;text-decoration:none;justify-content:space-between;transition:.2s}.vf-feature-card:nth-child(2){background:var(--vf-ink)}.vf-feature-card:hover{transform:translateY(-3px)}.vf-feature-card span{font-size:.76rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.vf-feature-card strong{font-family:var(--vf-display);font-size:clamp(2rem,3vw,3.5rem);line-height:1.05;font-weight:500;max-width:600px}.vf-feature-card em{font-style:normal;color:#fff;font-weight:800}.vf-feature-card-static:hover{transform:none}.vf-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.vf-story-card{padding:24px;border:1px solid var(--vf-line);border-radius:var(--vf-radius);background:#fff}.vf-story-card img{border-radius:calc(var(--vf-radius) - 8px);margin:-12px -12px 20px;width:calc(100% + 24px);max-width:none;aspect-ratio:4/3;object-fit:cover}.vf-story-card h2,.vf-story-card h3{font-family:var(--vf-display);font-size:1.8rem}.vf-story-card h2 a,.vf-story-card h3 a{text-decoration:none}.vf-placeholder-card{background:linear-gradient(145deg,#fff,#f9f1e8)}.vf-newsletter-box{background:var(--vf-ink);color:#fff;border-radius:32px;padding:clamp(30px,5vw,64px);display:flex;justify-content:space-between;align-items:center;gap:30px}.vf-newsletter-box h2{margin-bottom:8px}.vf-newsletter-box p:last-child{margin-bottom:0;color:rgba(255,255,255,.76)}
.vf-page-hero{padding:clamp(76px,10vw,150px) 0 72px;background:linear-gradient(180deg,var(--vf-cream),var(--vf-paper))}.vf-page-hero h1{font-size:clamp(3.6rem,7vw,7.6rem)}.vf-content-shell{max-width:900px;padding:70px 0}.vf-prose{font-size:1.08rem}.vf-prose h2{font-size:2.2rem;margin-top:2.4em}.vf-prose h3{margin-top:2em}.vf-prose a{color:var(--vf-orange-dark)}.vf-featured-image{border-radius:var(--vf-radius);margin:32px 0}.vf-menu-page{padding-top:28px}.vf-menu-tools{position:sticky;top:calc(var(--vf-header) + 8px);z-index:40;background:rgba(255,253,248,.96);backdrop-filter:blur(12px);padding:16px 0 14px;margin-bottom:24px}.admin-bar .vf-menu-tools{top:calc(var(--vf-header) + 40px)}.vf-search-label{display:block;margin-bottom:14px}.vf-search-label span{display:block;font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.11em;margin-bottom:6px}.vf-search-label input{width:100%;border:1px solid var(--vf-line);background:#fff;border-radius:999px;padding:14px 18px;outline:none}.vf-search-label input:focus{border-color:var(--vf-orange);box-shadow:0 0 0 3px rgba(219,86,55,.12)}.vf-category-chips{display:flex;gap:8px;overflow:auto;padding-bottom:4px;scrollbar-width:thin}.vf-category-chips button{white-space:nowrap;border:1px solid var(--vf-line);background:#fff;border-radius:999px;padding:8px 12px;font-weight:800;font-size:.85rem;cursor:pointer}.vf-category-chips button.is-active,.vf-category-chips button:hover{background:var(--vf-ink);color:#fff;border-color:var(--vf-ink)}.vf-menu-status{min-height:30px;color:var(--vf-muted);font-size:.9rem;margin-bottom:12px}.vf-menu-card[hidden]{display:none!important}.vf-upcoming{margin-top:44px;padding:34px;border-radius:var(--vf-radius);background:var(--vf-cream)}
.vf-location-hero{padding:clamp(70px,9vw,130px) 0 70px}.vf-location-hero-grid{display:grid;grid-template-columns:1fr .7fr;gap:70px;align-items:center}.vf-location-detail-grid{display:grid;grid-template-columns:.72fr 1fr;gap:60px}.vf-info-panel{background:var(--vf-cream);border-radius:var(--vf-radius);padding:28px}.vf-info-panel h2{font-size:2rem}.vf-info-panel dl{margin:0}.vf-info-panel dt{font-weight:800;margin-top:18px}.vf-info-panel dd{margin:3px 0 0;color:var(--vf-ink-2)}
.vf-split-hero{padding:clamp(70px,9vw,140px) 0}.vf-split-hero-grid{display:grid;grid-template-columns:1fr .72fr;gap:70px;align-items:center}.vf-three-up{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.vf-three-up>div{border-top:2px solid var(--vf-orange);padding-top:22px}.vf-three-up h2{font-size:2rem}.vf-step{font-weight:900;color:var(--vf-orange)}.vf-form-layout{display:grid;grid-template-columns:.7fr 1fr;gap:80px;align-items:start}.vf-form{background:#fff;border-radius:var(--vf-radius);padding:28px;border:1px solid var(--vf-line)}.vf-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.vf-form label{display:block;font-size:.8rem;font-weight:800;letter-spacing:.02em;margin-bottom:16px}.vf-form input,.vf-form textarea{display:block;width:100%;margin-top:6px;border:1px solid var(--vf-line);border-radius:12px;padding:12px;background:var(--vf-paper)}.vf-form input:focus,.vf-form textarea:focus{outline:2px solid rgba(219,86,55,.3);border-color:var(--vf-orange)}.vf-form-note{font-size:.75rem;color:var(--vf-muted);margin:14px 0 0}.vf-form-notice{background:#e9f4ec;color:#245b35;border-radius:12px;padding:12px 16px;margin-bottom:16px}.vf-honeypot{position:absolute!important;left:-9999px!important}.vf-legal-draft{background:#fff2d7;border:1px solid #e5bd6e;padding:16px 18px;border-radius:12px;margin-bottom:28px}
.vf-modal[hidden]{display:none}.vf-modal{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:18px}.vf-modal-backdrop{position:absolute;inset:0;background:rgba(9,24,20,.66);backdrop-filter:blur(5px)}.vf-modal-panel{position:relative;z-index:2;width:min(620px,100%);max-height:min(760px,calc(100vh - 36px));overflow:auto;background:var(--vf-paper);border-radius:26px;padding:32px;box-shadow:var(--vf-shadow);outline:none}.vf-modal-close{position:absolute;right:18px;top:18px;width:42px;height:42px;border-radius:50%;border:1px solid var(--vf-line);background:#fff;font-size:1.7rem;line-height:1;cursor:pointer}.vf-modal-dish{font-size:1.05rem;font-weight:800;margin-bottom:22px}.vf-nutrition-grid{display:grid;grid-template-columns:1fr 1fr;border-top:4px solid var(--vf-ink);margin-bottom:20px}.vf-nutrition-row{display:flex;justify-content:space-between;gap:18px;border-bottom:1px solid var(--vf-line);padding:10px 0}.vf-nutrition-row:nth-child(odd){padding-right:14px}.vf-nutrition-row:nth-child(even){padding-left:14px;border-left:1px solid var(--vf-line)}.vf-nutrition-row strong{font-size:.88rem}.vf-nutrition-row span{font-weight:800}.vf-nutrition-allergens{padding:16px 0;border-top:1px solid var(--vf-line)}.vf-nutrition-allergens p{margin:4px 0}.vf-modal-note{font-size:.76rem;color:var(--vf-muted);margin:12px 0 0}
.vf-cookie-banner{position:fixed;left:20px;right:20px;bottom:20px;z-index:900;background:var(--vf-ink);color:#fff;border-radius:20px;padding:18px 20px;box-shadow:var(--vf-shadow);display:flex;justify-content:space-between;gap:28px;align-items:center}.vf-cookie-banner[hidden]{display:none}.vf-cookie-banner p{margin:2px 0 0;font-size:.84rem;color:rgba(255,255,255,.78);max-width:720px}.vf-cookie-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.vf-cookie-actions a{font-size:.82rem}.vf-cookie-banner .vf-button-ghost{border-color:#fff;color:#fff}.vf-cookie-banner .vf-button-ghost:hover{background:#fff;color:var(--vf-ink)}
.vf-site-footer{background:var(--vf-ink);color:#fff;padding:74px 0 24px}.vf-footer-grid{display:grid;grid-template-columns:1.5fr .65fr .75fr .75fr;gap:50px}.vf-footer-grid h2{font-family:var(--vf-font);font-size:.8rem;text-transform:uppercase;letter-spacing:.12em;color:#ff9a7e}.vf-footer-grid ul{list-style:none;padding:0;margin:0}.vf-footer-grid li{margin:8px 0}.vf-footer-grid a{color:#fff}.vf-brand-footer{margin-bottom:22px}.vf-footer-bottom{margin-top:60px;padding-top:20px;border-top:1px solid rgba(255,255,255,.14);display:flex;justify-content:space-between;gap:24px;font-size:.76rem;color:rgba(255,255,255,.6)}.vf-footer-note{text-align:right}
@media(max-width:1050px){:root{--vf-shell:min(100% - 32px,960px)}.vf-primary-nav{position:fixed;top:var(--vf-header);left:0;right:0;background:var(--vf-paper);border-bottom:1px solid var(--vf-line);padding:20px 16px 28px;transform:translateY(-120%);opacity:0;pointer-events:none;transition:.25s}.admin-bar .vf-primary-nav{top:calc(var(--vf-header) + 32px)}.vf-primary-nav.is-open{transform:translateY(0);opacity:1;pointer-events:auto}.vf-nav-list{flex-direction:column;align-items:flex-start;gap:12px}.vf-nav-list a{font-size:1.25rem}.vf-menu-toggle{display:inline-flex;justify-self:end;align-items:center;gap:8px;cursor:pointer}.vf-menu-toggle i,.vf-menu-toggle i:before{display:block;width:20px;height:2px;background:var(--vf-ink);content:""}.vf-menu-toggle i:before{transform:translateY(6px)}.vf-order-button{justify-self:end}.vf-header-inner{grid-template-columns:1fr auto auto}.vf-hero-grid,.vf-split-hero-grid,.vf-location-hero-grid{grid-template-columns:1fr 1fr;gap:44px}.vf-location-grid{grid-template-columns:repeat(2,1fr)}.vf-social-grid{grid-template-columns:1fr 1fr}.vf-story-grid{grid-template-columns:.72fr 1fr}.vf-story-grid>:last-child{display:none}.vf-footer-grid{grid-template-columns:1.2fr 1fr 1fr}.vf-footer-grid>:last-child{grid-column:2/4}}
@media(max-width:760px){:root{--vf-header:70px;--vf-shell:calc(100vw - 28px)}body{font-size:16px}.admin-bar .vf-site-header{top:46px}.admin-bar .vf-primary-nav{top:calc(var(--vf-header) + 46px)}.vf-header-inner{gap:12px}.vf-brand-wordmark{font-size:1rem}.vf-brand-wordmark span{font-size:.68rem}.vf-order-button{min-height:38px;padding:8px 13px}.vf-menu-toggle span{display:none}.vf-hero{padding:62px 0 74px}.vf-hero-grid,.vf-split-hero-grid,.vf-location-hero-grid,.vf-chef-grid,.vf-location-detail-grid,.vf-form-layout{grid-template-columns:1fr}.vf-hero-media{padding:0 12% 0 0;max-width:560px}.vf-hero-secondary{width:38%;right:0;bottom:-8%}.vf-proof-row{margin-top:38px;gap:18px}.vf-section{padding:70px 0}.vf-section-heading{grid-template-columns:1fr;gap:18px;margin-bottom:30px}.vf-signature-grid,.vf-menu-grid,.vf-card-grid,.vf-location-grid,.vf-location-grid-large,.vf-three-up,.vf-two-card-grid{grid-template-columns:1fr}.vf-broth-grid{grid-template-columns:1fr;gap:34px}.vf-big-number{font-size:12rem}.vf-story-grid{grid-template-columns:1fr 1fr;align-items:end}.vf-story-copy{grid-column:1/3;grid-row:1;padding:0 0 16px}.vf-social-grid{grid-template-columns:1fr 1fr;align-items:start}.vf-social-grid .vf-ratio-9-16{grid-row:span 2}.vf-menu-tools{top:calc(var(--vf-header) + 6px);margin-inline:-14px;padding-inline:14px}.admin-bar .vf-menu-tools{top:calc(var(--vf-header) + 52px)}.vf-menu-grid{gap:14px}.vf-menu-card{display:grid;grid-template-columns:110px 1fr}.vf-menu-card-media{aspect-ratio:1;height:100%}.vf-menu-card-body{padding:15px}.vf-menu-description{font-size:.85rem;-webkit-line-clamp:3}.vf-menu-card .vf-eyebrow{font-size:.62rem}.vf-badges{display:none}.vf-location-card{min-height:190px}.vf-newsletter-box{display:block}.vf-newsletter-box .vf-button{margin-top:20px}.vf-form-grid{grid-template-columns:1fr}.vf-footer-grid{grid-template-columns:1fr 1fr;gap:36px}.vf-footer-grid>:first-child{grid-column:1/3}.vf-footer-grid>:last-child{grid-column:auto}.vf-footer-bottom{display:block}.vf-footer-note{text-align:left}.vf-cookie-banner{left:10px;right:10px;bottom:10px;display:block}.vf-cookie-actions{margin-top:12px}.vf-modal{padding:10px}.vf-modal-panel{padding:26px 20px}.vf-nutrition-grid{grid-template-columns:1fr}.vf-nutrition-row:nth-child(even){padding-left:0;border-left:0}.vf-nutrition-row:nth-child(odd){padding-right:0}}
@media(max-width:420px){.vf-menu-card{grid-template-columns:96px 1fr}.vf-menu-card h3{font-size:1.08rem}.vf-menu-secondary{font-size:.78rem}.vf-menu-description{display:none}.vf-social-grid{gap:10px}.vf-footer-grid{grid-template-columns:1fr}.vf-footer-grid>:first-child{grid-column:auto}.vf-header-inner{grid-template-columns:1fr auto auto}.vf-order-button{font-size:.8rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.vf-menu-card:hover .vf-menu-card-media>img{transform:none}}

/* === Vietnamese Foodies 2.0 v1.0.0 review refinements === */
.vf-header-inner{grid-template-columns:auto 1fr auto;gap:20px}.vf-nav-list{gap:20px}.vf-header-actions{display:flex;gap:9px;align-items:center}.vf-contact-button{min-height:44px;padding-inline:18px}.vf-nav-list a,.vf-site-footer a,.vf-site-footer .vf-text-button,.vf-quick-links a{text-decoration:none!important}.vf-site-footer a:hover,.vf-site-footer a:focus{text-decoration:none;color:#ffb09c}.vf-footer-contact{color:#fff}.vf-footer-contact:hover,.vf-footer-contact:focus{color:#ffb09c}.vf-button-light,.vf-button-light:visited{background:#fff!important;color:var(--vf-ink)!important;border-color:#fff!important}.vf-button-light:hover,.vf-button-light:focus{background:#ffeadf!important;color:var(--vf-ink)!important;border-color:#ffeadf!important}.vf-order-button,.vf-order-button:visited{background:var(--vf-orange);color:#fff;border-color:var(--vf-orange)}.vf-order-button:hover,.vf-order-button:focus{background:var(--vf-orange-dark);color:#fff;border-color:var(--vf-orange-dark)}

.vf-hero-copy h1{font-size:clamp(3.4rem,6.3vw,6.8rem);max-width:870px}.vf-hero-kicker{font-family:var(--vf-display);font-size:clamp(1.55rem,2.5vw,2.55rem);line-height:1.1;color:var(--vf-orange);margin:-8px 0 24px}.vf-quick-links{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:34px;padding-top:22px;border-top:1px solid var(--vf-line);font-size:.88rem}.vf-quick-links>span{font-weight:800;color:var(--vf-muted)}.vf-quick-links a{padding:7px 11px;border:1px solid var(--vf-line);border-radius:999px;font-weight:800;background:#fff}.vf-quick-links a:hover,.vf-quick-links a:focus{background:var(--vf-ink);border-color:var(--vf-ink);color:#fff}

/* Review placeholders: intentionally obvious and informative. */
.vf-media-placeholder{border:2px dashed rgba(24,53,46,.48);background:linear-gradient(145deg,#fff7ef,#f4efdd 54%,#e6eee6);box-shadow:none}.vf-media-placeholder:after{content:"MEDIA SLOT";position:absolute;top:14px;right:14px;z-index:3;font-size:.62rem;letter-spacing:.12em;font-weight:900;color:var(--vf-ink);background:rgba(255,255,255,.88);border:1px solid var(--vf-line);padding:5px 8px;border-radius:999px}.vf-placeholder-inner{background:linear-gradient(180deg,rgba(24,53,46,.03) 0%,rgba(24,53,46,.9) 78%)}.vf-placeholder-inner strong{font-size:1.12rem}.vf-placeholder-inner p{max-width:38ch}.vf-menu-card-media .vf-media-placeholder{border:2px dashed rgba(219,86,55,.48)!important}.vf-menu-placeholder .vf-placeholder-inner{padding:16px}.vf-menu-placeholder .vf-placeholder-inner p{font-size:.76rem}.vf-menu-placeholder:after{display:none}

/* Menu imagery: preserve supplied image proportions; never distort or stretch dishes. */
.vf-menu-card-media{aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;background:#f5f0e5;padding:0}.vf-menu-card-media>img{width:100%;height:100%;object-fit:contain!important;object-position:center;background:#f5f0e5;padding:8px;transform:none!important}.vf-menu-card:hover .vf-menu-card-media>img{transform:none!important}.vf-menu-card{align-self:start}.vf-menu-grid{align-items:start}.vf-menu-card-media .vf-media-placeholder{width:100%;height:100%;aspect-ratio:1}

.vf-category-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.vf-category-card{display:flex;flex-direction:column;gap:7px;text-decoration:none;background:#fff;border:1px solid var(--vf-line);border-radius:var(--vf-radius);padding:10px;transition:.2s ease}.vf-category-card:hover,.vf-category-card:focus{transform:translateY(-3px);box-shadow:var(--vf-shadow)}.vf-category-card-media{aspect-ratio:1;overflow:hidden;border-radius:calc(var(--vf-radius) - 7px);background:var(--vf-cream);display:flex;align-items:center;justify-content:center}.vf-category-card-media>img{width:100%;height:100%;object-fit:contain;background:var(--vf-cream);padding:6px}.vf-category-card>span{font-family:var(--vf-display);font-size:1.55rem;line-height:1.05;padding:8px 8px 0}.vf-category-card>small{padding:0 8px 9px;color:var(--vf-orange-dark);font-weight:800}.vf-category-card .vf-media-placeholder{height:100%;width:100%;border-radius:0}.vf-center-action{text-align:center;margin-top:34px}

.vf-fresh-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:center}.vf-fresh-media{display:grid;grid-template-columns:1fr .72fr;gap:16px;align-items:end}.vf-fresh-video{margin-bottom:-32px}.vf-social-intro{max-width:700px;color:rgba(255,255,255,.76);margin-bottom:34px}

.vf-location-grid{align-items:start}.vf-location-card{padding:0;overflow:hidden;min-height:0;justify-content:flex-start}.vf-location-card-media{background:var(--vf-cream)}.vf-location-card-media .vf-media-placeholder{border-radius:0;border-width:0 0 2px 0;box-shadow:none}.vf-location-card-media>img{width:100%;aspect-ratio:4/5;object-fit:cover}.vf-location-card-copy{padding:20px 20px 6px}.vf-location-address{font-size:.85rem;color:var(--vf-muted);line-height:1.45}.vf-location-actions{padding:15px 20px 18px;margin:12px 0 0;justify-content:flex-start;flex-wrap:wrap}.vf-location-actions .vf-text-button{font-size:.8rem}.vf-location-placeholder .vf-placeholder-inner p{font-size:.78rem}

.vf-story-image{display:block;text-decoration:none}.vf-story-image img{margin:-12px -12px 20px;width:calc(100% + 24px);max-width:none;aspect-ratio:4/3;object-fit:cover;border-radius:calc(var(--vf-radius) - 8px)}.vf-news-card{display:flex;flex-direction:column}.vf-news-card .vf-text-button{margin-top:auto}.vf-news-grid{align-items:stretch}

.vf-floating-whatsapp{position:fixed;right:22px;bottom:22px;z-index:750;width:58px;height:58px;border:0;border-radius:50%;display:grid;place-items:center;background:#25D366;color:#fff;box-shadow:0 12px 32px rgba(14,63,47,.28);cursor:pointer;transition:.2s ease}.vf-floating-whatsapp:hover,.vf-floating-whatsapp:focus{transform:translateY(-3px) scale(1.03);box-shadow:0 16px 36px rgba(14,63,47,.34);outline:3px solid rgba(37,211,102,.2)}.vf-floating-whatsapp svg{width:31px;height:31px;fill:currentColor}.vf-contact-panel{max-width:590px}.vf-contact-context{color:var(--vf-muted);margin-top:-8px}.vf-contact-options{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:22px}.vf-contact-option{display:flex;flex-direction:column;text-decoration:none;border:1px solid var(--vf-line);border-radius:16px;padding:17px 18px;background:#fff}.vf-contact-option:hover,.vf-contact-option:focus{border-color:var(--vf-orange);background:#fff7ef}.vf-contact-option strong{font-size:1rem}.vf-contact-option span{font-size:.8rem;color:var(--vf-muted);margin-top:4px}

.vf-legal-draft{border:2px solid #d68c28;background:#fff8e7;padding:16px 18px;border-radius:14px;margin-bottom:30px}.vf-legal-draft p{margin:0}.vf-prose a{text-underline-offset:3px}

@media(max-width:1180px){.vf-header-actions .vf-contact-button{display:none}.vf-nav-list{gap:16px}.vf-category-card-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:1050px){.vf-header-inner{grid-template-columns:1fr auto auto}.vf-header-actions{justify-self:end}.vf-header-actions .vf-contact-button{display:none}.vf-primary-nav{z-index:101}.vf-category-card-grid{grid-template-columns:repeat(2,1fr)}.vf-fresh-grid{grid-template-columns:1fr 1fr;gap:38px}}
@media(max-width:760px){.vf-hero-kicker{font-size:1.65rem}.vf-category-card-grid{grid-template-columns:1fr 1fr;gap:10px}.vf-category-card>span{font-size:1.25rem}.vf-fresh-grid{grid-template-columns:1fr}.vf-fresh-media{max-width:560px}.vf-fresh-video{margin-bottom:0}.vf-location-card{display:grid;grid-template-columns:118px 1fr}.vf-location-card-media{grid-row:1/3}.vf-location-card-media .vf-media-placeholder,.vf-location-card-media>img{height:100%;aspect-ratio:auto;min-height:230px}.vf-location-card-copy{padding:15px 15px 0}.vf-location-actions{padding:12px 15px 16px;border-top:0;margin:0}.vf-location-actions a:last-child{display:none}.vf-contact-options{grid-template-columns:1fr}.vf-floating-whatsapp{right:14px;bottom:14px;width:54px;height:54px}.vf-menu-card-media>img{padding:4px}.vf-menu-placeholder .vf-placeholder-inner p,.vf-menu-placeholder .vf-placeholder-inner small{display:none}.vf-menu-placeholder .vf-placeholder-inner{padding:9px}.vf-menu-placeholder .vf-placeholder-inner strong{font-size:.72rem}}
@media(max-width:480px){.vf-category-card-grid{grid-template-columns:1fr 1fr}.vf-category-card{padding:7px}.vf-category-card>span{font-size:1.1rem}.vf-category-card>small{font-size:.7rem}.vf-quick-links>span{width:100%}.vf-location-card{grid-template-columns:100px 1fr}.vf-location-actions .vf-text-button{font-size:.74rem}.vf-header-actions .vf-order-button{padding-inline:12px}.vf-placeholder-inner p{font-size:.78rem}}

/* v1.1.0 — explicit review placeholders + SEO breadcrumb presentation */
.vf-media-placeholder.vf-placeholder-image{
  aspect-ratio:1/1!important;
  min-height:0!important;
  height:auto!important;
  border:3px solid var(--vf-orange)!important;
  border-radius:16px!important;
  background:linear-gradient(135deg,#fff8ef 0%,#f4efdd 55%,#eaf0e8 100%);
}
.vf-media-placeholder.vf-placeholder-video{
  border:3px solid var(--vf-ink)!important;
  border-radius:16px!important;
}
.vf-media-placeholder.vf-placeholder-image:after{content:"PHOTO SPACE"}
.vf-media-placeholder.vf-placeholder-video:after{content:"VIDEO SPACE"}
.vf-media-placeholder .vf-placeholder-inner{
  padding:20px;
  background:linear-gradient(180deg,rgba(24,53,46,.04) 0%,rgba(24,53,46,.94) 72%);
}
.vf-media-placeholder .vf-placeholder-inner p{margin:8px 0 10px;line-height:1.4}
.vf-media-placeholder .vf-placeholder-inner p b{color:#ffd8c9}
.vf-media-placeholder .vf-placeholder-inner small{line-height:1.35}
.vf-location-card-media .vf-media-placeholder.vf-placeholder-image{width:100%;aspect-ratio:1/1!important;border-width:3px!important}
.vf-menu-card-media .vf-media-placeholder.vf-placeholder-image,
.vf-category-card .vf-media-placeholder.vf-placeholder-image{border-radius:0!important}

.vf-breadcrumbs{margin:0 0 22px;font-size:.78rem;color:var(--vf-muted)}
.vf-breadcrumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0}
.vf-breadcrumbs li{display:flex;align-items:center;gap:8px}
.vf-breadcrumbs li:not(:last-child):after{content:"/";opacity:.45}
.vf-breadcrumbs a{text-decoration:none;color:var(--vf-ink-2);font-weight:700}
.vf-breadcrumbs a:hover,.vf-breadcrumbs a:focus{color:var(--vf-orange)}
.vf-breadcrumbs [aria-current="page"]{color:var(--vf-muted)}

.vf-seo-support{max-width:860px;margin:50px auto 0;padding-top:34px;border-top:1px solid var(--vf-line)}
.vf-seo-support h2{font-size:clamp(1.7rem,3vw,2.8rem)}
.vf-seo-support p{color:var(--vf-ink-2)}

@media(max-width:760px){
  .vf-location-card{display:block!important}
  .vf-location-card-media{width:100%;grid-row:auto!important}
  .vf-location-card-media .vf-media-placeholder.vf-placeholder-image,
  .vf-location-card-media>img{width:100%;height:auto!important;aspect-ratio:1/1!important;min-height:0!important;object-fit:cover}
  .vf-media-placeholder .vf-placeholder-inner{padding:16px}
  .vf-media-placeholder .vf-placeholder-inner p{font-size:.78rem}
  .vf-media-placeholder .vf-placeholder-inner small{font-size:.67rem}
}

/* ==========================================================
   v1.2.0 — full responsive/mobile redesign audit
   Tested for 320/360/375/390/430/600/768/1024+ layout logic.
   ========================================================== */

/* Resilient base rules */
html{overflow-x:hidden;text-size-adjust:100%;-webkit-text-size-adjust:100%}
body{min-width:320px;overflow-x:clip}
.vf-main,.vf-shell,.vf-header-inner,.vf-footer-grid,.vf-hero-grid,.vf-section-heading,
.vf-story-grid,.vf-fresh-grid,.vf-chef-grid,.vf-location-hero-grid,.vf-location-detail-grid,
.vf-split-hero-grid,.vf-form-layout,.vf-menu-card-body,.vf-location-card-copy{min-width:0}
.vf-prose,.vf-lede,.vf-section-copy,.vf-menu-description,.vf-location-address,.vf-contact-option span,
.vf-story-card p,.vf-feature-card strong,.vf-placeholder-inner p{overflow-wrap:anywhere}
.vf-mobile-nav-actions{display:none}
body.vf-nav-open{overflow:hidden}
button,.vf-button,.vf-text-button,a{-webkit-tap-highlight-color:transparent}
input,textarea,select{font-size:16px}

/* Tablet-wide: make dense sections breathe before reaching phone widths. */
@media (max-width:1100px){
  .vf-section-heading{grid-template-columns:minmax(0,1fr) minmax(220px,.48fr);gap:32px}
  .vf-menu-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .vf-location-grid-large{grid-template-columns:repeat(2,minmax(0,1fr))}
  .vf-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .vf-form-layout{gap:48px}
  .vf-chef-grid{gap:48px}
}

@media (max-width:1050px){
  .vf-primary-nav{
    top:var(--vf-header);bottom:0;left:auto;right:0;width:min(430px,100%);height:auto;
    padding:26px 24px calc(28px + env(safe-area-inset-bottom));
    overflow-y:auto;overscroll-behavior:contain;
    transform:translateX(105%);opacity:1;pointer-events:none;
    box-shadow:-20px 20px 50px rgba(24,53,46,.15);
  }
  .admin-bar .vf-primary-nav{top:calc(var(--vf-header) + 32px)}
  .vf-primary-nav.is-open{transform:translateX(0);pointer-events:auto}
  .vf-nav-list{gap:0;width:100%}
  .vf-nav-list li{width:100%;border-bottom:1px solid var(--vf-line)}
  .vf-nav-list a{display:flex;align-items:center;min-height:56px;width:100%;font-size:1.12rem}
  .vf-mobile-nav-actions{display:grid;gap:10px;margin-top:24px}
  .vf-mobile-nav-actions .vf-button{width:100%;min-height:50px}
  .vf-menu-toggle{width:44px;height:44px;border-radius:50%;justify-content:center;padding:0}
  .vf-menu-toggle:focus-visible{outline:3px solid rgba(219,86,55,.25);outline-offset:2px}
}

/* Small tablet / large phone */
@media (max-width:820px){
  :root{--vf-shell:min(100% - 28px,760px);--vf-radius:20px}
  h1{font-size:clamp(2.8rem,8.5vw,4.6rem)}
  h2{font-size:clamp(2.15rem,6.5vw,3.45rem)}
  .vf-page-hero h1{font-size:clamp(2.9rem,8.8vw,4.6rem)}
  .vf-section-heading{grid-template-columns:1fr;gap:14px;margin-bottom:32px}
  .vf-section-copy{max-width:680px}
  .vf-signature-grid{grid-template-columns:1fr}
  .vf-category-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .vf-location-grid,.vf-location-grid-large{grid-template-columns:repeat(2,minmax(0,1fr))}
  .vf-three-up{grid-template-columns:1fr}
  .vf-three-up>div{padding:20px;border:1px solid var(--vf-line);border-top:3px solid var(--vf-orange);border-radius:16px;background:#fff}
  .vf-form-layout{grid-template-columns:1fr;gap:30px}
  .vf-form-layout>div:first-child{max-width:680px}
  .vf-footer-grid{grid-template-columns:1fr 1fr;gap:34px}
  .vf-footer-grid>:first-child{grid-column:1/-1}
  .vf-footer-grid>:last-child{grid-column:auto}
}

/* Primary phone layout */
@media (max-width:760px){
  :root{
    --vf-header:64px;
    --vf-shell:min(100% - 24px,620px);
    --vf-radius:18px;
    --vf-radius-sm:12px;
  }
  body{font-size:16px;line-height:1.55;padding-bottom:env(safe-area-inset-bottom)}
  h1{font-size:clamp(2.35rem,11.6vw,3.35rem);line-height:1.01;letter-spacing:-.045em;margin-bottom:18px}
  h2{font-size:clamp(1.95rem,9vw,2.65rem);line-height:1.04;margin-bottom:18px}
  h3{font-size:1.18rem}
  .vf-lede{font-size:1.04rem;line-height:1.55}
  .vf-eyebrow{font-size:.68rem;letter-spacing:.12em;margin-bottom:9px}

  /* Header / mobile navigation */
  .vf-site-header{backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
  .vf-header-inner{height:var(--vf-header);grid-template-columns:minmax(0,1fr) auto auto;gap:8px}
  .vf-brand{min-width:0;max-width:150px}
  .vf-brand-logo{max-height:34px;max-width:145px;object-fit:contain}
  .vf-brand-wordmark{font-size:.9rem;line-height:.8;white-space:nowrap}
  .vf-brand-wordmark span{font-size:.59rem;letter-spacing:.14em;margin-top:6px}
  .vf-header-actions{gap:6px}
  .vf-header-actions .vf-contact-button{display:none!important}
  .vf-header-actions .vf-order-button{min-height:40px;padding:8px 12px;font-size:.78rem;white-space:nowrap}
  .vf-menu-toggle{display:inline-flex}
  .vf-primary-nav{top:var(--vf-header);width:100%;padding:18px 18px calc(24px + env(safe-area-inset-bottom));box-shadow:none;border-left:0}
  .admin-bar .vf-site-header{top:46px}
  .admin-bar .vf-primary-nav{top:calc(var(--vf-header) + 46px)}
  .vf-nav-list a{min-height:54px;font-size:1.08rem}

  /* Global sections and buttons */
  .vf-section{padding:56px 0}
  .vf-page-hero{padding:46px 0 42px}
  .vf-page-hero h1{font-size:clamp(2.35rem,11.5vw,3.3rem);margin-bottom:18px}
  .vf-content-shell{padding:48px 0}
  .vf-actions{gap:9px;margin-top:24px}
  .vf-actions .vf-button{flex:1 1 calc(50% - 5px);min-width:0;padding-inline:14px;text-align:center}
  .vf-button{min-height:46px;padding:10px 17px}
  .vf-button-small{min-height:42px}
  .vf-text-button{min-height:40px;display:inline-flex;align-items:center}

  /* Homepage hero: deliberately re-composed for portrait/square social media. */
  .vf-hero{padding:44px 0 54px}
  .vf-hero-grid{grid-template-columns:1fr;gap:34px}
  .vf-hero-copy h1{font-size:clamp(2.55rem,12vw,3.5rem);max-width:12ch}
  .vf-hero-kicker{font-size:clamp(1.35rem,6.5vw,1.8rem);margin:-3px 0 16px}
  .vf-hero-copy .vf-lede{max-width:36rem}
  .vf-quick-links{margin-top:26px;padding-top:18px;gap:8px}
  .vf-quick-links>span{flex:0 0 100%;font-size:.78rem}
  .vf-quick-links a{padding:7px 10px;font-size:.78rem}
  .vf-hero-media{padding:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(96px,.52fr);gap:10px;align-items:end;max-width:520px}
  .vf-hero-secondary{position:static!important;width:auto!important;right:auto!important;bottom:auto!important;box-shadow:none!important}

  /* Menu / food cards: compact enough to scan, large enough to see the food. */
  .vf-menu-grid{grid-template-columns:1fr;gap:12px}
  .vf-menu-card{display:grid;grid-template-columns:120px minmax(0,1fr);border-radius:16px;align-items:stretch;width:100%}
  .vf-menu-card-media{width:120px;min-height:120px;height:100%;aspect-ratio:auto}
  .vf-menu-card-media>img{width:100%;height:100%;min-height:120px;object-fit:contain!important;padding:4px}
  .vf-menu-card-body{padding:13px 14px;gap:7px;min-height:120px}
  .vf-menu-card h3{font-size:1.08rem;line-height:1.12}
  .vf-menu-secondary{font-size:.76rem;line-height:1.25}
  .vf-menu-description{font-size:.8rem;line-height:1.4;-webkit-line-clamp:2;margin-bottom:0}
  .vf-menu-card .vf-eyebrow{font-size:.58rem;margin-bottom:5px}
  .vf-menu-card .vf-badges{display:none}
  .vf-menu-card .vf-text-button{font-size:.77rem;min-height:34px;margin-top:auto}
  .vf-menu-placeholder .vf-placeholder-inner{padding:8px;justify-content:flex-end}
  .vf-menu-placeholder .vf-placeholder-type,.vf-menu-placeholder .vf-placeholder-inner p,.vf-menu-placeholder .vf-placeholder-inner small{display:none!important}
  .vf-menu-placeholder .vf-placeholder-inner strong{font-size:.62rem;line-height:1.15;overflow-wrap:anywhere}

  /* Menu controls */
  .vf-menu-page{padding-top:0}
  .vf-menu-tools{top:calc(var(--vf-header) - 1px);margin:0 -12px 18px;padding:12px 12px 10px;border-bottom:1px solid var(--vf-line);box-shadow:0 8px 18px rgba(24,53,46,.04)}
  .admin-bar .vf-menu-tools{top:calc(var(--vf-header) + 45px)}
  .vf-search-label{margin-bottom:10px}
  .vf-search-label span{font-size:.65rem}
  .vf-search-label input{min-height:46px;padding:11px 15px}
  .vf-category-chips{gap:6px;margin-inline:-12px;padding:0 12px 4px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .vf-category-chips::-webkit-scrollbar{display:none}
  .vf-category-chips button{min-height:40px;padding:8px 12px;font-size:.76rem;flex:0 0 auto}
  .vf-menu-status{font-size:.78rem;margin-bottom:8px;min-height:24px}

  /* Homepage sections */
  .vf-broth-grid{grid-template-columns:84px minmax(0,1fr);gap:18px;align-items:start}
  .vf-big-number{font-size:6.8rem;line-height:.8;letter-spacing:-.12em;margin-left:-4px}
  .vf-broth-section h2{font-size:clamp(1.8rem,8.4vw,2.45rem)}
  .vf-broth-section .vf-lede{font-size:.96rem}

  .vf-category-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .vf-category-card{padding:7px;border-radius:14px;gap:3px}
  .vf-category-card-media{border-radius:10px}
  .vf-category-card>span{font-size:1.08rem;padding:7px 6px 0}
  .vf-category-card>small{font-size:.67rem;padding:0 6px 6px}
  .vf-category-card .vf-placeholder-inner{padding:8px}
  .vf-category-card .vf-placeholder-inner p,.vf-category-card .vf-placeholder-inner small,.vf-category-card .vf-placeholder-type{display:none!important}
  .vf-category-card .vf-placeholder-inner strong{font-size:.65rem}
  .vf-center-action{margin-top:24px}

  .vf-story-grid{grid-template-columns:minmax(0,.78fr) minmax(0,1fr);gap:12px;align-items:end}
  .vf-story-grid>:last-child{display:block!important}
  .vf-story-copy{grid-column:1/-1;grid-row:1;padding:0 0 14px}
  .vf-story-copy p:not(.vf-eyebrow){font-size:.98rem}
  .vf-story-grid>div:first-child{grid-column:1;grid-row:2}
  .vf-story-grid>div:last-child{grid-column:2;grid-row:2}

  .vf-fresh-grid{grid-template-columns:1fr;gap:28px}
  .vf-fresh-media{grid-template-columns:minmax(0,1fr) minmax(100px,.72fr);gap:10px;align-items:end;max-width:520px}
  .vf-fresh-video{margin-bottom:0}
  .vf-pill-grid{gap:7px}
  .vf-pill-grid span{padding:8px 11px;font-size:.75rem}

  .vf-location-grid,.vf-location-grid-large{grid-template-columns:1fr;gap:14px}
  .vf-location-card{display:block!important;border-radius:16px}
  .vf-location-card-media{width:100%}
  .vf-location-card-media .vf-media-placeholder.vf-placeholder-image,
  .vf-location-card-media>img{width:100%;height:auto!important;aspect-ratio:1/1!important;min-height:0!important;object-fit:cover}
  .vf-location-card-copy{padding:16px 16px 4px}
  .vf-location-card h3{font-size:1.35rem;margin-bottom:7px}
  .vf-location-card-copy p{margin-bottom:8px}
  .vf-location-actions{padding:10px 16px 16px;margin:7px 0 0;gap:7px 14px;border-top:1px solid var(--vf-line)}
  .vf-location-actions .vf-text-button{font-size:.78rem;min-height:36px}
  .vf-location-actions a:last-child{display:inline-flex}

  .vf-social-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-items:start}
  .vf-social-grid .vf-ratio-9-16{grid-row:span 2}
  .vf-social-intro{font-size:.94rem;margin-bottom:24px}

  .vf-chef-grid{grid-template-columns:1fr;gap:24px}
  .vf-chef-grid>.vf-media-placeholder{width:min(100%,420px)}
  .vf-chef-grid .vf-lede{font-size:1rem}

  .vf-two-card-grid{grid-template-columns:1fr;gap:12px}
  .vf-feature-card{min-height:220px;padding:24px;border-radius:17px}
  .vf-feature-card strong{font-size:clamp(1.75rem,8vw,2.35rem)}

  .vf-card-grid{grid-template-columns:1fr;gap:14px}
  .vf-story-card{padding:18px;border-radius:16px}
  .vf-story-card img,.vf-story-image img{margin:-7px -7px 16px;width:calc(100% + 14px);aspect-ratio:16/10;border-radius:11px}
  .vf-story-card h2,.vf-story-card h3{font-size:1.5rem;line-height:1.08}

  .vf-newsletter-box{display:flex!important;flex-direction:column;align-items:flex-start;padding:26px 20px;border-radius:20px;gap:18px}
  .vf-newsletter-box .vf-button{width:100%;margin-top:0}

  /* Internal page layouts */
  .vf-split-hero{padding:46px 0 54px}
  .vf-split-hero-grid,.vf-location-hero-grid,.vf-location-detail-grid,.vf-form-layout{grid-template-columns:1fr;gap:28px}
  .vf-split-hero-grid>.vf-media-placeholder,.vf-location-hero-grid>.vf-media-placeholder{width:min(100%,520px)}
  .vf-location-hero{padding:46px 0 50px}
  .vf-location-hero .vf-actions .vf-button{flex:1 1 100%}
  .vf-info-panel{padding:20px;border-radius:16px}
  .vf-info-panel h2{font-size:1.65rem}
  .vf-info-panel dt{margin-top:14px}
  .vf-info-panel dd{overflow-wrap:anywhere}
  .vf-form{padding:18px;border-radius:16px}
  .vf-form-grid{grid-template-columns:1fr;gap:0}
  .vf-form label{font-size:.76rem;margin-bottom:13px}
  .vf-form input,.vf-form textarea{min-height:48px;padding:12px 13px;border-radius:10px}
  .vf-form textarea{min-height:150px}
  .vf-form .vf-button{width:100%}
  .vf-form-note{font-size:.7rem}

  /* Articles/legal/prose */
  .vf-prose{font-size:1rem}
  .vf-prose h2{font-size:1.9rem;margin-top:1.8em}
  .vf-prose h3{font-size:1.28rem;margin-top:1.6em}
  .vf-featured-image{margin:22px 0;border-radius:16px}
  .vf-breadcrumbs{font-size:.7rem;margin-bottom:16px;overflow:hidden}
  .vf-breadcrumbs ol{flex-wrap:nowrap;overflow-x:auto;padding-bottom:3px;scrollbar-width:none}
  .vf-breadcrumbs ol::-webkit-scrollbar{display:none}
  .vf-breadcrumbs li{flex:0 0 auto;white-space:nowrap}
  .vf-seo-support{margin-top:36px;padding-top:26px}

  /* Modal becomes a comfortable mobile bottom sheet. */
  .vf-modal{align-items:flex-end;padding:0}
  .vf-modal-panel{width:100%;max-height:min(88dvh,760px);border-radius:22px 22px 0 0;padding:28px 18px calc(22px + env(safe-area-inset-bottom));overscroll-behavior:contain}
  .vf-modal-close{right:14px;top:14px;width:40px;height:40px}
  .vf-modal-panel h2{padding-right:48px;font-size:2rem}
  .vf-nutrition-grid{grid-template-columns:1fr;margin-bottom:14px}
  .vf-nutrition-row:nth-child(even),.vf-nutrition-row:nth-child(odd){padding:9px 0;border-left:0}
  .vf-contact-options{grid-template-columns:1fr;gap:8px}
  .vf-contact-option{padding:14px 15px;min-height:62px}

  /* Cookie + floating action: safe-area aware and non-overlapping. */
  .vf-cookie-banner{left:8px;right:8px;bottom:calc(8px + env(safe-area-inset-bottom));padding:15px 15px;border-radius:16px;display:block;max-height:70dvh;overflow:auto}
  .vf-cookie-banner p{font-size:.78rem}
  .vf-cookie-actions{margin-top:12px;gap:8px}
  .vf-cookie-actions .vf-button{flex:1 1 140px}
  .vf-floating-whatsapp{right:12px;bottom:calc(12px + env(safe-area-inset-bottom));width:52px;height:52px}
  body.vf-cookie-visible .vf-floating-whatsapp{bottom:calc(190px + env(safe-area-inset-bottom))}

  /* Footer */
  .vf-site-footer{padding:54px 0 calc(22px + env(safe-area-inset-bottom))}
  .vf-footer-grid{grid-template-columns:1fr 1fr;gap:30px 20px}
  .vf-footer-grid>:first-child{grid-column:1/-1}
  .vf-footer-grid>:last-child{grid-column:auto}
  .vf-footer-grid h2{font-size:.7rem}
  .vf-footer-grid li{margin:7px 0}
  .vf-footer-grid a,.vf-footer-grid .vf-text-button{min-height:34px;display:inline-flex;align-items:center}
  .vf-footer-bottom{margin-top:38px;padding-top:18px;display:block;font-size:.69rem}
  .vf-footer-note{text-align:left;margin-top:8px}
}

/* Narrow phones — 320–430px */
@media (max-width:480px){
  :root{--vf-shell:calc(100% - 22px)}
  .vf-header-inner{gap:5px}
  .vf-brand{max-width:124px}
  .vf-brand-logo{max-width:120px;max-height:31px}
  .vf-brand-wordmark{font-size:.8rem}
  .vf-brand-wordmark span{font-size:.52rem}
  .vf-header-actions .vf-order-button{padding-inline:9px;font-size:.72rem;min-height:38px}
  .vf-menu-toggle{width:40px;height:40px}
  .vf-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}
  .vf-actions .vf-button{width:100%;min-width:0}
  .vf-hero-copy h1{font-size:clamp(2.35rem,12.6vw,3.05rem)}
  .vf-hero-media{grid-template-columns:minmax(0,1fr) minmax(88px,.5fr)}
  .vf-broth-grid{grid-template-columns:68px minmax(0,1fr);gap:14px}
  .vf-big-number{font-size:5.55rem}
  .vf-broth-section h2{font-size:1.8rem}
  .vf-category-card>span{font-size:1rem}
  .vf-menu-card{grid-template-columns:108px minmax(0,1fr)}
  .vf-menu-card-media{width:108px;min-height:108px}
  .vf-menu-card-media>img{min-height:108px}
  .vf-menu-card-body{padding:11px 12px;min-height:108px}
  .vf-menu-description{-webkit-line-clamp:2}
  .vf-location-actions{column-gap:12px}
  .vf-placeholder-inner{padding:12px!important}
  .vf-placeholder-inner strong{font-size:.86rem}
  .vf-placeholder-inner p{font-size:.7rem!important;line-height:1.3}
  .vf-placeholder-inner small{font-size:.61rem!important}
  .vf-placeholder-type{font-size:.57rem;padding:3px 6px}
  .vf-feature-card{min-height:205px;padding:20px}
  .vf-footer-grid{grid-template-columns:1fr 1fr}
}

@media (max-width:390px){
  :root{--vf-shell:calc(100% - 20px)}
  .vf-brand-wordmark span{display:none}
  .vf-header-actions .vf-order-button{font-size:.69rem;padding-inline:8px}
  .vf-actions{grid-template-columns:1fr}
  .vf-actions .vf-button{flex-basis:100%}
  .vf-quick-links a{font-size:.74rem}
  .vf-menu-card{grid-template-columns:100px minmax(0,1fr)}
  .vf-menu-card-media{width:100px;min-height:100px}
  .vf-menu-card-media>img{min-height:100px}
  .vf-menu-description{display:none}
  .vf-menu-card-body{min-height:100px;padding:10px 11px}
  .vf-menu-card h3{font-size:1rem}
  .vf-menu-card .vf-text-button{font-size:.72rem}
  .vf-category-card-grid{gap:8px}
  .vf-category-card>span{font-size:.94rem}
  .vf-category-card>small{font-size:.62rem}
  .vf-story-grid{gap:9px}
  .vf-social-grid{gap:8px}
  .vf-footer-grid{grid-template-columns:1fr;gap:24px}
  .vf-footer-grid>:first-child,.vf-footer-grid>:last-child{grid-column:auto}
  .vf-cookie-actions{display:grid;grid-template-columns:1fr}
  .vf-cookie-actions .vf-button{width:100%}
  body.vf-cookie-visible .vf-floating-whatsapp{bottom:calc(250px + env(safe-area-inset-bottom))}
}

@media (max-width:340px){
  .vf-brand{max-width:104px}
  .vf-header-actions .vf-order-button{padding-inline:7px}
  .vf-menu-card{grid-template-columns:92px minmax(0,1fr)}
  .vf-menu-card-media{width:92px;min-height:92px}
  .vf-menu-card-media>img{min-height:92px}
  .vf-menu-card .vf-eyebrow{display:none}
  .vf-broth-grid{grid-template-columns:1fr}
  .vf-big-number{font-size:5rem;margin-bottom:-5px}
}

/* Short landscape phones / small-height devices. */
@media (max-height:520px) and (max-width:900px){
  .vf-primary-nav{padding-top:10px}
  .vf-nav-list a{min-height:44px;font-size:1rem}
  .vf-mobile-nav-actions{margin-top:12px;grid-template-columns:1fr 1fr}
  .vf-mobile-nav-actions .vf-button{min-height:44px;font-size:.8rem}
  .vf-modal-panel{max-height:94dvh}
}

/* Touch devices should not visually jump on hover. */
@media (hover:none){
  .vf-button:hover,.vf-category-card:hover,.vf-feature-card:hover,.vf-menu-card:hover .vf-menu-card-media>img,.vf-floating-whatsapp:hover{transform:none}
}

/* Responsive safety for migrated WordPress/editorial content. */
.vf-prose img,.vf-prose video,.vf-prose iframe,.vf-single-article img,.vf-single-article video,.vf-single-article iframe{max-width:100%}
.vf-prose img,.vf-single-article img{height:auto}
.vf-prose iframe,.vf-single-article iframe{width:100%;border:0}
.vf-prose table,.vf-single-article table{display:block;width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border-collapse:collapse}
.vf-prose pre,.vf-single-article pre{max-width:100%;overflow:auto;padding:14px;border-radius:12px;background:var(--vf-cream)}
.vf-prose blockquote,.vf-single-article blockquote{margin:1.5em 0;padding:.25em 0 .25em 1.1em;border-left:3px solid var(--vf-orange);color:var(--vf-ink-2)}
.vf-prose .wp-caption,.vf-single-article .wp-caption{max-width:100%}
.vf-prose .alignwide,.vf-single-article .alignwide{max-width:100%}
.vf-prose .alignfull,.vf-single-article .alignfull{max-width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}
:focus-visible{outline:3px solid rgba(219,86,55,.35);outline-offset:3px}

@media(max-width:760px){
  .vf-prose iframe,.vf-single-article iframe{min-height:210px}
  .vf-prose ul,.vf-prose ol,.vf-single-article ul,.vf-single-article ol{padding-left:1.25rem}
  .vf-prose .wp-block-columns,.vf-single-article .wp-block-columns{flex-wrap:wrap!important}
  .vf-prose .wp-block-column,.vf-single-article .wp-block-column{flex-basis:100%!important}
}


/* ==========================================================
   v1.3 — Original-site audit integration + nearest branch
   Brand fonts recovered from Bouffe theme source:
   Frank Ruhl Libre (editorial/body) + Poppins (UI/navigation)
   ========================================================== */
button,input,textarea,select,
.vf-nav-list,.vf-button,.vf-text-button,.vf-eyebrow,.vf-badge,
.vf-footer-grid h2,.vf-meta-line,.vf-quick-links,.vf-location-actions,
.vf-placeholder-type,.vf-contact-option,.vf-menu-toggle,.vf-distance,
.vf-location-finder-status,.vf-nearest-result span,.vf-nearest-result small{
  font-family:var(--vf-ui);
}
.vf-brand-logo-audit{width:min(260px,19vw);height:auto;max-height:52px;object-fit:contain}
.vf-brand-logo-footer{width:min(260px,100%);height:auto;max-height:60px;object-fit:contain}
.vf-brand-footer{display:inline-flex;max-width:250px}
.vf-audit-media{margin:0;position:relative;overflow:hidden;border-radius:var(--vf-radius);background:var(--vf-cream);box-shadow:var(--vf-shadow)}
.vf-audit-media img{width:100%;height:100%;object-fit:cover}
.vf-audit-media-portrait{aspect-ratio:4/5}
.vf-about-audit-banner{aspect-ratio:4/5}
.vf-location-audit-gallery{aspect-ratio:4/5}
.vf-audit-media figcaption{position:absolute;left:10px;right:10px;bottom:10px;padding:7px 9px;border-radius:8px;background:rgba(24,53,46,.78);color:#fff;font-family:var(--vf-ui);font-size:.62rem;line-height:1.3}

/* Existing location thumbnails recovered from old WordPress are square. */
.vf-location-card{position:relative}
.vf-location-card-media>img{aspect-ratio:1/1;object-fit:cover}
.vf-location-primary-image{margin:0;overflow:hidden;border-radius:var(--vf-radius);background:var(--vf-cream);box-shadow:var(--vf-shadow);aspect-ratio:4/5}
.vf-location-primary-image img{width:100%;height:100%;object-fit:cover}
.vf-nearest-badge{position:absolute;z-index:4;top:12px;left:12px;background:var(--vf-orange);color:#fff;border-radius:999px;padding:7px 10px;font-family:var(--vf-ui);font-size:.65rem;font-weight:700;letter-spacing:.04em;box-shadow:0 8px 24px rgba(0,0,0,.15)}
.vf-location-card.is-nearest{border-color:var(--vf-orange);box-shadow:0 0 0 2px rgba(219,86,55,.15),var(--vf-shadow)}
.vf-distance{font-size:.76rem;font-weight:700;color:var(--vf-orange-dark);margin:.5rem 0 0}

/* Nearest-location module */
.vf-location-finder-section{padding-top:42px;padding-bottom:42px;background:var(--vf-cream)}
.vf-location-finder{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:clamp(28px,6vw,80px);align-items:center;padding:clamp(24px,4vw,46px);background:#fff;border:1px solid var(--vf-line);border-radius:var(--vf-radius);box-shadow:var(--vf-shadow)}
.vf-location-finder h2{font-size:clamp(2rem,4vw,3.6rem);margin-bottom:14px}
.vf-location-finder-copy>p:last-child{max-width:720px;color:var(--vf-ink-2)}
.vf-location-finder-action{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.vf-location-finder-status{font-size:.76rem;color:var(--vf-muted);margin:0}
.vf-nearest-result{width:100%;padding:16px;border-radius:14px;background:var(--vf-cream);border:1px solid var(--vf-line)}
.vf-nearest-result span{display:block;font-size:.64rem;letter-spacing:.11em;text-transform:uppercase;font-weight:700;color:var(--vf-orange);margin-bottom:3px}
.vf-nearest-result strong{display:block;font-family:var(--vf-display);font-size:1.5rem;line-height:1.15}
.vf-nearest-result small{display:block;color:var(--vf-muted);margin-top:3px}
.vf-nearest-actions{display:flex;gap:18px;flex-wrap:wrap;margin-top:11px}

/* Recovered award archive */
.vf-awards-timeline{border-top:1px solid var(--vf-line)}
.vf-award-row{display:grid;grid-template-columns:100px minmax(0,1fr);gap:24px;padding:28px 0;border-bottom:1px solid var(--vf-line)}
.vf-award-year{font-family:var(--vf-display);font-size:2rem;line-height:1;color:var(--vf-orange)}
.vf-award-row h3{font-size:1.4rem;margin-bottom:8px}
.vf-award-row p{margin-bottom:10px;color:var(--vf-ink-2)}
.vf-story-card-fallback .vf-text-button{margin-top:auto}

/* Brand audit notes should never dominate live presentation. */
.vf-audit-media figcaption{opacity:.9}

/* Responsive nearest location + brand media */
@media(max-width:1050px){
  .vf-brand-logo-audit{width:210px}
  .vf-location-finder{grid-template-columns:1fr;gap:22px}
  .vf-location-finder-action{max-width:520px}
}
@media(max-width:760px){
  .vf-brand-logo-audit{width:170px;max-height:42px}
  .vf-location-finder-section{padding:22px 0 34px}
  .vf-location-finder{padding:22px 18px;border-radius:18px}
  .vf-location-finder h2{font-size:2rem}
  .vf-location-finder .vf-button{width:100%}
  .vf-nearest-result{padding:14px}
  .vf-award-row{grid-template-columns:62px minmax(0,1fr);gap:14px;padding:21px 0}
  .vf-award-year{font-size:1.45rem}
  .vf-award-row h3{font-size:1.15rem}
  .vf-location-primary-image{aspect-ratio:1/1;width:100%}
  .vf-audit-media figcaption{font-size:.57rem}
}
@media(max-width:480px){
  .vf-brand-logo-audit{width:130px;max-height:34px}
  .vf-award-row{grid-template-columns:1fr;gap:5px}
  .vf-award-year{font-size:1.3rem}
}

/* ==========================================================
   v1.3.1 — equal-height card system / strict grid alignment
   Keeps desktop/tablet rows visually level while retaining
   natural-height, compact mobile cards below 760px.
   ========================================================== */

/* All reusable card grids stretch their children consistently. */
.vf-signature-grid,
.vf-menu-grid,
.vf-location-grid,
.vf-location-grid-large,
.vf-card-grid,
.vf-category-card-grid,
.vf-two-card-grid{
  align-items:stretch;
}

.vf-story-card,
.vf-news-card,
.vf-category-card,
.vf-feature-card{
  height:100%;
}

.vf-story-card{
  display:flex;
  flex-direction:column;
}
.vf-story-card>p:last-child{margin-bottom:0}
.vf-story-card .vf-text-button{margin-top:auto}

/* Desktop/tablet menu cards: fixed content zones keep all rows aligned. */
@media(min-width:761px){
  .vf-menu-grid>.vf-menu-card,
  .vf-signature-grid>.vf-menu-card{
    align-self:stretch;
    height:100%;
  }

  .vf-menu-card-body{
    display:grid;
    grid-template-rows:116px 104px 70px 42px;
    gap:12px;
    flex:1;
  }

  .vf-menu-card-heading{
    min-height:116px;
    max-height:116px;
    overflow:hidden;
  }

  .vf-menu-card-heading .vf-eyebrow{
    min-height:1.25em;
  }

  .vf-menu-card h3{
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:3;
    overflow:hidden;
  }

  .vf-menu-secondary{
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    overflow:hidden;
  }

  .vf-menu-description{
    height:104px;
    min-height:104px;
    max-height:104px;
    line-height:1.48;
    margin:0;
  }

  .vf-badges{
    margin-top:0;
    min-height:70px;
    max-height:70px;
    align-content:flex-start;
    overflow:hidden;
  }

  .vf-menu-card .vf-text-button{
    min-height:42px;
    align-self:start;
    display:inline-flex;
    align-items:center;
    margin:0;
  }

  /* Location cards: same media, copy and action geometry for every branch. */
  .vf-location-grid>.vf-location-card,
  .vf-location-grid-large>.vf-location-card{
    align-self:stretch;
    height:100%;
    display:flex;
    flex-direction:column;
  }

  .vf-location-card-media{
    flex:0 0 auto;
    aspect-ratio:1/1;
    overflow:hidden;
  }

  .vf-location-card-media>img,
  .vf-location-card-media>.vf-media-placeholder{
    width:100%;
    height:100%!important;
    min-height:0!important;
    aspect-ratio:1/1!important;
    object-fit:cover;
  }

  .vf-location-card-copy{
    flex:1 1 auto;
    display:flex;
    flex-direction:column;
    padding:20px 20px 14px;
  }

  .vf-location-card-copy .vf-eyebrow{
    min-height:1.25em;
  }

  .vf-location-card h3{
    min-height:3.18rem;
    margin-bottom:10px;
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    overflow:hidden;
  }

  .vf-location-area{
    min-height:3.25em;
    margin-bottom:12px;
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    overflow:hidden;
  }

  .vf-location-address{
    min-height:5.85em;
    max-height:5.85em;
    margin-bottom:14px;
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:4;
    overflow:hidden;
  }

  .vf-location-card .vf-meta-line{
    min-height:3.15em;
    margin-top:auto;
    margin-bottom:0;
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    overflow:hidden;
  }

  .vf-location-card .vf-distance:not([hidden]){
    min-height:1.5em;
    margin-top:8px;
    margin-bottom:0;
  }

  .vf-location-actions{
    flex:0 0 auto;
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    align-items:start;
    gap:8px 14px;
    min-height:86px;
    padding:16px 20px 18px;
    margin:0;
    border-top:1px solid var(--vf-line);
  }

  .vf-location-actions .vf-text-button{
    min-width:0;
    font-size:.78rem;
    line-height:1.35;
  }

  .vf-location-actions>a:last-child{
    grid-column:1/-1;
  }

  /* Category tiles and editorial cards line up within their rows. */
  .vf-category-card{
    align-self:stretch;
  }
  .vf-category-card>span{
    min-height:3.1rem;
    display:flex;
    align-items:flex-start;
  }
  .vf-category-card>small{
    margin-top:auto;
  }

  .vf-card-grid>.vf-story-card,
  .vf-news-grid>.vf-news-card{
    align-self:stretch;
  }
}

/* Mobile remains compact; equal-height constraints are intentionally removed. */
@media(max-width:760px){
  .vf-menu-card-body{
    display:flex;
    grid-template-rows:none;
  }
  .vf-menu-card-heading,
  .vf-menu-description,
  .vf-badges,
  .vf-location-card h3,
  .vf-location-area,
  .vf-location-address,
  .vf-location-card .vf-meta-line{
    min-height:0;
    max-height:none;
    height:auto;
  }
  .vf-location-actions{
    min-height:0;
  }
}

/* ==========================================================
   v1.3.2 — mobile menu experience
   Large food imagery, quick-view dish sheet, swipe browsing,
   full-screen image viewing and touch-first menu controls.
   ========================================================== */

/* Search control now has an integrated clear action. */
.vf-search-control{position:relative;margin-bottom:14px}
.vf-search-control input{width:100%;min-height:50px;border:1px solid var(--vf-line);background:#fff;border-radius:999px;padding:13px 52px 13px 18px;outline:none;font:inherit;color:var(--vf-ink)}
.vf-search-control input:focus{border-color:var(--vf-orange);box-shadow:0 0 0 3px rgba(219,86,55,.12)}
.vf-menu-clear{position:absolute;right:7px;top:50%;transform:translateY(-50%);width:36px;height:36px;border-radius:50%;border:0;background:rgba(24,53,46,.07);color:var(--vf-ink);font-size:1.25rem;line-height:1;cursor:pointer}
.vf-menu-clear:hover,.vf-menu-clear:focus-visible{background:var(--vf-ink);color:#fff}
.vf-menu-mobile-hint{display:none;margin:0 0 10px;color:var(--vf-muted);font-size:.76rem}

/* The whole dish image is now an interactive target without nesting content in a button. */
.vf-menu-card-media{position:relative}
.vf-menu-media-open{position:absolute;inset:0;z-index:3;border:0;background:transparent;padding:0;cursor:zoom-in}
.vf-menu-media-open:focus-visible{outline:3px solid rgba(219,86,55,.5);outline-offset:-4px}
.vf-menu-media-cue{position:absolute;right:10px;bottom:10px;display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.94);color:var(--vf-ink);border:1px solid rgba(24,53,46,.14);box-shadow:0 5px 16px rgba(24,53,46,.12);font-size:.68rem;font-weight:800;letter-spacing:.01em;opacity:0;transform:translateY(4px);transition:.18s ease}
.vf-menu-card-media:hover .vf-menu-media-cue,.vf-menu-media-open:focus-visible .vf-menu-media-cue{opacity:1;transform:none}

.vf-menu-card-actions{display:flex;align-items:center;gap:16px;min-width:0}
.vf-menu-card-actions .vf-text-button{margin:0;white-space:nowrap}
.vf-dish-open-button{color:var(--vf-orange-dark)}

@media(min-width:761px){
  .vf-menu-card-body{grid-template-rows:116px 104px 70px 42px}
  .vf-menu-card-actions{min-height:42px;align-self:start}
  .vf-menu-card-actions .vf-text-button{min-height:42px;display:inline-flex;align-items:center}
}

/* Dish quick-view modal. */
.vf-dish-panel{width:min(940px,calc(100% - 36px));padding:0;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);background:var(--vf-paper)}
.vf-sheet-handle{display:none}
.vf-dish-media{position:relative;min-height:520px;background:#f3eee4;display:flex;align-items:center;justify-content:center;overflow:hidden}
.vf-dish-media>img{width:100%;height:100%;position:absolute;inset:0;object-fit:contain;padding:18px}
.vf-dish-image-missing{display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-height:420px;padding:30px;text-align:center;color:var(--vf-muted);font-weight:700}
.vf-dish-zoom{position:absolute;right:14px;bottom:14px;z-index:2;border:1px solid rgba(24,53,46,.14);background:rgba(255,255,255,.94);color:var(--vf-ink);border-radius:999px;padding:9px 13px;font-weight:800;cursor:pointer;box-shadow:0 5px 20px rgba(24,53,46,.12)}
.vf-dish-copy{min-width:0;padding:42px 34px 30px;overflow:auto;overscroll-behavior:contain}
.vf-dish-copy h2{font-size:clamp(2rem,4vw,3.25rem);line-height:.98;margin:7px 44px 6px 0}
.vf-dish-secondary{margin:0 0 18px;color:var(--vf-orange-dark);font-weight:700}
.vf-dish-description{font-size:1rem;line-height:1.62;color:var(--vf-ink-2);margin:0 0 20px}
.vf-dish-badges{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 24px}
.vf-dish-actions{display:flex;flex-wrap:wrap;gap:9px;margin:0 0 28px}
.vf-dish-browser{border-top:1px solid var(--vf-line);padding-top:18px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px}
.vf-dish-browser button{appearance:none;border:0;background:transparent;color:var(--vf-ink);padding:10px 0;font-weight:800;cursor:pointer;min-height:44px}
.vf-dish-browser button:first-child{text-align:left}.vf-dish-browser button:last-child{text-align:right}
.vf-dish-browser button:disabled{opacity:.35;cursor:default}
.vf-dish-browser>span{font-size:.75rem;color:var(--vf-muted);font-weight:700;white-space:nowrap}
.vf-dish-swipe-hint{display:none;margin:5px 0 0;text-align:center;font-size:.7rem;color:var(--vf-muted)}

/* Full-screen food image viewer. */
.vf-image-viewer[hidden]{display:none!important}
.vf-image-viewer{position:fixed;inset:0;z-index:2500;background:rgba(8,16,14,.97);display:flex;align-items:center;justify-content:center;padding:max(20px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))}
.vf-image-viewer img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}
.vf-image-viewer-close{position:absolute;z-index:2;right:max(16px,env(safe-area-inset-right));top:max(16px,env(safe-area-inset-top));width:46px;height:46px;border-radius:50%;border:1px solid rgba(255,255,255,.3);background:rgba(255,255,255,.12);color:#fff;font-size:1.7rem;cursor:pointer}
body.vf-image-viewer-open{overflow:hidden}

/* Mobile menu is deliberately image-first rather than a compressed desktop list. */
@media(max-width:760px){
  .vf-menu-page>.vf-shell{width:min(100% - 22px,560px)}
  .vf-menu-tools{margin:0 -11px 16px;padding:11px 11px 10px}
  .vf-search-label{margin-bottom:6px}
  .vf-search-control{margin-bottom:10px}
  .vf-search-control input{min-height:48px;font-size:16px;padding-left:16px}
  .vf-menu-mobile-hint{display:block}
  .vf-category-chips{gap:7px;padding:0 0 5px;scroll-snap-type:x proximity;scrollbar-width:none}
  .vf-category-chips::-webkit-scrollbar{display:none}
  .vf-category-chips button{scroll-snap-align:center;min-height:38px;padding:8px 13px}
  .vf-menu-status{margin:0 0 10px;font-size:.75rem}

  .vf-menu-grid{grid-template-columns:1fr;gap:20px}
  .vf-menu-card{display:flex;flex-direction:column;grid-template-columns:none!important;width:100%;border-radius:22px;overflow:hidden;box-shadow:0 7px 24px rgba(24,53,46,.07);background:#fff}
  .vf-menu-card-media{width:100%!important;height:auto!important;min-height:0!important;aspect-ratio:4/3!important;background:#f3eee4}
  .vf-menu-card-media>img{position:absolute;inset:0;width:100%!important;height:100%!important;min-height:0!important;object-fit:contain!important;object-position:center;padding:0!important;background:#f3eee4}
  .vf-menu-card-media .vf-media-placeholder{position:absolute;inset:0;width:100%;height:100%!important;min-height:0!important;aspect-ratio:auto!important}
  .vf-menu-media-cue{opacity:1;transform:none;right:11px;bottom:11px;padding:8px 11px;font-size:.7rem}
  .vf-menu-card-body{display:flex!important;flex-direction:column;padding:16px 17px 17px!important;gap:8px;min-height:0!important}
  .vf-menu-card-heading{min-height:0!important;max-height:none!important;overflow:visible}
  .vf-menu-card .vf-eyebrow{display:block!important;font-size:.61rem!important;margin-bottom:5px}
  .vf-menu-card h3{font-size:1.35rem!important;line-height:1.08;margin:0;-webkit-line-clamp:2}
  .vf-menu-secondary{display:-webkit-box!important;font-size:.82rem!important;line-height:1.3;margin-top:5px;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .vf-menu-description{display:-webkit-box!important;font-size:.86rem!important;line-height:1.48!important;-webkit-line-clamp:3!important;-webkit-box-orient:vertical;overflow:hidden;margin:2px 0 0!important}
  .vf-menu-card .vf-badges{display:flex!important;gap:6px;min-height:0!important;max-height:58px!important;margin-top:3px!important;overflow:hidden;align-content:flex-start}
  .vf-menu-card .vf-badge{font-size:.66rem;padding:5px 8px}
  .vf-menu-card-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:5px}
  .vf-menu-card-actions .vf-text-button{display:flex!important;align-items:center;justify-content:center;min-height:44px!important;width:100%;border:1px solid var(--vf-line);border-radius:999px;padding:9px 10px;font-size:.75rem!important;background:#fff}
  .vf-menu-card-actions .vf-dish-open-button{background:var(--vf-ink);border-color:var(--vf-ink);color:#fff}

  /* Mobile dish details are a visual bottom sheet with the food image first. */
  .vf-dish-modal{align-items:flex-end}
  .vf-dish-panel{display:block;width:100%;max-height:94dvh;border-radius:24px 24px 0 0;overflow:auto;padding:0 0 calc(14px + env(safe-area-inset-bottom));background:var(--vf-paper)}
  .vf-sheet-handle{display:block;position:sticky;top:0;z-index:6;width:42px;height:5px;border-radius:999px;background:rgba(24,53,46,.25);margin:8px auto -13px}
  .vf-dish-panel>.vf-modal-close{position:sticky;float:right;top:12px;margin:12px 12px -52px 0;z-index:8;background:rgba(255,255,255,.94);box-shadow:0 4px 14px rgba(24,53,46,.12)}
  .vf-dish-media{min-height:0;height:auto;aspect-ratio:4/3;width:100%;background:#f3eee4}
  .vf-dish-media>img{position:absolute;inset:0;width:100%;height:100%;padding:0;object-fit:contain}
  .vf-dish-image-missing{min-height:280px}
  .vf-dish-zoom{right:12px;bottom:12px;min-height:40px}
  .vf-dish-copy{padding:19px 17px 8px;overflow:visible}
  .vf-dish-copy h2{font-size:2rem;line-height:1.02;margin:5px 42px 4px 0;padding:0}
  .vf-dish-secondary{font-size:.88rem;margin-bottom:13px}
  .vf-dish-description{font-size:.9rem;line-height:1.55;margin-bottom:15px}
  .vf-dish-badges{margin-bottom:17px}
  .vf-dish-actions{display:grid;grid-template-columns:1fr 1fr;margin-bottom:19px}
  .vf-dish-actions .vf-button{width:100%;min-height:45px;padding-inline:12px}
  .vf-dish-browser{position:sticky;bottom:0;background:rgba(255,253,248,.96);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);margin:0 -17px;padding:11px 17px calc(5px + env(safe-area-inset-bottom));border-top:1px solid var(--vf-line)}
  .vf-dish-browser button{min-height:46px}
  .vf-dish-swipe-hint{display:block}
}

@media(max-width:420px){
  .vf-menu-card-media{aspect-ratio:1/1!important}
  .vf-menu-card h3{font-size:1.28rem!important}
  .vf-menu-description{-webkit-line-clamp:2!important}
  .vf-dish-media{aspect-ratio:1/1}
  .vf-dish-copy h2{font-size:1.82rem}
  .vf-dish-browser button span{display:none}
}
