@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Caslon+Display&display=swap');

:root{--cream:#f7f5ed;--green:#263c2b;--red:#a33828;--ink:#273128;--muted:#676c60;--line:#d9dbce;--serif:'Libre Caslon Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:18px;line-height:1.7}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:auto}button,input{font:inherit}a,button,input{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #c48031;outline-offset:5px}p{margin:0 0 22px}h1,h2,h3{font-weight:400;margin:0;font-family:var(--serif);line-height:1.05}h1{font-size:clamp(52px,5.4vw,83px);letter-spacing:-2px}h2{font-size:clamp(40px,4vw,61px);letter-spacing:-1px}h3{font-size:30px}em{font-weight:400;color:var(--red)}.announcement{background:var(--green);color:var(--cream);text-align:center;font-size:16px;letter-spacing:1.3px;padding:9px 16px}.announcement span{margin-left:12px;opacity:.8}.site-header{max-width:1440px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:23px 5%;gap:30px}.brand{width:140px;flex-shrink:0}.site-header nav{display:flex;gap:34px;font-size:16px;font-weight:600}.site-header nav a:hover,.header-phone:hover{color:var(--red)}.header-phone{font-size:16px}.header-phone span{margin-left:15px}.hero{max-width:1440px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;min-height:585px;padding:22px 5% 64px;gap:35px;align-items:center}.hero-copy{padding:25px 0}.eyebrow{text-transform:uppercase;letter-spacing:2px;font-size:16px;font-weight:700;margin-bottom:23px;display:flex;align-items:center;gap:12px}.small-line{width:28px;height:1px;background:var(--red)}.intro{max-width:410px;font-size:18px;color:var(--muted);margin-top:25px;line-height:1.85}.actions{display:flex;align-items:center;gap:27px;margin-top:30px}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:30px;padding:15px 24px;background:var(--green);color:white;border:1px solid var(--green);font-size:16px;font-weight:600;cursor:pointer;transition:background .2s}.button:hover{background:#40563b}.text-link{font-size:16px;font-weight:600;border-bottom:1px solid currentColor;padding-bottom:5px;display:inline-flex;gap:20px;align-items:center}.hero-note{font-size:16px;color:var(--muted);display:flex;align-items:center;gap:12px;margin-top:39px}.hero-note span{color:var(--red);font-size:25px}.hero-photo{position:relative;height:480px}.hero-photo>img{height:100%;object-fit:cover;object-position:40% center;border-radius:48% 48% 0 0}.photo-label{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#0009);color:#fff;font-size:16px;letter-spacing:2px;padding:40px 25px 20px}.seal{position:absolute;right:-18px;bottom:38px;background:var(--red);color:var(--cream);width:132px;height:132px;border-radius:50%;outline:1px dashed #e7c6a3;outline-offset:-9px;display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(10deg)}.seal span{font-size:16px;letter-spacing:1.4px}.seal strong{font-family:var(--serif);font-weight:400;font-size:30px;text-align:center;line-height:1;margin:7px 0}.market-strip{padding:20px 6%;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:16px;text-transform:uppercase;letter-spacing:1.5px}.market-strip b{font-size:21px;font-weight:400;color:var(--red)}.section{max-width:1320px;margin:auto;padding:90px 5%}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:60px;margin-bottom:38px}.section-heading>p{max-width:330px;color:var(--muted);font-size:16px;margin-bottom:5px}.market-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.card-photo{height:265px;overflow:hidden}.card-photo img{height:100%;object-fit:cover;transition:transform .4s}.market-card:hover img{transform:scale(1.035)}.card-title{display:flex;justify-content:space-between;align-items:center;margin:22px 0 12px}.card-title h3{font-size:29px}.card-title span{font-size:16px;color:var(--red)}.market-card p{font-size:16px;color:var(--muted);max-width:320px}.pantry{display:flex;flex-wrap:wrap;gap:12px 25px;border-top:1px solid var(--line);padding-top:24px;margin-top:12px;align-items:center;font-size:16px}.pantry p{margin:0;font-family:var(--serif);font-size:21px;margin-right:auto}.pantry span{color:var(--muted)}.deli-section{display:grid;grid-template-columns:1fr 1fr;background:var(--green);color:var(--cream)}.deli-photo{position:relative;min-height:530px}.deli-photo>img{height:100%;position:absolute;object-fit:cover}.photo-caption{position:absolute;bottom:0;left:0;right:0;padding:55px 35px 25px;background:linear-gradient(transparent,#0009);font-family:var(--serif);font-size:26px}.deli-copy{padding:70px clamp(30px,6vw,95px)}.deli-copy h2{margin-bottom:28px}.deli-copy em{color:#dbb38c}.deli-copy>p:not(.eyebrow){color:#d0d7c9;font-size:16px;max-width:450px}.button-light{background:var(--cream);color:var(--green);border-color:var(--cream);margin-top:10px}.button-light:hover{background:#e0e3d4}.story-section{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.story-copy>p:not(.eyebrow){font-size:16px;color:var(--muted)}.story-copy h2{margin-bottom:26px}.story-photo img{height:340px;object-fit:cover}.story-caption{border-bottom:none;padding:18px 0;font-size:16px;display:flex;justify-content:space-between}.story-caption em{font-family:var(--serif);font-size:22px}.wholesale{padding:35px 6%;background:#e9ecdf;display:flex;justify-content:space-between;align-items:center;gap:30px}.wholesale .eyebrow{margin-bottom:9px}.wholesale h3{font-size:32px}.wholesale p:last-child{font-size:16px;margin:12px 0 0;color:var(--muted)}.wholesale>a{white-space:nowrap}.visit-section{display:grid;grid-template-columns:1fr 1fr;gap:60px}.visit-section h2{margin-bottom:22px}.visit-section p{font-size:16px;color:var(--muted)}.visit-section .button{margin-top:8px}.visit-details{display:grid;gap:25px}.visit-details h3{font-size:28px;margin-bottom:15px}address{font-style:normal;font-size:16px;margin-bottom:10px}.visit-details a{font-size:16px;color:var(--red);border-bottom:1px solid var(--red)}dl{margin:0 0 12px;font-size:16px}dl div{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:7px 0}dd{margin:0}.fine-print,.visit-section .fine-print{font-size:16px;line-height:1.6;color:var(--muted);margin:12px 0 0}.newsletter{border-top:1px solid var(--line);padding:55px 6%;display:grid;grid-template-columns:1fr 1fr;gap:70px;background:#efede3}.newsletter h2{font-size:40px;max-width:400px}.newsletter>div>p:last-child{font-size:16px;color:var(--muted);margin-top:18px}.newsletter form{max-width:520px;width:100%}.name-fields{display:grid;grid-template-columns:1fr 1fr;gap:15px}.newsletter label{display:block;font-size:16px;margin-bottom:12px}.newsletter input{display:block;width:100%;border:1px solid #b8bcae;background:var(--cream);padding:10px 12px;margin-top:5px;border-radius:0;font-size:16px}.honeypot{position:absolute;left:-5000px}.newsletter .button{padding:11px 22px}footer{background:var(--green);color:var(--cream);padding:40px 6% 22px;display:flex;align-items:center;justify-content:space-between;gap:25px;flex-wrap:wrap}.footer-brand{font-family:Georgia,serif;font-size:36px;font-weight:bold;line-height:1}.footer-brand span{display:block;font-family:var(--sans);font-size:16px;letter-spacing:1.8px;margin-top:8px}footer p{font-family:var(--serif);font-size:22px;margin:0}footer>a:not(.footer-brand){font-size:16px}footer small{width:100%;font-size:16px;border-top:1px solid #ffffff25;padding-top:18px;margin-top:10px;color:#bec8b8}.skip-link{position:absolute;top:-100px;left:15px;background:white;color:var(--green);padding:10px;z-index:10}.skip-link:focus{top:10px}
@media(min-width:1500px){.market-strip,.wholesale,.newsletter,footer{padding-left:max(6%,calc((100vw - 1188px)/2));padding-right:max(6%,calc((100vw - 1188px)/2))}}
@media(max-width:1000px){.header-phone{display:none}.hero{gap:25px}.hero-photo{height:440px}.hero h1{font-size:58px}.actions{gap:18px}.button{padding:14px 18px;gap:17px}.market-strip{flex-wrap:wrap;justify-content:center}.market-strip b{font-size:16px}.card-photo{height:210px}.card-title h3{font-size:25px}.story-section{gap:40px}.deli-copy{padding:50px 30px}.deli-photo{min-height:500px}.newsletter{gap:40px}}
@media(max-width:680px){.announcement{font-size:16px;letter-spacing:.6px}.announcement span{margin-left:4px}.site-header{padding:17px 6%;flex-direction:column;gap:15px}.brand{width:112px}.site-header nav{gap:25px;font-size:16px}.hero{grid-template-columns:1fr;padding:10px 6% 38px;gap:10px}.hero-copy{padding:20px 0 10px}.hero h1{font-size:clamp(47px,10vw,65px);letter-spacing:-1.5px}.eyebrow{font-size:16px;margin-bottom:18px}.intro{font-size:16px;margin-top:20px}.hero-note{margin-top:22px}.hero-photo{height:360px;margin-top:12px;margin-right:9px}.seal{width:112px;height:112px;right:-14px;bottom:30px}.seal strong{font-size:26px}.seal span{font-size:16px}.market-strip{gap:8px 14px;font-size:16px;padding:15px 6%}.market-strip b{display:none}.section{padding:55px 6%}.section-heading{display:block;margin-bottom:25px}.section-heading>p{margin-top:20px}.market-grid{grid-template-columns:1fr;gap:23px}.card-photo{height:270px}.card-title{margin-top:17px}.card-title h3{font-size:31px}.market-card p{max-width:none}.pantry{gap:10px 20px}.pantry p{width:100%}.deli-section{grid-template-columns:1fr}.deli-photo{min-height:330px}.deli-copy{padding:45px 6%}.story-section{grid-template-columns:1fr;gap:32px}.story-photo img{height:290px}.wholesale{align-items:flex-start;flex-direction:column;padding:30px 6%;gap:20px}.wholesale h3{font-size:29px}.visit-section{grid-template-columns:1fr;gap:35px}.newsletter{grid-template-columns:1fr;padding:40px 6%;gap:20px}.newsletter h2{font-size:38px}footer{flex-direction:column;align-items:flex-start;gap:20px}footer small{margin-top:0}.actions{gap:22px}.text-link{gap:10px}}
.hero-copy,.hero-photo,.story-copy,.story-photo,.visit-details,.newsletter form{min-width:0}
@media(max-width:680px){.hero h1 em{display:block;font-size:clamp(36px,10vw,60px)}.actions{flex-wrap:wrap}.hero-photo{width:calc(100% - 9px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Keep enlarged text comfortable at narrow widths. */
.site-header nav{flex-wrap:wrap;justify-content:center}.market-strip{flex-wrap:wrap}.story-caption{flex-wrap:wrap;gap:8px}.seal{width:190px;height:190px;bottom:75px}.seal span{letter-spacing:.5px}.small-line{flex-shrink:0}
@media(max-width:1000px){.actions{flex-wrap:wrap}}
@media(max-width:680px){.site-header nav{gap:12px 20px}.seal{width:180px;height:180px;bottom:85px}.intro{font-size:18px}.name-fields{grid-template-columns:1fr}dl div{gap:12px;flex-wrap:wrap}}

/* Sandwich slideshow: captions stay paired with their photos. */
.sandwich-slides,.sandwich-slide{position:absolute;inset:0;margin:0}
.sandwich-slide[hidden]{display:none}
.sandwich-slide img{width:100%;height:100%;object-fit:cover}
.deli-slideshow .photo-caption{padding:65px 30px 25px;background:linear-gradient(transparent,rgba(0,0,0,.85));line-height:1.2}
@media(max-width:680px){.deli-slideshow .photo-caption{padding-left:20px;padding-right:20px}}
.footer-brand{display:block;width:180px;max-width:100%;flex-shrink:0}.footer-brand img{width:100%;height:auto}

/* Full-width green header with navigation and contact links. */
.site-header{width:100%;max-width:none;background-color:#263c2b;color:var(--cream);padding:20px max(5%,calc((100vw - 1296px)/2));gap:28px}
.header-contact{display:flex;align-items:center;gap:18px;flex-shrink:0}
.header-facebook{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px}
.header-facebook .fa-facebook{font-size:26px}.deli-copy .button .fa-facebook{font-size:24px;flex-shrink:0}
.site-header .header-phone{display:block;white-space:nowrap}
.site-header nav a:hover,.site-header .header-phone:hover,.header-facebook:hover{color:#dbb38c}
@media(max-width:1000px){.site-header{flex-wrap:wrap}.site-header nav{order:3;width:100%;gap:16px 30px}.header-contact{margin-left:auto}}
@media(max-width:680px){.site-header{flex-direction:row;padding:17px 6%;gap:16px}.site-header .brand{width:100px}.header-contact{gap:8px}.site-header .header-phone{font-size:14px}.header-phone span{display:none}.site-header nav{gap:12px 20px}}

/* Keep the hero title on its two intended lines. */
.hero h1{font-size:clamp(26px,4vw,58px);line-height:1.12;letter-spacing:-1px}.hero h1 em{display:inline;font-size:inherit}
@media(max-width:680px){.hero h1{font-size:clamp(24px,8vw,48px)}}

/* Shared content edges across every full-width section. */
:root{--page-gutter:max(5%,calc((100% - 1296px)/2))}
.site-header,.hero,.section,.market-strip,.deli-section,.wholesale,.newsletter,footer{width:100%;max-width:none;padding-left:var(--page-gutter);padding-right:var(--page-gutter)}
.market-strip{justify-content:space-between;text-align:left}
.section-heading{text-align:left}
.deli-copy{min-width:0;padding-right:0}
.newsletter form{max-width:none}
.hero-photo{width:100%;margin-right:0}
.seal{right:0}
@media(max-width:1000px){.market-strip{justify-content:flex-start}}
@media(max-width:680px){:root{--page-gutter:6%}.deli-copy{padding-left:0}.site-header nav{justify-content:flex-start}}

/* Restaurant partnerships and wholesale delivery. */
.wholesale{display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:60px;padding-top:65px;padding-bottom:65px}
.wholesale-copy{min-width:0}
.wholesale h2{font-size:clamp(36px,3.5vw,52px);margin-bottom:24px}
.wholesale-copy>p:not(.eyebrow){font-size:18px;color:var(--muted);margin:0 0 20px}
.wholesale-photo{width:100%;height:auto;border-radius:4px}
.wholesale-contact{margin-top:28px}
.wholesale-contact>span{display:block;font-size:16px;font-weight:600;margin-bottom:6px}
.wholesale-phone{display:inline-block;font-size:clamp(30px,3vw,42px);font-weight:700;line-height:1.2;color:var(--green);white-space:nowrap}
.wholesale-phone:hover{color:var(--red)}
@media(max-width:1000px){.wholesale{gap:32px}}
@media(max-width:680px){.wholesale{grid-template-columns:1fr;padding-top:45px;padding-bottom:45px}}

/* Align side-by-side photos with the top of their section content. */
.hero,.story-section{align-items:start}.hero-copy{padding-top:0}.hero-photo,.story-photo,.wholesale-photo{align-self:start}

.wholesale-figure{margin:0;min-width:0;align-self:start}.wholesale-figure figcaption{margin-top:16px;font-size:16px;line-height:1.6;color:var(--muted)}

/* Exterior landmark beside the visit information. */
.visit-section{align-items:start}.visit-photo{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center 75%;align-self:start;order:2}.visit-copy{min-width:0;order:1}.visit-copy .visit-details{margin-top:32px}

/* Footer contact details and directions. */
.footer-contact{display:flex;flex-direction:column;align-items:flex-start;gap:8px;font-size:16px}.footer-contact address{margin:0}.footer-contact a{text-decoration:underline;text-underline-offset:4px}.footer-contact a:hover{color:#dbb38c}

/* Three footer columns, with the tagline below the logo. */
footer{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:30px}footer>small{grid-column:1/-1}.footer-identity{min-width:0}.footer-identity p{margin-top:16px;line-height:1.4}footer>a:not(.footer-brand){justify-self:end}
@media(max-width:680px){footer{grid-template-columns:1fr;gap:24px}footer>a:not(.footer-brand){justify-self:start}}

/* Latest news from the market Facebook page. */
.latest-news{background: #e9ecdf; display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start;border-top:1px solid var(--line)}.latest-news-copy{min-width:0}.latest-news h2{margin-bottom:24px}.latest-news-copy>p:not(.eyebrow){color:var(--muted);max-width:440px}.facebook-feed{width:100%;max-width:500px;min-width:0;justify-self:start}.facebook-feed iframe{display:block;width:100%;height:600px;border:0}.facebook-feed .fine-print a{text-decoration:underline;text-underline-offset:3px}@media(max-width:680px){.latest-news{grid-template-columns:1fr;gap:30px}.facebook-feed{justify-self:start}}

/* Address and directions occupy the right footer column. */
.footer-location{grid-column:3;justify-self:end}@media(max-width:680px){.footer-location{grid-column:1;justify-self:start}}

/* Vertically center only the hero copy beside its photo. */
.hero-copy{align-self:center}

/* Use a rectangular hero photo below the desktop breakpoint. */
@media(max-width:991.98px){.hero-photo>img{border-radius:0}}

/* Space between the navigation bar and headline on small screens. */
@media(max-width:699.98px){.site-header{margin-bottom:32px}}

/* Center specialties in two rows on tablet and mobile. */
@media(max-width:1200px){.market-strip{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px 12px;text-align:center;justify-content:center}.market-strip>b{display:block;position:absolute;transform:translateX(-50%);font-size:16px}.market-strip{position:relative}.market-strip>span{grid-column:span 2;min-width:0}.market-strip>span:nth-of-type(-n+2){grid-column:span 3}.market-strip>b:nth-of-type(1){left:50%;top:20px}.market-strip>b:nth-of-type(2){display:none}.market-strip>b:nth-of-type(3){left:calc(var(--page-gutter) + (100% - 2 * var(--page-gutter))/3);bottom:20px}.market-strip>b:nth-of-type(4){left:calc(var(--page-gutter) + (100% - 2 * var(--page-gutter))*2/3);bottom:20px}}

@media(max-width:680px){.market-strip>b:nth-of-type(1){top:15px}.market-strip>b:nth-of-type(3),.market-strip>b:nth-of-type(4){bottom:15px}}

/* Hide the specialties strip on small screens. */
@media(max-width:699.98px){.market-strip{display:none}}
