@font-face{font-family:"IBM Plex Sans";src:url("../fonts/ibm-plex-sans/IBMPlexSans-Regular.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"IBM Plex Sans";src:url("../fonts/ibm-plex-sans/IBMPlexSans-Bold.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"IBM Plex Sans";src:url("../fonts/ibm-plex-sans/IBMPlexSans-Bold.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}

.ds-marketing{
  --m-ink:#171714;
  --m-cream:#f3eddf;
  --m-paper:#fffaf0;
  --m-red:#a92f27;
  --m-orange:#e5612f;
  --m-gold:#d7a837;
  --m-sage:#4d5949;
  --m-line:rgba(23,23,20,.18);
  margin:0;
  overflow-x:hidden;
  background:var(--m-cream);
  color:var(--m-ink);
  font-family:"IBM Plex Sans",Arial,sans-serif;
  font-size:16px;
  line-height:1.6;
}

.ds-marketing *{box-sizing:border-box}
.ds-marketing img{display:block;max-width:100%}
.ds-marketing a{color:inherit}
.ds-marketing button,.ds-marketing a{font:inherit}
.ds-marketing main{display:block;overflow:hidden}
.ds-marketing h1,.ds-marketing h2,.ds-marketing h3,.ds-marketing p{margin-top:0}
.ds-marketing h1,.ds-marketing h2,.ds-marketing h3{color:inherit;font-family:Georgia,"Times New Roman",serif;font-weight:400;letter-spacing:-.045em;line-height:.96}
.ds-marketing h1 em,.ds-marketing h2 em{font-weight:400}
.ds-marketing :focus-visible{outline:3px solid var(--m-gold);outline-offset:4px}
.m-shell{width:min(100% - 80px,1400px);margin-inline:auto}
.m-kicker,.m-section-index{font-size:.72rem;font-weight:700;letter-spacing:.18em;line-height:1.2;text-transform:uppercase}
.m-section-index{margin:0;color:var(--m-red)}

/* Marketing-only header */
.m-announcement{min-height:34px;padding:7px clamp(24px,4.5vw,72px);display:flex;align-items:center;justify-content:space-between;background:var(--m-ink);color:#fff;font-size:.65rem;font-weight:700;letter-spacing:.15em}
.m-announcement div{display:flex;align-items:center;gap:28px}
.m-announcement a{text-decoration:none}
.m-announcement a:hover{text-decoration:underline}
.m-header{position:relative;z-index:100;min-height:98px;padding:16px clamp(24px,4.5vw,72px);display:flex;align-items:center;justify-content:space-between;background:var(--m-paper);border-bottom:1px solid var(--m-line)}
.m-brand{display:inline-flex;align-items:center;gap:14px;color:var(--m-ink);text-decoration:none}
.m-brand img{width:62px;height:62px;object-fit:cover;border-radius:50%;border:1px solid rgba(169,47,39,.22)}
.m-brand>span{font-size:1.12rem;font-weight:700;letter-spacing:.1em;line-height:1.05}
.m-brand small{display:block;margin-top:8px;font-size:.58rem;font-weight:400;letter-spacing:.2em}
.m-nav{display:flex;align-items:center;gap:clamp(24px,3vw,50px)}
.m-nav>a:not(.m-order-button){position:relative;padding:12px 0;text-decoration:none;font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.m-nav>a:not(.m-order-button)::after{content:"";position:absolute;right:0;bottom:4px;left:0;height:2px;transform:scaleX(0);transform-origin:right;background:var(--m-red);transition:transform .25s ease}
.m-nav>a:hover::after,.m-nav>a[aria-current="page"]::after{transform:scaleX(1);transform-origin:left}
.m-order-button,.m-primary-link{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;border:1px solid var(--m-red);background:var(--m-red);color:#fff;text-decoration:none;transition:background .2s ease,color .2s ease,transform .2s ease}
.m-order-button{min-width:176px;padding:15px 18px;font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.m-order-button:hover,.m-primary-link:hover{background:var(--m-ink);border-color:var(--m-ink);transform:translateY(-2px)}
.m-menu-toggle{display:none!important;border:0;background:transparent;color:var(--m-ink)}

/* Common actions */
.m-actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap}
.m-primary-link{min-width:210px;padding:16px 18px;font-size:.76rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.ds-marketing .m-primary-link-light{border-color:var(--m-paper);background:var(--m-paper);color:var(--m-ink)}
.ds-marketing .m-primary-link-light:hover{border-color:var(--m-gold);background:var(--m-gold);color:var(--m-ink)}
.m-inline-link{display:inline-block;border-bottom:1px solid currentColor;text-decoration:none;font-size:.77rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;transition:color .2s ease}
.m-inline-link:hover{color:var(--m-red)}

/* Home hero */
.m-hero{position:relative;z-index:1;isolation:isolate;height:clamp(520px,min(45vw,calc(100svh - 200px)),720px);min-height:520px;overflow:visible;background:#2d2118;color:#fff}
.m-hero::after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(12,10,8,.84) 0%,rgba(12,10,8,.66) 32%,rgba(12,10,8,.2) 62%,rgba(12,10,8,.06) 100%)}
.m-hero-copy{height:100%;width:min(100% - 80px,1400px);margin-inline:auto;padding:clamp(56px,7vh,84px) 0;display:flex;flex-direction:column;justify-content:center}
.m-hero h1{max-width:560px;margin:0 0 14px;color:#fff;font-family:"IBM Plex Sans",Arial,sans-serif;font-size:clamp(1.75rem,2.4vw,2.25rem);font-weight:700;letter-spacing:-.02em;line-height:1.15;text-shadow:0 2px 18px rgba(0,0,0,.3)}
.ds-marketing .m-hero-display{max-width:700px;margin:0 0 24px;color:#fff;font-family:"IBM Plex Sans",Arial,sans-serif;font-size:clamp(3rem,3.75vw,3.375rem);font-weight:600;letter-spacing:-.025em;line-height:1.08;text-shadow:0 3px 28px rgba(0,0,0,.2)}
.m-hero-mobile-break{display:inline}
.m-hero-display .m-hero-accent{color:#f1c04b;font-weight:600}
.ds-marketing .m-hero-lead{max-width:560px;margin-bottom:36px;color:rgba(255,255,255,.92);font-size:clamp(1.02rem,1.3vw,1.22rem);line-height:1.75;text-shadow:0 2px 20px rgba(0,0,0,.34)}
.m-hero .m-actions{align-items:center}
.m-hero .m-primary-link{background:var(--m-red);border-color:var(--m-red);box-shadow:0 14px 34px rgba(0,0,0,.22)}
.m-hero .m-primary-link:hover{background:var(--m-paper);border-color:var(--m-paper);color:var(--m-ink)}
.m-hero .m-inline-link{color:#fff}
.m-hero .m-inline-link:hover{color:#f1c04b}
.m-hero-visual{position:absolute;z-index:-2;inset:0;overflow:hidden;background:#5e321e}
.m-hero-placeholder{position:absolute;z-index:1;right:clamp(40px,5vw,80px);bottom:-107px;width:min(30vw,420px);height:320px;display:flex;flex-direction:column;overflow:hidden;border:2px solid rgba(17,17,17,.12);border-radius:12px;background:#fff;color:var(--m-ink);box-shadow:0 16px 40px rgba(0,0,0,.16)}
.m-reviews-head{padding:24px 28px 16px;display:flex;align-items:flex-start;justify-content:space-between;gap:18px;border-bottom:1px solid rgba(17,17,17,.1)}
.m-reviews-head h2{margin:0;color:var(--m-ink);font-family:"IBM Plex Sans",Arial,sans-serif;font-size:1.35rem;font-weight:700;letter-spacing:-.02em;line-height:1.2}
.m-reviews-head p{margin:5px 0 0;color:#6a655d;font-size:.62rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.m-google-maps-attribution{padding-top:2px;flex:0 0 auto;color:#5e5e5e;font-family:Roboto,Arial,sans-serif;font-size:.68rem;font-weight:400;letter-spacing:0;white-space:nowrap}
.m-reviews-body{min-height:0;padding:16px 28px 18px;display:flex;flex:1;flex-direction:column}
.m-reviews-status{margin:auto 0;color:#5f5a52;font-size:.82rem;line-height:1.55}
.m-review-card{min-height:0;display:flex;flex:1;flex-direction:column}
.m-review-author{display:flex;align-items:center;justify-content:space-between;gap:14px}
.m-review-author>div{min-width:0;display:flex;align-items:center;gap:9px}
.m-review-author img{width:32px;height:32px;flex:0 0 32px;border-radius:50%;object-fit:cover}
.m-review-author a{overflow:hidden;color:var(--m-ink);font-size:.82rem;font-weight:700;line-height:1.3;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}
.m-review-author a:hover{text-decoration:underline}
.m-review-author span{color:#d7a837;font-size:.86rem;letter-spacing:.08em;white-space:nowrap}
.m-review-card>p{margin:13px 0 8px;display:-webkit-box;overflow:hidden;color:#3f3b35;font-size:.82rem;line-height:1.55;-webkit-box-orient:vertical;-webkit-line-clamp:4}
.m-review-card>p:empty{display:none}
.m-review-meta{margin-top:auto;display:flex;align-items:end;justify-content:space-between;gap:16px;color:#777067;font-size:.65rem}
.m-review-meta a{color:var(--m-red);font-weight:700;text-decoration:none}
.m-review-meta a:hover{text-decoration:underline}
.m-review-controls{margin-top:12px;display:flex;align-items:center;justify-content:flex-end;gap:10px;color:#6a655d;font-size:.66rem}
.m-review-controls[hidden],.m-review-card[hidden]{display:none}
.m-review-controls button{width:30px;height:30px;display:grid;place-items:center;border:1px solid rgba(17,17,17,.2);border-radius:50%;background:#fff;color:var(--m-ink);cursor:pointer}
.m-review-controls button:hover,.m-review-controls button:focus{border-color:var(--m-red);color:var(--m-red)}
.m-hero-visual>img{--m-pan-start:-4%;--m-pan-end:4%;width:120%;height:100%;max-width:none;margin-left:-10%;object-fit:cover;object-position:center center;transform:translate3d(var(--m-pan-start),0,0);animation:m-hero-cinematic 16s ease-in-out infinite alternate;will-change:transform}
@keyframes m-hero-cinematic{
  from{transform:translate3d(var(--m-pan-start),0,0)}
  to{transform:translate3d(var(--m-pan-end),0,0)}
}

.m-marquee{height:12px;overflow:hidden;padding:0;background:var(--m-red)}
.m-marquee div{width:max-content;display:flex;align-items:center;gap:34px;padding-left:34px;font-size:.68rem;font-weight:700;letter-spacing:.2em;animation:m-marquee 28s linear infinite}
.m-marquee i{color:var(--m-gold);font-style:normal;font-size:1rem}
@keyframes m-marquee{to{transform:translateX(-20%)}}

.m-intro{padding-block:120px 134px}
.m-intro-heading{margin:30px 0 66px;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:70px;align-items:end}
.m-intro-heading h2{margin:0;font-size:clamp(3.4rem,5.4vw,6.3rem)}
.m-intro-heading h2 em{color:var(--m-red)}
.m-intro-heading>div{padding-bottom:8px}
.m-intro-heading p{max-width:480px;margin-bottom:24px;color:#5c574e;font-size:1.05rem;line-height:1.75}
.m-menu-editorial{min-height:610px;display:grid;grid-template-columns:1.15fr .85fr;border-top:1px solid var(--m-ink);border-bottom:1px solid var(--m-ink)}
.m-menu-visual{position:relative;min-height:610px;overflow:hidden}
.m-menu-visual::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 62%,rgba(15,13,10,.62))}
.m-menu-visual img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.m-menu-visual:hover img{transform:scale(1.035)}
.m-menu-visual span{position:absolute;z-index:1;right:24px;bottom:20px;color:#fff;font-size:.62rem;font-weight:700;letter-spacing:.17em}
.m-menu-index{display:flex;flex-direction:column;border-left:1px solid var(--m-ink)}
.m-menu-index>a{min-height:203px;padding:28px clamp(24px,3.5vw,52px);display:grid;grid-template-columns:40px 1fr 38px;gap:24px;align-items:center;border-bottom:1px solid var(--m-line);color:var(--m-ink);text-decoration:none;transition:background .2s ease,color .2s ease}
.m-menu-index>a:last-child{border-bottom:0}
.m-menu-index>a:hover{background:var(--m-red);color:#fff}
.m-menu-index>a>span{align-self:start;color:var(--m-red);font-size:.65rem;font-weight:700;letter-spacing:.12em}
.m-menu-index>a:hover>span{color:var(--m-gold)}
.m-menu-index h3{margin:0 0 12px;font-size:clamp(2.7rem,4vw,4.3rem)}
.m-menu-index p{margin:0;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.m-menu-index i{width:38px;height:38px;display:grid;place-items:center;border:1px solid currentColor;border-radius:50%;font-style:normal}
.m-photo-note{margin:18px 0 0;color:#706a5f;font-size:.72rem}

.m-story{display:grid;grid-template-columns:1fr 1fr;min-height:760px;background:var(--m-ink);color:#fff}
.m-story-photo{position:relative;min-height:760px;overflow:hidden}
.m-story-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.5),transparent 55%)}
.m-story-photo img{width:100%;height:100%;object-fit:cover;filter:saturate(.86) contrast(1.05)}
.m-story-photo>p{position:absolute;z-index:2;right:34px;bottom:30px;left:34px;margin:0;display:flex;align-items:flex-end;justify-content:space-between;border-top:1px solid rgba(255,255,255,.55);padding-top:16px}
.m-story-photo>p span{font-size:.65rem;letter-spacing:.15em}
.m-story-photo>p strong{font-family:Georgia,"Times New Roman",serif;font-size:1.6rem;font-weight:400}
.m-story-copy{padding:clamp(70px,8vw,132px);display:flex;flex-direction:column;justify-content:center}
.m-story-copy .m-section-index{color:var(--m-gold)}
.m-story-copy h2{margin:28px 0 34px;font-size:clamp(3.6rem,5.2vw,6.3rem)}
.m-story-copy h2 em{color:var(--m-gold)}
.m-story-copy>p:not(.m-section-index){max-width:620px;color:rgba(255,255,255,.72);font-size:1.05rem;line-height:1.8}
.m-story-copy .m-primary-link{align-self:flex-start;margin-top:22px}

.m-how{padding-block:130px}
.m-how{display:grid;grid-template-columns:minmax(300px,.72fr) minmax(480px,1.28fr);gap:9vw}
.m-how-title h2{margin:30px 0 0;font-size:clamp(3.5rem,5vw,5.7rem)}
.m-how-title h2 em{color:var(--m-red)}
.m-how-list{border-top:1px solid var(--m-ink)}
.m-how-list article{padding:30px 0;display:grid;grid-template-columns:52px 1fr 42px;gap:24px;align-items:start;border-bottom:1px solid var(--m-line)}
.m-how-list article>span{color:var(--m-red);font-size:.66rem;font-weight:700;letter-spacing:.12em}
.m-how-list h3{margin:0 0 10px;font-family:"IBM Plex Sans",Arial,sans-serif;font-size:1.25rem;font-weight:700;letter-spacing:-.02em}
.m-how-list p{max-width:600px;margin:0;color:#625d54;font-size:.94rem;line-height:1.65}
.m-how-list article>a{width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--m-line);border-radius:50%;color:var(--m-red);text-decoration:none;transition:.2s ease}
.m-how-list article>a:hover{background:var(--m-red);color:#fff;transform:rotate(12deg)}

.m-local-panel{margin-bottom:130px;min-height:520px;display:grid;grid-template-columns:1fr 1fr;background:var(--m-paper);border:1px solid var(--m-line)}
.m-local-copy{padding:clamp(52px,6vw,96px)}
.m-local-copy h2{margin:30px 0 26px;font-size:clamp(3.2rem,4.7vw,5.4rem)}
.m-local-copy h2 em{color:var(--m-red)}
.m-local-copy>p:not(.m-section-index){max-width:580px;margin-bottom:30px;color:#5b574f;line-height:1.75}
.m-local-art{position:relative;min-height:520px;overflow:hidden;background:var(--m-red);color:#fff}
.m-local-art::before,.m-map-art::before{content:"";position:absolute;inset:-10%;background:repeating-linear-gradient(15deg,transparent 0 64px,rgba(255,255,255,.11) 65px 67px)}
.m-road{position:absolute;padding:5px 11px;background:var(--m-ink);font-size:.55rem;font-weight:700;letter-spacing:.16em}
.m-road-one{top:18%;left:8%;transform:rotate(15deg)}
.m-road-two{right:5%;bottom:19%;transform:rotate(-20deg)}
.m-map-pin{position:absolute;top:50%;left:50%;width:132px;height:132px;display:grid;place-items:center;transform:translate(-50%,-58%) rotate(45deg);border-radius:50% 50% 50% 0;background:var(--m-paper);color:var(--m-red);box-shadow:0 24px 55px rgba(23,23,20,.25)}
.m-map-pin span{transform:rotate(-45deg);font-family:Georgia,"Times New Roman",serif;font-size:1.25rem;line-height:1;text-align:center}
.m-local-art>p{position:absolute;right:34px;bottom:22px;margin:0;font-family:Georgia,"Times New Roman",serif;font-size:2rem;line-height:.95;text-align:right}

/* About */
.m-page-hero{min-height:720px;background:var(--m-paper)}
.m-about-hero{display:grid;grid-template-columns:.88fr 1.12fr}
.m-page-hero-copy{padding:clamp(70px,8vw,132px) clamp(40px,6vw,100px);display:flex;flex-direction:column;justify-content:center}
.m-page-hero-copy .m-kicker{color:var(--m-red)}
.m-page-hero h1{margin:28px 0 32px;font-size:clamp(4rem,6vw,7rem)}
.m-page-hero h1 em{color:var(--m-red)}
.m-page-hero-copy>p:last-child{max-width:520px;color:#5d584f;font-size:1.12rem;line-height:1.75}
.m-about-collage{position:relative;min-height:720px;background:var(--m-red)}
.m-about-shop{position:absolute;top:0;right:0;width:72%;height:72%;object-fit:cover}
.m-about-food{position:absolute;bottom:0;left:0;width:58%;height:43%;object-fit:cover;border-top:14px solid var(--m-paper);border-right:14px solid var(--m-paper)}
.m-about-collage>span{position:absolute;right:24px;bottom:24px;color:#fff;font-family:Georgia,"Times New Roman",serif;font-size:2rem;line-height:.95;text-align:right}
.m-manifesto{padding-block:130px}
.m-manifesto>div{margin-top:34px;display:grid;grid-template-columns:1.35fr .65fr;gap:9vw;align-items:end}
.m-manifesto h2{margin:0;font-size:clamp(3.7rem,5.5vw,6.3rem)}
.m-manifesto h2 em{color:var(--m-red)}
.m-manifesto-copy{padding-bottom:8px;color:#5c574e;font-size:1rem;line-height:1.8}
.m-about-gallery{display:grid;grid-template-columns:1.3fr .7fr;min-height:500px;background:var(--m-ink)}
.m-about-gallery img{width:100%;height:100%;min-height:500px;object-fit:cover}
.m-about-gallery img:last-child{border-left:14px solid var(--m-cream)}
.m-about-location{padding-block:130px;display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center}
.m-about-location-image{position:relative;min-height:590px}
.m-about-location-image::before{content:"";position:absolute;top:-18px;left:-18px;width:72%;height:72%;border:1px solid var(--m-red)}
.m-about-location-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.m-about-location h2{margin:28px 0;font-size:clamp(3.3rem,4.8vw,5.5rem)}
.m-about-location>div:last-child>p:not(.m-section-index){color:#5d584f;line-height:1.8}
.m-allergy-inline{margin:26px 0!important;padding:22px;border-left:4px solid var(--m-red);background:rgba(169,47,39,.06)}
.m-allergy-inline strong{display:block;color:var(--m-ink)}
.m-quote-band{padding:120px 5vw;text-align:center;background:var(--m-ink);color:#fff}
.m-quote-band>p{color:var(--m-gold);font-size:.7rem;font-weight:700;letter-spacing:.18em}
.m-quote-band h2{margin:30px auto 42px;font-size:clamp(3.3rem,5.4vw,6.5rem)}
.m-quote-band h2 em{color:var(--m-gold)}

/* Contact */
.m-contact-hero{min-height:680px;display:grid;grid-template-columns:.86fr 1.14fr;background:var(--m-ink);color:#fff}
.m-contact-hero-copy{padding:clamp(74px,8vw,132px) clamp(40px,6vw,100px);display:flex;flex-direction:column;justify-content:center}
.m-contact-hero-copy .m-kicker{color:var(--m-gold)}
.m-contact-hero h1{margin:28px 0;font-size:clamp(4rem,6vw,7rem)}
.m-contact-hero h1 em{color:var(--m-gold)}
.m-contact-hero-copy>p:not(.m-kicker){max-width:560px;color:rgba(255,255,255,.72);font-size:1.05rem;line-height:1.75}
.m-contact-hero-copy .m-primary-link{align-self:flex-start;margin-top:18px}
.m-contact-shop{position:relative;min-height:680px;overflow:hidden}
.m-contact-shop::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.65))}
.m-contact-shop img{width:100%;height:100%;object-fit:cover}
.m-contact-shop>span{position:absolute;z-index:2;right:32px;bottom:28px;color:#fff;font-size:.7rem;font-weight:700;letter-spacing:.16em;line-height:1.6;text-align:right}
.m-contact-details{padding-block:120px;display:grid;grid-template-columns:.9fr 1.1fr .8fr;border-bottom:1px solid var(--m-line)}
.m-contact-details>div{padding:0 clamp(30px,4vw,66px);border-right:1px solid var(--m-line)}
.m-contact-details>div:first-child{padding-left:0}
.m-contact-details>div:last-child{padding-right:0;border-right:0}
.m-contact-address h2{margin:28px 0;font-size:clamp(3.2rem,4.5vw,5rem)}
.m-contact-address h2 em{color:var(--m-red)}
.m-contact-address address{margin-bottom:28px;font-family:Georgia,"Times New Roman",serif;font-size:1.5rem;font-style:normal;line-height:1.45}
.m-hours-card dl{margin:27px 0}
.m-hours-card dl>div{padding:10px 0;display:flex;justify-content:space-between;border-bottom:1px solid var(--m-line)}
.m-hours-card dt{font-weight:700}
.m-hours-card dd{margin:0;color:#5e594f}
.m-hours-card .is-closed{color:var(--m-red)}
.m-hours-card>p:last-child{color:#6d675d;font-size:.78rem;line-height:1.7}
.m-contact-phone>p:nth-child(2){margin:28px 0;color:#5e594f}
.m-contact-phone>a:not(.m-inline-link){display:block;margin:22px 0 34px;color:var(--m-red);font-family:Georgia,"Times New Roman",serif;font-size:clamp(3rem,4.4vw,5rem);line-height:.86;text-decoration:none}
.m-map-section{padding-block:120px}
.m-map-heading{margin-bottom:46px;display:grid;grid-template-columns:1.1fr .9fr;gap:8vw;align-items:end}
.m-map-heading h2{margin:28px 0 0;font-size:clamp(3.2rem,4.8vw,5.5rem)}
.m-map-heading h2 em{color:var(--m-red)}
.m-map-heading>p{margin:0;color:#625d54;font-size:.85rem;line-height:1.7}
.m-map-frame{position:relative}
.m-map-frame .r-map{min-height:520px;overflow:hidden;border:0;background:var(--m-paper)}
.m-map-frame iframe{width:100%;height:520px;border:0}
.m-map-placeholder{min-height:520px;padding:0!important;display:grid!important;grid-template-columns:1.15fr .85fr;gap:0!important;text-align:left!important;background:var(--m-paper)!important;color:var(--m-ink)!important}
.m-map-placeholder>div:last-child{padding:clamp(48px,6vw,86px);display:flex;flex-direction:column;justify-content:center}
.m-map-placeholder h3{margin:0 0 16px;font-size:clamp(2rem,3vw,3.6rem)}
.m-map-placeholder p{max-width:430px;color:#5e594f;line-height:1.7}
.m-map-placeholder .m-primary-link{align-self:flex-start;margin:16px 0 20px;border:1px solid var(--m-red);border-radius:0;cursor:pointer}
.m-map-placeholder>div:last-child>a:last-child{font-size:.72rem}
.m-map-art{position:relative;min-height:520px;overflow:hidden;background:var(--m-red);color:#fff}
.m-map-art span{position:absolute;padding:5px 9px;background:var(--m-ink);font-size:.55rem;letter-spacing:.14em}
.m-map-art span:first-child{top:22%;left:8%;transform:rotate(14deg)}
.m-map-art span:nth-child(2){right:4%;bottom:18%;transform:rotate(-20deg)}
.m-map-art strong{position:absolute;top:50%;left:50%;width:124px;height:124px;display:grid;place-items:center;transform:translate(-50%,-55%);border:1px solid rgba(255,255,255,.7);border-radius:50%;font-family:Georgia,"Times New Roman",serif;font-size:1.35rem;font-weight:400;line-height:.95;text-align:center}
.m-hide-map{margin-top:12px;border:0;background:transparent;color:var(--m-red);font-weight:700;cursor:pointer}
.m-allergy-callout{margin-bottom:120px;padding:70px clamp(34px,6vw,88px);display:grid;grid-template-columns:.8fr 1.2fr;gap:18px 7vw;align-items:center;border:1px solid rgba(169,47,39,.35);background:#f7e9e3}
.m-allergy-callout .m-kicker{margin:0;color:var(--m-red)}
.m-allergy-callout h2{grid-column:1;margin:0;font-size:clamp(2.8rem,4vw,4.6rem)}
.m-allergy-callout>p:not(.m-kicker){grid-column:2;grid-row:1/3;margin:0;color:#5b554c;font-size:1.02rem;line-height:1.75}
.m-allergy-callout .m-primary-link{grid-column:2;justify-self:start}

/* Legal pages retain their wording; this is visual treatment only. */
.ds-marketing .r-policy-intro{padding:clamp(76px,9vw,142px) max(40px,calc((100vw - 1400px)/2));background:var(--m-ink);color:#fff}
.ds-marketing .r-policy-intro .r-eyebrow{color:var(--m-gold);font-size:.7rem;letter-spacing:.18em}
.ds-marketing .r-policy-intro h1{max-width:900px;margin:26px 0;font-size:clamp(4rem,6vw,7rem)}
.ds-marketing .r-policy-intro>p:last-child{max-width:680px;color:rgba(255,255,255,.7);font-size:1.05rem}
.ds-marketing .r-policy-shell{width:min(100% - 80px,1400px);margin:0 auto;padding-block:90px;display:grid;grid-template-columns:280px 1fr;gap:8vw}
.ds-marketing .r-policy-nav{position:sticky;top:24px;height:max-content;padding:26px 0;border-top:2px solid var(--m-red)}
.ds-marketing .r-policy-nav strong{color:var(--m-red);font-size:.68rem;letter-spacing:.16em}
.ds-marketing .r-policy-nav a{padding:10px 0;display:block;border-bottom:1px solid var(--m-line);text-decoration:none;font-size:.8rem}
.ds-marketing .r-policy-body{max-width:850px}
.ds-marketing .r-policy-body section{padding:0 0 40px;margin:0 0 40px;border-bottom:1px solid var(--m-line)}
.ds-marketing .r-policy-body h2{margin:0 0 20px;font-size:clamp(2rem,3vw,3rem)}
.ds-marketing .r-policy-body p,.ds-marketing .r-policy-body li{color:#4f4b44;line-height:1.8}
.ds-marketing .r-policy-draft{margin-bottom:46px;padding:24px;border-left:4px solid var(--m-red);background:var(--m-paper)}
.ds-marketing .r-policy-table-wrap{overflow-x:auto}
.ds-marketing .r-policy-body table{width:100%;border-collapse:collapse}
.ds-marketing .r-policy-body th,.ds-marketing .r-policy-body td{padding:16px;border:1px solid var(--m-line);text-align:left;vertical-align:top}

/* Marketing-only footer */
.m-footer{background:#10100f;color:#fff}
.m-footer-cta{padding:90px clamp(30px,6vw,96px);display:flex;align-items:center;justify-content:space-between;gap:60px;border-bottom:1px solid rgba(255,255,255,.17)}
.m-footer-cta .m-kicker{color:var(--m-gold)}
.m-footer-cta h2{max-width:850px;margin:18px 0 0;font-size:clamp(3.4rem,5.3vw,6.2rem)}
.m-footer-cta h2 em{color:var(--m-gold)}
.m-round-link{width:150px;height:150px;flex:0 0 150px;padding:28px;display:flex;align-items:center;justify-content:space-between;border:1px solid var(--m-gold);border-radius:50%;color:#fff;text-decoration:none;font-size:.74rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;transition:.25s ease}
.m-round-link:hover{background:var(--m-gold);color:var(--m-ink);transform:rotate(8deg)}
.m-footer-grid{padding:72px clamp(30px,6vw,96px);display:grid;grid-template-columns:1.5fr 1fr 1fr .7fr;gap:60px}
.m-brand-light{color:#fff}
.m-footer-brand>p{max-width:300px;margin:28px 0 0;color:rgba(255,255,255,.58)}
.m-footer-label{margin-bottom:22px;color:var(--m-gold);font-size:.66rem;font-weight:700;letter-spacing:.18em}
.m-footer-grid address{margin-bottom:15px;font-style:normal;color:rgba(255,255,255,.7)}
.m-footer-grid>div:not(:first-child)>a{display:block;margin:8px 0;color:rgba(255,255,255,.72);text-decoration:none;font-size:.86rem}
.m-footer-grid>div:not(:first-child)>a:hover{color:var(--m-gold)}
.m-footer-grid .m-footer-phone{color:#fff!important;font-family:Georgia,"Times New Roman",serif;font-size:1.4rem!important}
.m-footer-grid>div>p:not(.m-footer-label){color:rgba(255,255,255,.57);font-size:.86rem}
.m-footer-bottom{padding:22px clamp(30px,6vw,96px);display:flex;justify-content:space-between;gap:24px;border-top:1px solid rgba(255,255,255,.14);color:rgba(255,255,255,.5);font-size:.7rem}
.m-footer-bottom nav{display:flex;gap:24px;flex-wrap:wrap}
.m-footer-bottom a,.m-footer-bottom button{border:0;background:transparent;color:inherit;text-decoration:none;cursor:pointer}
.m-footer-bottom a:hover,.m-footer-bottom button:hover{color:#fff}
.m-mobile-order{display:none}

@media(max-width:1100px){
  .m-hero-copy{width:min(100% - 64px,1400px)}
  .ds-marketing .m-hero-display{font-size:clamp(2.9rem,4.6vw,3.25rem)}
  .m-story-copy{padding:70px}
  .m-how{gap:6vw}
  .m-footer-grid{grid-template-columns:1.3fr 1fr 1fr;gap:44px}
  .m-footer-grid>div:last-child{display:none}
}

@media(max-width:820px){
  .m-shell,.ds-marketing .r-policy-shell{width:min(100% - 40px,1400px)}
  .m-announcement{display:none}
  .m-header{min-height:78px;padding:10px 20px}
  .m-brand img{width:54px;height:54px}
  .m-brand>span{font-size:1rem}
  .m-menu-toggle{display:flex!important;align-items:center;gap:8px;padding:12px;cursor:pointer}
  .m-nav{position:absolute;top:100%;right:0;left:0;max-height:0;overflow:hidden;display:flex;flex-direction:column;align-items:stretch;gap:0;background:var(--m-paper);box-shadow:0 18px 30px rgba(0,0,0,.12);transition:max-height .3s ease}
  .m-nav.is-open{max-height:430px}
  .m-nav>a:not(.m-order-button){padding:18px 22px;border-bottom:1px solid var(--m-line)}
  .m-nav>a:not(.m-order-button)::after{display:none}
  .m-order-button{width:auto;margin:14px 20px 20px}
  .m-hero{height:max(720px,calc(100svh - 78px));min-height:720px}
  .m-hero::after{background:linear-gradient(180deg,rgba(12,10,8,.12) 0%,rgba(12,10,8,.24) 38%,rgba(12,10,8,.9) 100%)}
  .m-hero-copy{width:100%;padding:260px 22px 70px;justify-content:flex-end}
  .m-hero-placeholder{top:34px;right:22px;bottom:auto;width:min(42vw,280px);height:210px}
  .ds-marketing .m-hero-display{max-width:700px;font-size:clamp(2.5rem,5.8vw,2.9rem)}
  .m-hero-lead{max-width:520px}
  .m-hero-visual>img{--m-pan-start:-5%;--m-pan-end:5%;width:126%;margin-left:-13%;object-position:62% center}
  .m-marquee div{gap:24px}
  .m-intro{padding-block:82px}
  .m-intro-heading{display:block;margin-bottom:42px}
  .m-intro-heading h2{font-size:clamp(3.2rem,12vw,5rem)}
  .m-intro-heading>div{margin-top:28px}
  .m-menu-editorial{grid-template-columns:1fr;min-height:0}
  .m-menu-visual{min-height:500px}
  .m-menu-index{border-top:1px solid var(--m-ink);border-left:0}
  .m-story{display:block}
  .m-story-photo{min-height:620px}
  .m-story-copy{padding:82px 22px}
  .m-story-copy h2{font-size:clamp(3.4rem,12vw,5rem)}
  .m-how{padding-block:88px;display:block}
  .m-how-list{margin-top:50px}
  .m-local-panel{margin-bottom:90px;display:block}
  .m-local-art{min-height:430px}
  .m-about-hero{display:block}
  .m-page-hero-copy{padding:82px 22px}
  .m-about-collage{min-height:620px}
  .m-manifesto{padding-block:88px}
  .m-manifesto>div{display:block}
  .m-manifesto-copy{margin-top:34px}
  .m-about-gallery{grid-template-columns:1fr 1fr;min-height:430px}
  .m-about-gallery img{min-height:430px}
  .m-about-location{padding-block:88px;display:block}
  .m-about-location-image{min-height:520px;margin-bottom:60px}
  .m-contact-hero{display:block}
  .m-contact-hero-copy{padding:82px 22px}
  .m-contact-shop{min-height:600px}
  .m-contact-details{padding-block:82px;grid-template-columns:1fr 1fr}
  .m-contact-details>div{padding:0 0 55px;border:0}
  .m-contact-details>div:first-child{padding-right:32px}
  .m-contact-details>div:nth-child(2){padding-left:32px}
  .m-contact-details>div:last-child{grid-column:1/3;padding-top:55px;border-top:1px solid var(--m-line)}
  .m-map-heading{display:block}
  .m-map-heading>p{margin-top:26px}
  .m-map-placeholder{grid-template-columns:1fr}
  .m-map-art{min-height:380px}
  .m-allergy-callout{grid-template-columns:1fr}
  .m-allergy-callout h2,.m-allergy-callout>p:not(.m-kicker),.m-allergy-callout .m-primary-link{grid-column:1;grid-row:auto}
  .ds-marketing .r-policy-shell{grid-template-columns:1fr;padding-block:70px}
  .ds-marketing .r-policy-nav{position:static}
  .m-footer-cta{align-items:flex-start}
  .m-round-link{width:120px;height:120px;flex-basis:120px;padding:20px}
  .m-footer-grid{grid-template-columns:1fr 1fr}
  .m-footer-grid>div:last-child{display:block}
  .m-footer-bottom{display:block;padding-bottom:96px}
  .m-footer-bottom nav{margin-top:16px}
  .m-mobile-order{position:fixed;z-index:900;right:12px;bottom:12px;left:12px;padding:12px 14px;display:flex;align-items:center;justify-content:space-between;background:var(--m-paper);box-shadow:0 12px 34px rgba(0,0,0,.22);font-size:.76rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
  .m-mobile-order small{display:block;color:#6d675d;font-size:.6rem;font-weight:400;letter-spacing:0;text-transform:none}
  .m-mobile-order a{padding:12px 14px;background:var(--m-red);color:#fff;text-decoration:none}
}

@media(max-width:560px){
  .m-shell,.ds-marketing .r-policy-shell{width:min(100% - 28px,1400px)}
  .m-brand small{display:none}
  .m-hero{height:max(690px,calc(100svh - 78px));min-height:690px}
  .m-hero-copy{padding:230px 22px 88px}
  .m-hero-placeholder{top:28px;right:22px;width:calc(100% - 44px);height:210px;border-width:1.5px;border-radius:10px}
  .m-hero h1{margin-bottom:12px;font-size:1.75rem;letter-spacing:-.015em}
  .ds-marketing .m-hero-display{font-size:clamp(2.125rem,9.25vw,2.25rem);line-height:1.12}
  .m-hero-mobile-break{display:block}
  .m-hero-display br{display:none}
  .m-hero-lead{margin-bottom:28px;font-size:1rem;line-height:1.65}
  .m-hero .m-actions{gap:22px}
  .m-hero .m-primary-link{min-width:190px}
  .m-intro-heading h2,.m-story-copy h2,.m-how-title h2,.m-local-copy h2,.m-page-hero h1,.m-manifesto h2,.m-about-location h2,.m-contact-hero h1,.m-map-heading h2{font-size:3.15rem}
  .m-menu-visual{min-height:390px}
  .m-menu-index>a{min-height:168px;padding:24px 18px;grid-template-columns:28px 1fr 34px;gap:14px}
  .m-menu-index h3{font-size:2.6rem}
  .m-story-photo{min-height:520px}
  .m-story-copy{padding-block:68px}
  .m-how-list article{grid-template-columns:34px 1fr}
  .m-how-list article>a{grid-column:2}
  .m-local-copy{padding:44px 24px}
  .m-about-collage{min-height:500px}
  .m-about-shop{width:82%;height:70%}
  .m-about-food{width:72%;height:40%}
  .m-about-gallery{grid-template-columns:1fr;min-height:0}
  .m-about-gallery img{min-height:360px}
  .m-about-gallery img:last-child{border-top:14px solid var(--m-cream);border-left:0}
  .m-contact-shop{min-height:500px}
  .m-contact-details{display:block}
  .m-contact-details>div{padding:0 0 50px!important;margin-bottom:50px;border-bottom:1px solid var(--m-line)!important}
  .m-contact-details>div:last-child{margin-bottom:0;border-bottom:0!important}
  .m-map-section{padding-block:82px}
  .m-map-placeholder>div:last-child{padding:40px 24px}
  .m-allergy-callout{margin-bottom:82px;padding:48px 24px}
  .ds-marketing .r-policy-intro{padding:72px 22px}
  .ds-marketing .r-policy-intro h1{font-size:3.4rem}
  .m-footer-cta{padding:70px 24px;display:block}
  .m-footer-cta h2{font-size:3.2rem}
  .m-round-link{margin-top:34px}
  .m-footer-grid{padding:56px 24px;grid-template-columns:1fr;gap:42px}
  .m-footer-bottom{padding-inline:24px}
}

@media(prefers-reduced-motion:reduce){
  .ds-marketing *{scroll-behavior:auto!important}
  .m-hero-visual>img,.m-marquee div{animation:none!important}
  .m-hero-visual>img{transform:translate3d(0,0,0)!important}
  .m-food-card img,.m-nav,.m-order-button,.m-primary-link{transition:none!important}
}

/* Homepage-only typography: one self-hosted sans-serif family throughout. */
body.m-home-page{font-family:"IBM Plex Sans",Arial,sans-serif}
.m-home-page h1,.m-home-page h2,.m-home-page h3,.m-home-page .m-hero-display,.m-home-page .m-map-pin span,.m-home-page .m-local-art>p,.m-home-page .m-story-photo>p strong,.m-home-page .m-footer-phone{font-family:"IBM Plex Sans",Arial,sans-serif}
.m-home-page h1,.m-home-page h2,.m-home-page h3,.m-home-page .m-hero-display,.m-home-page em{font-style:normal}
.m-home-page h2,.m-home-page h3{font-weight:600;letter-spacing:-.045em;line-height:1}
.m-home-page h1 em{font-weight:700}
.m-home-page h2 em,.m-home-page .m-hero-accent{font-weight:600}
.m-home-page .m-story-photo>p strong,.m-home-page .m-map-pin span,.m-home-page .m-local-art>p,.m-home-page .m-footer-phone{font-weight:700;letter-spacing:-.02em}
.m-home-page .m-hero-display{margin-bottom:0}
.m-home-page .m-hero .m-actions{margin-top:30px}
.m-home-page .m-header{position:sticky;top:0;z-index:700;background:#111;color:#fff;border-bottom-color:rgba(255,255,255,.16)}
.m-home-page .m-header>.m-brand{order:1}
.m-home-page .m-brand-lockup{width:360px;max-width:31vw;display:block;overflow:hidden;line-height:0}
.m-home-page .m-brand-lockup img{width:100%;height:auto;max-width:none;object-fit:contain;border:0;border-radius:0}
.m-home-page .m-header>.m-nav{order:2;margin-left:auto}
.m-home-page .m-nav{background:#111}
.m-home-page .m-nav>a:not(.m-order-button){color:#fff;font-size:1.1rem}
.m-home-page .m-home-order-button{order:3;margin-left:clamp(24px,3vw,50px)}
.m-home-page .m-header>.m-menu-toggle{order:4;color:#fff}
.m-home-page .m-home-order-button,.m-home-page .m-hero .m-primary-link{justify-content:center;gap:0;border-color:var(--m-red);border-radius:8px;background:var(--m-red);color:#fff;font-weight:700;text-align:center;box-shadow:0 5px 0 #7d211c,0 10px 20px rgba(23,23,20,.2),inset 0 1px 0 rgba(255,255,255,.24)}
.m-home-page .m-home-order-button,.m-home-page .m-home-order-button span,.m-home-page .m-hero .m-primary-link,.m-home-page .m-hero .m-primary-link span{font-family:"IBM Plex Sans",Arial,sans-serif;font-weight:700!important;font-synthesis:none;-webkit-text-stroke:.18px currentColor}
.m-home-page .m-header .m-order-button:hover,.m-home-page .m-header .m-order-button:focus,.m-home-page .m-hero .m-primary-link:hover,.m-home-page .m-hero .m-primary-link:focus{border-color:var(--m-red);background:var(--m-paper);color:var(--m-red);transform:translateY(-2px);box-shadow:0 4px 0 #c9bda8,0 9px 18px rgba(23,23,20,.18),inset 0 1px 0 rgba(255,255,255,.7)}
.m-home-page .m-header .m-home-order-button:active,.m-home-page .m-hero .m-primary-link:active{transform:translateY(3px);box-shadow:0 1px 0 #7d211c,0 4px 9px rgba(23,23,20,.16),inset 0 1px 0 rgba(255,255,255,.18)}
body.m-home-page .ds-cookie-banner,body.m-home-page .ds-cookie-dialog,body.m-home-page .ds-cookie-banner h2,body.m-home-page .ds-cookie-dialog h2,body.m-home-page .ds-cookie-dialog h3,body.m-home-page .ds-cookie-actions button,body.m-home-page .ds-cookie-dialog-head>button{font-family:"IBM Plex Sans",Arial,sans-serif!important}

@media(max-width:820px){
  .m-home-page .m-brand-lockup{width:225px;max-width:none}
  .m-home-page .m-header>.m-nav{margin-left:0}
  .m-home-page .m-nav{box-shadow:0 18px 30px rgba(0,0,0,.28)}
  .m-home-page .m-nav>a:not(.m-order-button){border-bottom-color:rgba(255,255,255,.16)}
  .m-home-page .m-home-order-button{min-width:0;margin-left:auto;padding:12px 14px;gap:0;white-space:nowrap;font-size:.68rem}
}

@media(max-width:560px){
  .m-home-page .m-hero .m-actions{margin-top:24px}
  .m-reviews-head{padding:14px 16px 10px}
  .m-reviews-head h2{font-size:1.05rem}
  .m-reviews-head p{font-size:.52rem}
  .m-google-maps-attribution{font-size:.6rem}
  .m-reviews-body{padding:10px 16px 12px}
  .m-review-card>p{margin-top:8px;font-size:.74rem;line-height:1.4;-webkit-line-clamp:2}
  .m-review-controls{margin-top:7px}
  .m-home-page .m-brand-lockup{width:190px}
  .m-home-page .m-menu-toggle>span{display:none}
}

@media(max-width:360px){
  .m-home-page .m-brand-lockup{width:48px;height:48px}
  .m-home-page .m-brand-lockup img{width:240px;height:48px;object-fit:contain;object-position:left center}
  .m-home-page .m-home-order-button{padding-inline:10px;font-size:.62rem}
  .m-home-page .m-header>.m-menu-toggle{padding:9px}
}
