/* Ivan's Meat and Deli. Porcelain ground, oxblood fields, mustard from the logo ribbon.
   The world: Maria's supper platter meets Ivan's red-trimmed meat counter. */
:root{
  --porcelain:#FAF6EC; --white:#FFFFFF; --putty:#DDD3C5; --ox:#752B34; --ox-dark:#5E2129; --ox-deep:#482027;
  --mustard:#E4B94D; --mustard-soft:#FBF1D4; --charcoal:#292421; --ink-soft:#5B5049; --foot-ink:#F4E9DD;
  --display:"Bree Serif",Georgia,serif; --text:"Source Sans 3","Segoe UI",system-ui,sans-serif;
  --frame:1200px; --gutter:clamp(16px,4vw,40px); --ease:cubic-bezier(.16,1,.3,1);
  --band:clamp(56px,3.2vw + 40px,104px);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:96px;scrollbar-color:var(--ox) var(--porcelain);accent-color:var(--ox)}
@media (min-width:1024px){html{scroll-padding-top:136px}}
body{margin:0;background:var(--porcelain);color:var(--charcoal);font:400 18px/1.6 var(--text);caret-color:var(--ox);-webkit-font-smoothing:antialiased}
::selection{background:var(--mustard);color:var(--charcoal)}
img{max-width:100%;height:auto;display:block}
a{color:var(--ox);text-decoration-thickness:1px;text-underline-offset:3px}
:focus-visible{outline:3px solid var(--ox);outline-offset:3px;border-radius:3px}
.on-dark :focus-visible,.band-ox :focus-visible,.site-footer :focus-visible{outline-color:var(--mustard)}
h1,h2,h3,h4{font-family:var(--display);font-weight:400;color:var(--ox);margin:0;text-wrap:balance;letter-spacing:-.005em}
h1{font-size:clamp(2.5rem,1.6rem + 3.6vw,5.125rem);line-height:1.02;letter-spacing:-.015em}
h2{font-size:clamp(2rem,1.45rem + 1.9vw,3.25rem);line-height:1.08}
h3{font-size:clamp(1.375rem,1.2rem + .6vw,1.75rem);line-height:1.2}
p{margin:0 0 1em}
p:last-child{margin-bottom:0}
ul{margin:0}
.small{font-size:16px}
.muted{color:var(--ink-soft)}
.tabular,.amt,.price{font-variant-numeric:tabular-nums lining-nums}
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
.skip{position:absolute;left:12px;top:-60px;z-index:100;background:var(--ox);color:#fff;padding:12px 18px;border-radius:6px;font-weight:700;text-decoration:none}
.skip:focus{top:12px}

/* one page frame: every band holds its content in this */
.wrap{width:100%;max-width:calc(var(--frame) + 2 * var(--gutter));margin-inline:auto;padding-inline:var(--gutter)}
.band{padding-block:var(--band)}
.band-white{background:var(--white)}
.band-ox{background:var(--ox);color:#fff}
.band-ox h2,.band-ox h3{color:#fff}
.band-ox a:not(.btn){color:var(--mustard)}

/* the counter's cut edge: an oxblood band over a fine mustard rule */
.counter-edge{height:5px;background:linear-gradient(var(--ox) 0 4px,var(--mustard) 4px 5px)}
.edge-top{position:relative;padding-top:18px}
.edge-top::before{content:"";position:absolute;left:0;right:0;top:0;height:5px;background:linear-gradient(var(--ox) 0 4px,var(--mustard) 4px 5px)}

/* buttons and links */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 22px;border-radius:6px;border:2px solid transparent;font:700 17px/1 var(--text);text-decoration:none;white-space:nowrap;cursor:pointer;transition:background-color .15s,color .15s,border-color .15s}
.btn svg{width:18px;height:18px;flex:none}
.btn,.menu-btn,.m-call,.choice,.tlink{-webkit-tap-highlight-color:transparent}
.btn-primary{background:var(--ox);color:#fff}
.btn-primary:hover{background:var(--ox-dark)}
.btn-secondary{background:transparent;color:var(--ox);border-color:var(--ox)}
.btn-secondary:hover{background:var(--ox);color:#fff}
.btn-mustard{background:var(--mustard);color:var(--charcoal)}
.btn-mustard:hover{background:#EDC864}
.btn-light{background:transparent;color:#fff;border-color:rgba(255,255,255,.75)}
.btn-light:hover{background:#fff;color:var(--ox)}
@media (hover:none){.btn-primary:hover{background:var(--ox)}.btn-secondary:hover{background:transparent;color:var(--ox)}.btn-mustard:hover{background:var(--mustard)}.btn-light:hover{background:transparent;color:#fff}}
.actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.tlink{display:inline-flex;align-items:center;gap:8px;min-height:44px;color:var(--ox);font-weight:700;text-decoration:none;
  background:linear-gradient(var(--mustard),var(--mustard)) 0 calc(100% - 8px)/0 2px no-repeat,linear-gradient(currentColor,currentColor) 0 calc(100% - 8px)/100% 1px no-repeat;transition:background-size .16s ease-out}
.tlink:hover,.tlink:focus-visible{background-size:100% 2px,100% 1px}
.tlink svg{width:16px;height:16px;flex:none}
.band-ox .tlink,.site-footer .tlink{color:var(--mustard)}
.plink{display:inline-block;padding-block:10px;color:var(--ox);font-weight:700;text-decoration:underline;text-decoration-color:var(--mustard);text-decoration-thickness:2px;text-underline-offset:4px}
.plink:hover{text-decoration-color:var(--ox)}

/* ---------- header ---------- */
.site-header{position:sticky;top:0;z-index:50;background:var(--porcelain);--brand-h:52px;transition:box-shadow .2s}
.site-header.is-scrolled{box-shadow:0 8px 20px rgba(41,36,33,.12)}
.head-grid{display:flex;align-items:center;gap:12px;padding-block:8px;transition:padding .2s}
html:not(.js) .head-grid{flex-wrap:wrap}
@media (max-width:379px){.site-header{--brand-h:46px}}
.head-row{display:flex;align-items:center;gap:12px}
.brand{display:inline-flex;flex:none;margin-right:auto}
.brand img{height:var(--brand-h);width:auto;transition:height .2s}
.head-facts,.head-phone,.head-cta{display:none}
.m-call{min-height:44px;padding:0 16px}
.menu-btn{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 14px;border:2px solid var(--ox);border-radius:6px;background:transparent;color:var(--ox);font:700 17px/1 var(--text);cursor:pointer}
.menu-btn svg{width:18px;height:18px}
.menu-btn[aria-expanded="true"]{background:var(--ox);color:#fff}
.site-nav ul{list-style:none;margin:0;padding:0}
.site-nav a{color:var(--charcoal);font-weight:600;text-decoration:none;white-space:nowrap}
@media (max-width:1023px){
  html.js .site-nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--porcelain);box-shadow:0 18px 28px rgba(41,36,33,.16);max-height:calc(100vh - 78px);overflow:auto}
  html.js .site-nav.is-open{display:block}
  .site-nav ul{max-width:calc(var(--frame) + 2 * var(--gutter));margin-inline:auto;padding:0 var(--gutter) 12px}
  html:not(.js) .site-nav{flex-basis:100%}
  html:not(.js) .site-nav ul{padding:0}
  .site-nav li{border-bottom:1px solid var(--putty)}
  .site-nav a{display:flex;align-items:center;min-height:52px;font-size:19px}
  .site-nav a[aria-current="page"]{color:var(--ox);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:6px}
  html:not(.js) .site-header{position:relative}
  html:not(.js) .menu-btn{display:none}
}
@media (max-width:419px){.m-call span{display:none}}
@media (min-width:1024px){
  .site-header{--brand-h:100px}
  .site-header.is-scrolled{--brand-h:84px}
  .head-grid{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:clamp(28px,3vw,48px);row-gap:0;padding-block:7px}
  .site-header.is-scrolled .head-grid{padding-block:3px}
  .brand{grid-row:1 / 3;margin:0}
  .head-row{justify-content:flex-end;gap:28px;min-height:54px;border-bottom:1px solid var(--putty);transition:min-height .2s}
  .site-header.is-scrolled .head-row{min-height:46px}
  .site-nav{grid-column:2}
  .head-facts{display:flex;gap:22px;list-style:none;margin:0;padding:0;font-size:16px;color:var(--ink-soft)}
  .head-facts li{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}
  .head-facts svg{width:16px;height:16px;color:var(--ox)}
  .head-phone{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-weight:700;font-size:18px;color:var(--charcoal);text-decoration:none;white-space:nowrap}
  .head-phone svg{width:18px;height:18px;color:var(--ox)}
  .head-phone:hover{color:var(--ox)}
  .head-cta{display:inline-flex;min-height:44px}
  .m-call,.menu-btn{display:none}
  .site-nav ul{display:flex;justify-content:space-between;gap:8px}
  .site-nav a{position:relative;display:flex;align-items:center;min-height:44px;padding:0 2px;font-size:16.5px}
  .site-nav a::after{content:"";position:absolute;left:2px;right:2px;bottom:7px;height:2px;background:var(--mustard);transform:scaleX(0);transform-origin:left;transition:transform .16s ease-out}
  .site-nav a:hover::after,.site-nav a:focus-visible::after{transform:scaleX(1)}
  .site-nav a[aria-current="page"]{color:var(--ox)}
  .site-nav a[aria-current="page"]::after{background:var(--ox);height:3px;transform:scaleX(1)}
}
@media (min-width:1024px) and (max-width:1099px){.head-facts .head-hours{display:none}}

/* ---------- home: first screen ---------- */
.hero{padding-top:clamp(28px,3.4vw,56px)}
.hero-grid{padding-bottom:clamp(30px,3vw,48px)}
.hero h1{font-size:clamp(2.5rem,.6rem + 4.6vw,4.5rem)}
.hero-grid{display:grid;gap:44px;align-items:center}
.hero h1 .pun{text-decoration:underline;text-decoration-color:var(--mustard);text-decoration-thickness:.13em;text-underline-offset:.1em;text-decoration-skip-ink:none}
.nw{white-space:nowrap}
.descriptor{text-wrap:balance;margin:22px 0 10px;font-weight:700;font-size:19px;line-height:1.35;color:var(--charcoal)}
.lead{font-size:20px;line-height:1.5;max-width:34em}
.hero .actions{margin-top:28px}
.hero-call{margin-top:6px}
@media (max-width:599px){.hero .actions .btn{flex:1 1 100%}}
.practical{margin-top:26px;font-size:17px;line-height:1.5;max-width:34em}
.practical p{margin:0}
.practical strong{font-weight:700}
@media (min-width:1024px){.hero-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:40px}}

/* the Sunday platter: a white well inside two fine oxblood rims */
.platter{margin:0 auto;width:100%;max-width:660px}
.plate{position:relative;aspect-ratio:3/2}
.plate svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;filter:drop-shadow(0 18px 22px rgba(72,32,39,.13))}
.plate .rim-band{fill:var(--porcelain)}
.plate .well{fill:#fff}
.plate .rim{fill:none;stroke:var(--ox);stroke-width:2.4}
.plate .rim-in{stroke-width:1.4}
.plate-photo{position:absolute;left:50%;top:50%;width:84%;transform:translate(-50%,-50%);border-radius:27% / 32%;box-shadow:0 8px 16px rgba(41,36,33,.2)}
.plate-cap{position:relative;z-index:1;margin:-7% auto 0;width:min(86%,340px);padding:12px 16px;background:var(--porcelain);border:1px solid var(--ox);text-align:center}
.plate-cap b{display:block;font:400 21px/1.2 var(--display);color:var(--ox)}
.plate-cap span{display:block;margin-top:3px;font-size:16px;font-weight:600}
.cad-note{margin-top:8px;font-size:16px;color:var(--ink-soft)}
/* the counter's cut edge, full width: food above, the prices on the counter below */
.counter-band{position:relative;background:var(--ox);color:#fff;border-top:4px solid var(--ox);padding-block:clamp(24px,2.2vw,36px)}
.counter-band::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:var(--mustard)}
.counter-row{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:12px 40px}
.counter-prices{display:flex;flex-wrap:wrap;gap:10px 56px;list-style:none;margin:0;padding:0}
.counter-prices li{display:flex;align-items:baseline;gap:14px}
.counter-prices .amt{font:700 clamp(2.75rem,2rem + 2.4vw,4.25rem)/1 var(--text);color:var(--mustard)}
.counter-prices .what{font:400 clamp(1.25rem,1.1rem + .5vw,1.625rem)/1.2 var(--display);color:#fff}
.counter-band .cad{margin:0;font-size:16px;color:rgba(255,255,255,.86)}
@media (max-width:599px){.counter-prices{flex-direction:column}.counter-prices li{gap:12px}}

/* ---------- reviews band ---------- */
.reviews-grid{display:grid;gap:40px}
.rating{display:flex;align-items:center;gap:16px;margin:26px 0 6px}
.rating-num{font:400 68px/1 var(--display);color:var(--mustard)}
.rating-words{font-weight:600;font-size:18px;line-height:1.35}
.stars{display:flex;gap:3px;margin-bottom:4px;color:var(--mustard)}
.stars svg{width:18px;height:18px}
.quote-big{margin:0}
.quote-big p{font:400 clamp(1.75rem,1.15rem + 2vw,3rem)/1.16 var(--display);color:#fff;text-wrap:balance;margin:0}
.quote-big footer,.quote-small footer{margin-top:16px;font-weight:700;color:var(--mustard)}
.quote-small{margin:34px 0 0;padding-top:26px;border-top:1px solid rgba(228,185,77,.55)}
.quote-small p{font-size:20px;line-height:1.5;margin:0}
.reviews-light .rating-num{color:var(--ox)}
.reviews-light .quote-big p{color:var(--ox)}
.reviews-light .quote-big footer,.reviews-light .quote-small footer{color:var(--charcoal)}
.reviews-light .quote-small{border-top-color:var(--putty)}
@media (min-width:900px){.reviews-grid{grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:72px;align-items:start}}

/* ---------- section heads ---------- */
.sec-head{display:grid;gap:14px;margin-bottom:clamp(28px,3vw,52px)}
.sec-head p{max-width:40em;font-size:19px}
@media (min-width:900px){.sec-head.split{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:end}}

/* ---------- the counter: four linked areas in two broad rows ---------- */
.paths-row{display:grid;gap:40px}
.paths-row + .paths-row{margin-top:48px;padding-top:48px;border-top:1px solid var(--putty)}
.path{position:relative;display:grid;gap:16px;align-content:start}
.path img{width:100%;height:auto;aspect-ratio:var(--ar,4/3);object-fit:cover;border-radius:4px}
.path h3{margin-top:4px}
.path p{margin:0;max-width:34em}
.path .tlink::after{content:"";position:absolute;inset:0}
.path:hover .tlink{background-size:100% 2px,100% 1px}
@media (min-width:900px){
  .paths-row{column-gap:72px}
  .row-a{grid-template-columns:7fr 5fr}
  .row-b{grid-template-columns:5fr 7fr}
  .path + .path::before{content:"";position:absolute;left:-36px;top:0;bottom:0;width:1px;background:var(--putty)}
}

/* ---------- menus and prices ---------- */
.menu{list-style:none;padding:0;margin:0}
.menu li{display:grid;grid-template-columns:1fr auto;gap:4px 20px;padding:16px 0;border-bottom:1px solid var(--putty)}
.menu .name{font:400 23px/1.25 var(--display);color:var(--ox)}
.menu .price{font-weight:700;font-size:22px;align-self:start}
.menu .desc{grid-column:1/-1;font-size:17px;color:var(--ink-soft);max-width:38em}
.lunch-grid{display:grid;gap:40px}
.lunch-grid figure{margin:0}
.lunch-grid figure img{width:100%;border-radius:4px 4px 0 0}
@media (min-width:900px){.lunch-grid{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:72px;align-items:start}}
.window{display:inline-flex;align-items:center;gap:12px;margin:0;padding:12px 18px;background:var(--mustard);color:var(--charcoal);border-radius:6px;font-weight:700;font-size:19px}
.window svg{width:20px;height:20px}

/* ---------- meat-pack invitation (oxblood) ---------- */
.pack-examples{display:grid;list-style:none;padding:0;margin:36px 0}
.pack-examples li{padding:20px 0;border-top:1px solid rgba(228,185,77,.5)}
.pack-examples .name{display:block;font:400 25px/1.2 var(--display);color:#fff}
.pack-examples .amt{font:700 34px/1.2 var(--text);color:var(--mustard)}
.pack-examples .reg{font-size:18px;color:#F6E9EA}
@media (min-width:768px){
  .pack-examples{grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(228,185,77,.5);border-bottom:1px solid rgba(228,185,77,.5)}
  .pack-examples li{border-top:0;padding:24px 28px}
  .pack-examples li:first-child{padding-left:0}
  .pack-examples li + li{border-left:1px solid rgba(228,185,77,.5)}
}

/* ---------- Maria's Ready Food ---------- */
.maria-grid{display:grid;gap:48px;align-items:center}
@media (min-width:900px){.maria-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:80px}}
.from-to{display:flex;align-items:center;gap:20px;margin:26px 0;font:400 clamp(1.5rem,1.2rem + 1vw,2.125rem)/1.15 var(--display);color:var(--ox)}
.from-to{flex-wrap:wrap;row-gap:8px}
.from-to span:not(.join){white-space:nowrap}
.split .from-to{font-size:clamp(1.375rem,1.1rem + .8vw,1.75rem);gap:16px}
.split .from-to .join{flex-basis:52px}
.from-to .join{flex:0 0 76px;height:2px;background:var(--ox);transform-origin:left}
@media (max-width:599px){.from-to{flex-direction:column;align-items:flex-start;gap:10px}.from-to .join{flex:0 0 36px;width:2px;height:36px;margin-left:14px;transform-origin:top}}
.chips{display:flex;flex-wrap:wrap;gap:10px;list-style:none;padding:0;margin:0 0 28px}
.chips li{display:inline-flex;align-items:center;min-height:42px;padding:0 16px;background:#fff;border:1px solid var(--putty);border-radius:999px;font-weight:600;font-size:17px}
.rimmed{position:relative;margin:0;padding:22px 0 0 22px}
.rimmed::before,.rimmed::after{content:"";position:absolute;pointer-events:none;border-style:solid;border-color:var(--ox);border-width:0}
.rimmed::before{left:10px;top:10px;width:52%;height:80%;border-top-width:2px;border-left-width:2px;border-top-left-radius:150px 110px}
.rimmed::after{left:0;top:0;width:56%;height:86%;border-top-width:1.4px;border-left-width:1.4px;border-top-left-radius:170px 126px}
.rimmed img{position:relative;z-index:1;border-radius:4px;box-shadow:0 10px 22px rgba(41,36,33,.16)}
@media (max-width:599px){.rimmed{padding:14px 0 0 14px}.rimmed::before{left:6px;top:6px}.rimmed::after{left:0;top:0}}

.maria-photo,.maria-foot{max-width:1125px}
.maria-photo{margin-top:8px}
@media (max-width:599px){.maria-photo img{aspect-ratio:2/1;height:auto;object-fit:cover}}
.maria-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px 32px;margin-top:36px}
.maria-foot .chips{margin:0}
.chips a{color:inherit;text-decoration:none}
.chips li:has(a){border-color:var(--ox)}
.chips li:has(a:hover){background:var(--mustard-soft)}
.chips a{display:inline-flex;align-items:center;min-height:44px}
.chips li:has(a){min-height:44px}

/* ---------- family story and dates ---------- */
.family-grid{display:grid;gap:44px}
@media (min-width:900px){.family-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:80px;align-items:center}}
.dates{list-style:none;padding:0;margin:0;display:grid}
.dates li{display:grid;grid-template-columns:auto 1fr;gap:6px 24px;align-items:baseline;padding:20px 0;border-top:1px solid var(--putty)}
.dates li:last-child{border-bottom:1px solid var(--putty)}
.dates .yr{font:400 clamp(3rem,2.2rem + 2.4vw,4.5rem)/1 var(--display);color:var(--ox)}
.dates .what{font-weight:600;font-size:19px;line-height:1.4}

/* ---------- questions ---------- */
.faq-grid{display:grid;gap:36px}
@media (min-width:900px){.faq-grid{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:72px;align-items:start}}
.faq details{border-bottom:1px solid var(--putty)}
.faq details:first-child{border-top:1px solid var(--putty)}
.faq summary{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:60px;padding:10px 0;font-weight:700;font-size:19px;cursor:pointer;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";flex:none;width:14px;height:14px;background:linear-gradient(var(--ox),var(--ox)) center/14px 2px no-repeat,linear-gradient(var(--ox),var(--ox)) center/2px 14px no-repeat;transition:transform .2s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{padding:0 0 20px;margin:0;max-width:40em}

/* ---------- visit / addresses / hours ---------- */
.visit-grid{display:grid;gap:40px}
@media (min-width:900px){.visit-grid{grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:64px;align-items:center}}
.visit-grid figure{margin:0}
.visit-grid figure img{border-radius:4px}
.facts{list-style:none;padding:0;margin:0 0 26px}
.facts li{display:flex;gap:12px;align-items:flex-start;padding:10px 0;border-bottom:1px solid var(--putty);font-size:18px}
.facts li:first-child{border-top:1px solid var(--putty)}
.facts svg{width:20px;height:20px;flex:none;margin-top:3px;color:var(--ox)}
.hours{border-collapse:collapse;width:100%;max-width:520px;font-size:18px}
.hours th,.hours td{padding:12px 0;border-bottom:1px solid var(--putty);text-align:left;font-weight:400}
.hours th{font-weight:600}
.hours td{text-align:right;font-variant-numeric:tabular-nums}
.hours tr.closed td{color:var(--ink-soft)}

/* ---------- inner pages ---------- */
.page-hero{padding-block:clamp(32px,3.6vw,72px) clamp(32px,3vw,56px)}
.page-hero h1{font-size:clamp(2.5rem,1.75rem + 2.5vw,4.25rem)}
.page-hero-grid{display:grid;gap:22px}
.page-hero .intro{font-size:20px;line-height:1.5;margin:0}
.page-hero .actions{margin-top:22px}
@media (min-width:900px){.page-hero-grid{grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:64px;align-items:end}}
.wide-photo{margin:0}
.wide-photo img{width:100%;border-radius:4px}
.credit{margin-top:8px;font-size:14px;color:var(--ink-soft)}
.split{display:grid;gap:36px}
@media (min-width:900px){.split-2{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:72px;align-items:start}.split-wide{grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:64px;align-items:center}.split-narrow{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:64px;align-items:center}}
.block{display:grid;gap:12px;align-content:start}
.block p{margin:0;max-width:36em}
.trio{display:grid;gap:0}
.trio > div{padding:22px 0;border-top:1px solid var(--putty)}
@media (min-width:900px){.trio{grid-template-columns:repeat(3,1fr);border-top:1px solid var(--putty)}.trio > div{border-top:0;padding:26px 28px}.trio > div:first-child{padding-left:0}.trio > div + div{border-left:1px solid var(--putty)}}
.trio h3{margin-bottom:8px}
@media (min-width:900px){.trio.duo{grid-template-columns:repeat(2,1fr)}}
.shadowed img{box-shadow:0 12px 26px rgba(41,36,33,.18)}
.wide-photo.shadowed{max-width:611px}
.quote-band .review{max-width:46em}
.quote-band .review p{font-size:clamp(1.5rem,1.15rem + 1.3vw,2.25rem);line-height:1.25}
.quote-band .review footer{color:var(--charcoal)}
.quote-band .review footer::before{content:"";display:inline-block;width:28px;height:2px;margin:0 12px 5px 0;background:var(--mustard);vertical-align:middle}
@media (min-width:900px){.lunch-grid > .block{position:sticky;top:150px}.visit-top{align-items:start}}
.trio p{margin:0}
.list{list-style:none;padding:0;margin:0}
.list li{position:relative;padding:7px 0 7px 22px;break-inside:avoid}
.list li::before{content:"";position:absolute;left:0;top:19px;width:10px;height:2px;background:var(--ox)}
.cols-2{columns:2;column-gap:36px}
@media (max-width:420px){.cols-2{columns:1}}
.groups{display:grid;gap:36px}
.groups h3{margin-bottom:10px}
@media (min-width:900px){.groups-ready{grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:56px}.groups-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:56px}}
.stack{display:grid;gap:36px;align-content:start}
.callout{display:grid;gap:14px;padding:clamp(24px,3vw,40px);background:#fff;border:1px solid var(--putty);border-radius:8px}
.callout h2,.callout h3{margin:0}
.pantry-row{margin-top:clamp(44px,4vw,64px);display:grid;gap:6px 40px;align-items:baseline}
.pantry-row.edge-top{padding-top:26px}
.pantry-row h2{font-size:clamp(1.625rem,1.3rem + 1vw,2.125rem)}
.pantry-row .lead{margin:0}
@media (min-width:900px){.pantry-row{grid-template-columns:auto minmax(0,1fr)}}
.tagline.edge-top{margin-top:24px;padding-top:24px}
.tagline{font:400 clamp(1.75rem,1.3rem + 1.6vw,2.75rem)/1.15 var(--display);color:var(--ox);text-wrap:balance;margin:0}
.owner-lockup{display:grid;grid-template-columns:repeat(2,auto);justify-content:start;gap:14px 48px;padding:26px 0 8px}
@media (max-width:519px){.owner-lockup{grid-template-columns:1fr}}
.owner-lockup p{margin:0;display:grid;gap:2px}
.owner-lockup .nm{font:400 clamp(1.625rem,1.3rem + 1vw,2.125rem)/1.15 var(--display);color:var(--ox);white-space:nowrap}
.owner-lockup .rl{font-weight:600;font-size:17px;color:var(--ink-soft)}
.review{margin:0;max-width:44em}
.review.long{max-width:60ch}
.review.long p,.quote-band .review.long p{font-size:clamp(1.25rem,1.1rem + .5vw,1.5rem);line-height:1.45}
.review p{font:400 clamp(1.375rem,1.1rem + 1vw,1.875rem)/1.3 var(--display);color:var(--ox);margin:0}
.review footer{margin-top:14px;font-weight:700}
.band-ox .review p{color:#fff}
.band-ox .review footer{color:var(--mustard)}
.copy-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.status{font-weight:600;font-size:16px;min-height:1.5em}
.email-show{font:700 clamp(1.25rem,1rem + 1vw,1.625rem)/1.3 var(--text);color:var(--charcoal);user-select:all;word-break:break-all}
.dl{display:grid;grid-template-columns:auto 1fr;gap:6px 18px;margin:0}
.dl dt{font-weight:700}
.dl dd{margin:0}
.big-phone{display:inline-flex;align-items:center;gap:12px;min-height:56px;font:700 clamp(2rem,1.4rem + 2.4vw,3.25rem)/1.05 var(--text);color:var(--ox);text-decoration:none;font-variant-numeric:tabular-nums;white-space:nowrap}
.big-phone svg{width:.7em;height:.7em}
.big-phone:hover{color:var(--ox-dark);text-decoration:underline;text-decoration-thickness:2px}
.icons{display:flex;flex-wrap:wrap;gap:10px;list-style:none;padding:0;margin:0}
.icons a{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;border:1.5px solid currentColor;color:var(--ox)}
.icons a:hover{background:var(--ox);color:#fff;border-color:var(--ox)}
.icons svg{width:21px;height:21px}
.prose{max-width:44em}
.prose h2{font-size:clamp(1.5rem,1.3rem + .8vw,2rem);margin:44px 0 12px}
.prose h2:first-child{margin-top:0}

/* ---------- freezer-pack chooser ---------- */
.tool{background:#fff;color:var(--charcoal);border-radius:8px;padding:clamp(20px,3.2vw,44px);box-shadow:0 18px 40px rgba(41,36,33,.22)}
.tool h2,.tool h3{color:var(--ox)}
.tool :focus-visible{outline-color:var(--ox)}
.tool-band{padding-block:clamp(32px,3vw,56px)}
.tool > h2{margin-bottom:6px}
.chooser{border:0;margin:20px 0 0;padding:0;min-width:0}
.chooser legend{padding:0;margin-bottom:14px;font-weight:700;font-size:20px}
.choices{display:grid;gap:10px}
@media (min-width:420px){.choices{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:900px){.choices{grid-template-columns:repeat(3,minmax(0,1fr))}}
.choice{position:relative;display:block;-webkit-tap-highlight-color:transparent}
.choice input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.choice span{display:flex;align-items:center;gap:12px;min-height:54px;padding:0 16px;background:var(--porcelain);border:1.5px solid var(--putty);border-radius:6px;font-weight:600;font-size:17px;white-space:nowrap;transition:border-color .15s,background-color .15s}
.choice span::before{content:"";flex:none;width:20px;height:20px;border:2px solid var(--ox);border-radius:50%;background:#fff}
.choice input:hover + span{border-color:var(--ox)}
.choice input:checked + span{background:var(--mustard-soft);border-color:var(--ox);box-shadow:inset 0 0 0 1px var(--ox)}
.choice input:checked + span::before{background:radial-gradient(circle,var(--ox) 0 4px,#fff 5px)}
.choice input:focus-visible + span{outline:3px solid var(--ox);outline-offset:2px}
.answer:empty{display:none}
.answer{margin-top:28px;padding-top:4px}
.answer-lead{font:400 clamp(1.5rem,1.25rem + .9vw,2rem)/1.2 var(--display);color:var(--ox);margin:0 0 6px}
.match{display:grid;gap:10px;padding:20px 0;border-bottom:1px solid var(--putty)}
.match:first-of-type{border-top:1px solid var(--putty);margin-top:14px}
.match h3{font-size:21px}
.match .price-line{margin:0;font-size:16px}
.match .price-line .amt{margin-right:4px;font:700 clamp(1.75rem,1.5rem + .8vw,2rem)/1.1 var(--text);color:var(--ox)}
.match .summary{margin:0;color:var(--ink-soft)}
.match details summary{display:inline-flex;align-items:center;min-height:44px;font-weight:700;color:var(--ox);cursor:pointer}
.match details ul{margin:4px 0 8px}
@media (min-width:760px){.match{grid-template-columns:minmax(0,1fr) auto;column-gap:32px;align-items:start}.match .btn{grid-column:2;grid-row:1 / span 2;align-self:start}}
.custom-field{display:grid;gap:8px;margin-top:16px;max-width:560px}
.custom-field label{font-weight:700}
.custom-field textarea{font:400 18px/1.5 var(--text);color:var(--charcoal);padding:12px 14px;border:1.5px solid var(--putty);border-radius:6px;background:#fff;min-height:96px;resize:vertical}
.custom-field textarea:focus{border-color:var(--ox);outline:3px solid var(--ox);outline-offset:1px}
.call-note{margin-top:28px;padding:22px clamp(18px,2.4vw,28px) 24px;background:var(--porcelain)}
.call-note h3{font-size:24px;margin-bottom:10px}
.note-text{margin:0 0 6px;padding:14px 16px;background:#fff;border:1px dashed var(--ox);border-radius:4px;font-weight:700;font-size:19px;line-height:1.45;user-select:all}
.call-note .actions{margin-top:16px}
html:not(.js) .chooser,html:not(.js) .answer,html:not(.js) .call-note{display:none}
html.js .no-js-line{display:none}
.no-js-line{margin-top:16px;font-weight:600}
.packs{display:grid;column-gap:56px}
@media (min-width:760px){.packs{grid-template-columns:repeat(2,minmax(0,1fr))}}
.pack{padding:28px 0;border-top:1px solid var(--putty)}
.pack h3{margin-bottom:6px}
.pack .price-line{margin:0 0 12px;font-size:18px}
.pack .amt{font:700 30px/1.2 var(--text);color:var(--ox)}
.pack .list li{padding-block:4px}
.pack .list li::before{top:16px}

/* ---------- closing counter (inner pages) ---------- */
.closing{padding-block:clamp(48px,3vw + 28px,80px)}
.closing-grid{display:grid;gap:26px}
.closing p{margin:0;font-size:19px}
@media (min-width:900px){.closing-grid{grid-template-columns:minmax(0,1fr) auto;gap:56px;align-items:center}}

/* ---------- footer ---------- */
.site-footer{background:var(--ox-deep);color:var(--foot-ink);padding-bottom:28px}
.site-footer .counter-edge{margin-bottom:56px}
.foot-grid{display:grid;gap:36px}
.foot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:639px){.foot-brand,.foot-lines{grid-column:1/-1}}
@media (min-width:1100px){.foot-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:40px}.foot-brand{grid-column:1/-1}}
.foot-brand{display:grid;gap:14px;align-content:start}
@media (min-width:640px) and (max-width:1099px){.foot-brand{grid-column:1/-1}}
.foot-plate{--fl:min(110px,calc((100vw - 2 * var(--gutter)) / 3.1));display:inline-flex;justify-self:start;padding:calc(var(--fl) * .15) calc(var(--fl) * .4);background:#fff;border-radius:50%}
.foot-plate img{height:var(--fl);width:auto}
@media (min-width:640px){
  .foot-plate{--fl:130px;grid-row:1 / span 4;align-self:center}
  .foot-brand{grid-template-columns:auto minmax(0,1fr);column-gap:48px;align-items:center}
  .foot-brand > :not(.foot-plate){grid-column:2}
}
.foot-name{font:400 24px/1.2 var(--display);color:#fff;margin:4px 0 0}
.site-footer p{margin:0}
.foot-h{font:400 20px/1.2 var(--display);color:var(--mustard);margin:0 0 10px}
.foot-list{list-style:none;padding:0;margin:0}
.foot-list li{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.foot-list a{display:inline-flex;align-items:center;min-height:44px;color:var(--foot-ink);text-decoration:none}
.foot-list a:hover{color:#fff;text-decoration:underline}
.foot-lines p{line-height:1.55;font-size:17px}
.foot-lines p + .foot-h{margin-top:20px}
.foot-lines a{color:var(--foot-ink);font-weight:700;text-decoration:none;display:inline-flex;min-height:44px;align-items:center}
.foot-lines a:hover{text-decoration:underline}
.foot-chips{display:flex;flex-wrap:wrap;gap:10px}
.foot-chips a{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border:1px solid rgba(244,233,221,.45);border-radius:999px;color:var(--foot-ink);font-weight:600;font-size:16px;text-decoration:none;white-space:nowrap}
.foot-chips a:hover{border-color:var(--mustard);color:#fff}
.site-footer .icons a{color:var(--foot-ink);border-color:rgba(244,233,221,.45)}
.site-footer .icons a:hover{background:var(--mustard);border-color:var(--mustard);color:var(--charcoal)}
.foot-base{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 16px;margin-top:48px;padding-top:22px;border-top:1px solid rgba(244,233,221,.2);font-size:15px;color:rgba(244,233,221,.88);text-align:center}
@media (max-width:1023px){.site-footer{padding-bottom:calc(28px + 76px + env(safe-area-inset-bottom))}}

/* ---------- phone action bar ---------- */
.m-bar{position:fixed;left:0;right:0;bottom:0;z-index:40;display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:10px var(--gutter) calc(10px + env(safe-area-inset-bottom));background:var(--porcelain);border-top:1px solid var(--mustard);box-shadow:0 -8px 20px rgba(41,36,33,.12)}
.m-bar .btn{width:100%;padding:0 12px}
@media (min-width:1024px){.m-bar{display:none}}

/* ---------- contact dialog: bottom sheet on phones, centred panel on computers ---------- */
dialog.sheet{border:0;padding:0;margin:auto auto 0;width:100%;max-width:100%;max-height:92vh;overflow:auto;overscroll-behavior:contain;background:var(--porcelain);color:var(--charcoal);border-radius:16px 16px 0 0;box-shadow:0 -10px 40px rgba(41,36,33,.3)}
dialog.sheet::backdrop{background:rgba(41,36,33,.55)}
@media (min-width:640px){dialog.sheet{margin:auto;width:min(520px,calc(100vw - 48px));border-radius:10px;box-shadow:0 24px 60px rgba(41,36,33,.35)}}
.sheet-inner{position:relative;padding:30px 24px calc(26px + env(safe-area-inset-bottom));display:grid;gap:14px}
.sheet-inner::before{content:"";position:absolute;left:0;right:0;top:0;height:5px;background:linear-gradient(var(--ox) 0 4px,var(--mustard) 4px 5px);border-radius:inherit}
.sheet-inner h2{font-size:32px;padding-right:44px}
.sheet-inner p{margin:0}
.sheet-call,.sheet-write{display:grid;gap:14px;align-content:start}
.sheet-write{border-top:1px solid var(--putty);padding-top:20px;margin-top:6px}
.sheet-write h3{font-size:24px}
@media (min-width:900px){
  dialog.sheet{width:min(900px,calc(100vw - 48px))}
  .sheet-inner{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);column-gap:40px;align-items:start;padding:34px 36px 32px}
  .sheet-write{border-top:0;padding-top:0;margin-top:0;padding-left:40px;border-left:1px solid var(--putty)}
  .sheet-write h3{margin-top:6px}
}
.sheet-close{position:absolute;top:14px;right:12px;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:0;border-radius:50%;background:transparent;color:var(--charcoal);cursor:pointer}
.sheet-close:hover{background:var(--putty)}
.sheet-close svg{width:20px;height:20px}
.sheet .dl{font-size:17px}
.sheet .actions .btn{flex:1 1 200px}

/* ---------- motion: gentle, once, and only when wanted ---------- */
@media (prefers-reduced-motion:no-preference){
  html.js [data-reveal]{opacity:0;transform:translateY(12px);transition:opacity .6s var(--ease),transform .6s var(--ease);transition-delay:calc(var(--i,0) * 70ms)}
  html.js [data-reveal].is-in{opacity:1;transform:none}
  html.js .plate .rim{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset .5s var(--ease)}
  html.js .plate .rim-in{transition-delay:.08s}
  html.js .plate-photo{opacity:0;transition:opacity .5s ease-out}
  html.js .platter.is-drawn .rim{stroke-dashoffset:0}
  html.js .platter.is-drawn .plate-photo{opacity:1}
  html.js .from-to .join{transform:scaleX(0);transition:transform .6s var(--ease) .15s}
  @media (max-width:599px){html.js .from-to .join{transform:scaleY(0)}}
  html.js .from-to.is-in .join{transform:none}
  dialog.sheet[open]{animation:sheet-up .26s var(--ease)}
  @media (min-width:640px){dialog.sheet[open]{animation-name:sheet-in}}
}
@keyframes sheet-up{from{transform:translateY(24px);opacity:0}to{transform:none;opacity:1}}
@keyframes sheet-in{from{transform:translateY(10px) scale(.98);opacity:0}to{transform:none;opacity:1}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}}

/* ---------- message form (sent through www.kohmera.com/js/form.js) ---------- */
.msg-form{display:grid;gap:16px;align-content:start}
.msg-form[hidden]{display:none}
.field{display:grid;gap:6px}
.field label{font-weight:700}
.field .opt{font-weight:400;color:var(--ink-soft)}
.field .hint{margin:0;font-size:16px;color:var(--ink-soft)}
.field input,.field select,.field textarea{width:100%;min-height:48px;padding:10px 14px;font:400 18px/1.4 var(--text);color:var(--charcoal);background:#fff;border:1.5px solid #8A7D70;border-radius:6px}
.field textarea{min-height:128px;resize:vertical}
.field select{appearance:none;-webkit-appearance:none;padding-right:44px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 9l6 6 6-6' fill='none' stroke='%23752B34' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 14px center/18px 18px}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--ox);outline:3px solid var(--ox);outline-offset:1px}
.msg-form .btn{justify-self:start}
@media (max-width:599px){.msg-form .btn{width:100%}}
.kf-sent{padding:20px 22px;background:var(--mustard-soft);border-left:4px solid var(--ox);border-radius:0 8px 8px 0}
.kf-sent:focus{outline:none}
.kf-sent p{margin:0}
.kf-sent .kf-sent-h{margin-bottom:6px;font:400 clamp(1.375rem,1.2rem + .6vw,1.75rem)/1.2 var(--display);color:var(--ox)}
.kf-error{margin:0;padding:12px 14px;background:#FDECEC;color:#8F1D1D;border-left:4px solid #B3261E;border-radius:0 6px 6px 0;font-weight:600}
.kf-error a{color:inherit;font-weight:700;text-decoration-thickness:2px}
.write-grid{align-items:start}
