@font-face{font-family:Cormorant;src:url('../assets/fonts/cormorant-regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Cormorant;src:url('../assets/fonts/cormorant-italic.ttf') format('truetype');font-weight:400;font-style:italic;font-display:swap}
:root{--cream:#faf7f1;--paper:#f3ede4;--ink:#231f20;--muted:#655c57;--line:#ded5cb;--red:#b62025;--serif:Cormorant,Georgia,serif;--sans:Arial,Helvetica,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:115px}body{margin:0;background:var(--cream);color:var(--ink);font:13px/1.9 var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;width:100%;height:100%;object-fit:cover}h1,h2,p{margin:0}p+p{margin-top:22px}h1,h2{font-family:var(--serif);font-weight:400;line-height:1.1}h2{font-size:37px;letter-spacing:.4px;margin-bottom:30px}a:focus-visible,button:focus-visible{outline:2px solid var(--red);outline-offset:6px}.bp-skip{position:fixed;top:-80px;left:15px;z-index:100;background:var(--cream);padding:15px}.bp-skip:focus{top:10px}
.bp-header{height:112px;display:flex;align-items:center;justify-content:space-between;padding:0 7%;position:sticky;top:0;z-index:20;background:var(--cream);border-bottom:1px solid #231f2010;transition:box-shadow .25s}.bp-header.scrolled{box-shadow:0 4px 20px #231f2008}.bp-wordmark{display:block;width:155px;flex-shrink:0}.bp-wordmark img{height:auto;object-fit:contain}nav{display:flex;align-items:center;gap:34px;font-size:10px;letter-spacing:.7px}nav a{padding:12px 0}nav a:hover{text-decoration:underline;text-underline-offset:7px}.bp-nav-cta{color:var(--red);border-bottom:1px solid #b6202555;min-width:85px;display:flex;justify-content:space-between;margin-left:20px}.bp-nav-cta span{font-size:20px;line-height:1}.bp-menu-toggle{display:none}
.bp-hero{height:min(720px,calc(100svh - 112px));min-height:520px;position:relative;color:var(--cream);overflow:hidden}.bp-hero-image{position:absolute;inset:0;object-position:center 57%;animation:bp-depth 1.8s ease-out both}.bp-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#211c19d4,#211c1966 50%,#211c1900 85%)}.bp-hero-copy{position:relative;padding:135px 9% 100px;max-width:860px;animation:bp-enter 1s .1s both}.bp-hero h1{font-size:clamp(49px,5.3vw,80px);letter-spacing:1px;line-height:1.03}.bp-hero-tagline{font:italic 34px/1.25 var(--serif);max-width:440px;margin-top:24px}.bp-button{display:inline-flex;align-items:center;gap:60px;border-bottom:1px solid #faf7f180;color:var(--cream);padding:12px 0;margin-top:35px;font-size:10px;letter-spacing:1.5px;transition:transform .25s}.bp-button>span{border:1px solid #faf7f170;border-radius:50%;width:29px;height:29px;display:grid;place-content:center;font-size:19px}.bp-button:hover{transform:translateY(-3px)}.bp-scroll{position:absolute;bottom:30px;left:9%;display:flex;gap:15px;align-items:center;font-size:8px;letter-spacing:2px;text-transform:uppercase}.bp-scroll span{display:block;width:45px;height:1px;background:#fff8}
.bp-intro{padding:100px 8% 80px;text-align:center;max-width:1000px;margin:auto}.bp-intro .bp-lead{font:29px/1.45 var(--serif);color:var(--ink)}.bp-intro>p:not(.bp-lead){max-width:610px;margin:25px auto 0;font-size:12px;color:var(--muted)}.bp-rule{display:block;width:55px;height:1px;background:var(--red);margin:45px auto 0}
.bp-editorial{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:5%;padding:60px 9% 90px 3%;position:relative;overflow:hidden}.bp-copy{position:relative;z-index:1;max-width:480px}.bp-copy p{font-size:12px;line-height:1.95;color:var(--muted)}.bp-copy h2:before{content:'';display:block;height:1px;width:35px;background:var(--red);margin-bottom:27px}.bp-cutout{width:112%;margin-left:-8%;transform:translate3d(0,var(--dish-offset,0px),0);will-change:transform}.bp-cutout img{height:auto;object-fit:contain;filter:drop-shadow(0 18px 15px #49351d0d);transition:rotate .9s ease}.bp-cutout:hover img{rotate:-2deg}.bp-menu{grid-template-columns:1fr 1.15fr;padding:100px 2% 100px 12%;gap:5%;background:var(--paper)}.bp-menu .bp-cutout{width:112%;margin-left:0}.bp-menu h2{font-size:47px}.bp-copy .bp-signoff{font:italic 28px/1.25 var(--serif);color:var(--ink);margin-top:30px}
.bp-wine{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:10%;padding:110px 10%}.bp-wine-image{height:660px;border-radius:48% 48% 0 0;overflow:hidden}.bp-wine .bp-copy{max-width:470px}.bp-wine h2{font-size:36px}.bp-gather{padding-top:90px;padding-bottom:95px;background:var(--paper)}.bp-gather .bp-cutout{width:111%}.bp-gather h2{font-size:40px}
.bp-visit{display:grid;grid-template-columns:1.1fr 1fr 1fr;align-items:center;gap:7%;padding:85px 10%}.bp-visit h2{font-size:38px;margin-bottom:10px}.bp-location-name{font:italic 25px var(--serif)}.bp-visit address{font-style:normal;font-size:12px}.bp-visit p+p{margin-top:7px}.bp-text-link{display:inline-flex;gap:35px;align-items:center;border-bottom:1px solid #b6202555;color:var(--red);font-size:10px;margin-top:17px;padding-bottom:7px}.bp-text-link span{font-size:20px;transition:transform .2s}.bp-text-link:hover span{transform:translateX(4px)}.bp-footer{display:flex;align-items:center;justify-content:space-between;gap:60px;margin:0 7%;padding:38px 3%;border-top:1px solid var(--line)}.bp-footer .bp-wordmark{width:130px}.bp-footer p{font-size:11px;max-width:470px;color:var(--muted)}
.bp-reveal{opacity:1;transform:none}.bp-motion .bp-reveal{opacity:0;transform:translateY(20px);transition:opacity .8s ease,transform .8s ease}.bp-motion .bp-reveal.visible{opacity:1;transform:none}@keyframes bp-enter{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes bp-depth{from{transform:scale(1.045)}to{transform:scale(1)}}
@media(min-width:1600px){.bp-editorial{padding-left:max(3%,calc((100vw - 1400px)/2));padding-right:max(9%,calc((100vw - 1200px)/2))}.bp-menu{padding-left:max(12%,calc((100vw - 1150px)/2));padding-right:max(2%,calc((100vw - 1400px)/2))}.bp-wine{padding-left:max(10%,calc((100vw - 1200px)/2));padding-right:max(10%,calc((100vw - 1200px)/2))}}
@media(max-width:1000px){.bp-header{padding:0 5%}nav{gap:19px;font-size:9px}.bp-nav-cta{margin-left:0}.bp-hero-copy{padding-top:110px}.bp-hero-tagline{font-size:30px;max-width:380px}.bp-editorial{padding-right:7%;gap:3%}.bp-copy h2{font-size:31px}.bp-menu{padding-left:8%;padding-right:2%}.bp-wine{padding:85px 7%;gap:7%}.bp-wine-image{height:640px}.bp-wine h2{font-size:31px}.bp-copy p{font-size:11px}.bp-copy .bp-signoff{font-size:25px}.bp-visit{padding:75px 7%;gap:5%}}
@media(max-width:720px){html{scroll-padding-top:90px}.bp-header{height:90px;padding:0 6%}.bp-wordmark{width:125px}.bp-menu-toggle{display:flex;align-items:center;gap:15px;border:0;background:none;color:var(--ink);padding:12px 0 12px 12px;font-size:11px}.bp-menu-toggle span{font-size:19px}nav{display:none;position:absolute;top:90px;left:0;right:0;background:var(--cream);padding:20px 7% 25px;border-bottom:1px solid var(--line);box-shadow:0 10px 15px #0001}nav.open{display:flex;align-items:stretch;flex-direction:column;gap:2px;font-size:12px}.bp-nav-cta{align-self:flex-start;min-width:105px;margin-top:9px}.bp-hero{height:calc(88svh - 90px);min-height:490px;max-height:660px}.bp-hero-image{object-position:62% center}.bp-hero-shade{background:linear-gradient(90deg,#211c19cf,#211c1955)}.bp-hero-copy{padding:110px 8% 75px}.bp-hero h1{font-size:46px;letter-spacing:0}.bp-hero-tagline{font-size:29px;max-width:300px;margin-top:20px}.bp-button{margin-top:28px}.bp-scroll{left:8%;bottom:29px}.bp-intro{padding:65px 8% 40px}.bp-intro .bp-lead{font-size:26px;line-height:1.4}.bp-intro>p:not(.bp-lead){font-size:12px}.bp-rule{margin-top:30px}.bp-editorial{grid-template-columns:1fr;padding:10px 8% 65px;gap:5px}.bp-copy{max-width:none}.bp-copy p{font-size:12px}.bp-copy h2{font-size:34px}.bp-cutout{width:118%;margin-left:-9%;will-change:auto;transform:none!important}.bp-cutout img{max-height:370px;object-fit:contain}.bp-menu{padding-top:55px;gap:10px}.bp-menu .bp-cutout{width:118%;margin-left:-9%;grid-row:1}.bp-menu .bp-copy{grid-row:2}.bp-menu h2{font-size:40px}.bp-copy .bp-signoff{font-size:27px}.bp-wine{grid-template-columns:1fr;padding:65px 8%;gap:40px}.bp-wine-image{height:400px;max-width:370px;width:100%;margin:auto}.bp-wine h2{font-size:34px}.bp-gather{padding-top:20px}.bp-gather .bp-cutout{width:118%}.bp-visit{grid-template-columns:1fr;gap:27px;padding:60px 8%}.bp-visit h2{font-size:36px}.bp-footer{margin:0 8%;padding:32px 0;flex-direction:column;gap:25px;text-align:center}.bp-footer .bp-wordmark{width:130px}.bp-footer p{font-size:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.bp-motion .bp-reveal{opacity:1;transform:none}.bp-cutout{transform:none!important}.bp-cutout:hover img{rotate:0deg}}
@media(max-width:720px){.bp-cutout,.bp-menu .bp-cutout,.bp-gather .bp-cutout{width:108%;margin-left:-4%}}

/* Restored alternating food stories and their original creative copy. */
.bp-food-stories{padding:55px 9% 65px;background:var(--cream)}
.bp-food-story{display:grid;grid-template-columns:1.15fr 1fr;align-items:center;gap:9%;max-width:1180px;margin:0 auto;min-height:430px}
.bp-food-story:nth-of-type(odd){grid-template-columns:1fr 1.15fr}
.bp-food-story:nth-of-type(odd) .bp-story-art{order:2}
.bp-food-story:nth-of-type(odd) .bp-dish-copy{order:1;padding-left:12%}
.bp-story-art{height:420px;transform:translate3d(0,var(--dish-offset,0px),0);will-change:transform}
.bp-story-art img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 18px 15px #49351d0d);transition:rotate .8s ease}
.bp-story-art:hover img{rotate:-2deg}
.bp-dish-copy{max-width:360px}
.bp-dish-copy .bp-eyebrow{font-size:8px;letter-spacing:2.4px;color:var(--red);margin:0 0 22px}
.bp-dish-copy h3{font:400 44px/1.08 var(--serif);letter-spacing:-.6px;margin:0 0 23px}
.bp-dish-copy h3 em{font-weight:400}
.bp-dish-copy>p:not(.bp-eyebrow){font-size:12px;line-height:1.95;color:var(--muted);max-width:310px}
.bp-dish-note{display:block;font:italic 23px/1.3 var(--serif);color:#887366;margin-top:24px}
@media(max-width:1000px){.bp-food-stories{padding:40px 7%}.bp-food-story{gap:5%;min-height:365px}.bp-story-art{height:350px}.bp-dish-copy h3{font-size:38px}.bp-food-story:nth-of-type(odd) .bp-dish-copy{padding-left:0}}
@media(max-width:720px){.bp-food-stories{padding:35px 8% 45px}.bp-food-story,.bp-food-story:nth-of-type(odd){grid-template-columns:1fr;gap:0;min-height:0;margin-bottom:40px}.bp-food-story:last-child{margin-bottom:0}.bp-story-art{height:auto;aspect-ratio:1.16;width:108%;margin-left:-4%;transform:none!important;will-change:auto}.bp-food-story:nth-of-type(odd) .bp-story-art{order:0}.bp-dish-copy,.bp-food-story:nth-of-type(odd) .bp-dish-copy{padding:10px 0 15px;max-width:none;order:1}.bp-dish-copy h3{font-size:38px;margin-bottom:20px}.bp-dish-copy .bp-eyebrow{font-size:7px;margin-bottom:17px}.bp-dish-copy>p:not(.bp-eyebrow){max-width:none}.bp-dish-note{font-size:22px;margin-top:20px}}
@media(prefers-reduced-motion:reduce){.bp-story-art{transform:none!important}.bp-story-art:hover img{rotate:0deg}}

/* Verbatim menu introduction spans the alternating section's content width. */
.bp-menu-intro{max-width:1180px;width:100%;margin:0 auto 55px;padding:35px 0 45px;border-bottom:1px solid var(--line)}
.bp-menu-intro h2{font-size:47px;margin-bottom:28px}
.bp-menu-intro h2:before{content:'';display:block;width:35px;height:1px;background:var(--red);margin-bottom:27px}
.bp-menu-intro>p{max-width:none;width:100%;font-size:13px;line-height:1.95;color:var(--muted)}
.bp-menu-intro .bp-signoff{font:italic 29px/1.3 var(--serif);color:var(--ink);margin-top:27px}
@media(max-width:720px){.bp-menu-intro{margin-bottom:25px;padding:20px 0 35px}.bp-menu-intro h2{font-size:40px}.bp-menu-intro>p{font-size:12px}.bp-menu-intro .bp-signoff{font-size:27px}}

/* Headlines use the same italic Cormorant as the hero subtitle. */
.bp-hero h1,.bp-copy h2,.bp-menu-intro h2,.bp-gather h2,.bp-visit h2,.bp-dish-copy h3{font-family:var(--serif);font-style:italic;font-weight:400;letter-spacing:-.5px;line-height:1.13}
.bp-headline-word{display:inline-block;text-transform:lowercase}
.bp-headline-word:first-letter{text-transform:uppercase}
.bp-hero h1{font-size:clamp(52px,5.3vw,76px)}
.bp-menu-intro h2{font-size:49px}
.bp-gather h2{font-size:43px}
.bp-visit h2{font-size:43px}
.bp-dish-copy h3{font-size:44px}
.bp-dish-copy h3 em{font-style:inherit}
@media(max-width:1000px){.bp-hero h1{font-size:65px}.bp-gather h2{font-size:39px}.bp-dish-copy h3{font-size:38px}}
@media(max-width:720px){.bp-hero h1{font-size:clamp(44px,12vw,57px)}.bp-menu-intro h2{font-size:43px}.bp-gather h2{font-size:39px}.bp-visit h2{font-size:39px}.bp-dish-copy h3{font-size:39px}}

/* Warm, legible body typography and a French menu-inspired section. */
@font-face{font-family:'DM Sans';src:url('../assets/fonts/dm-sans-regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'DM Sans';src:url('../assets/fonts/dm-sans-medium.ttf') format('truetype');font-weight:500;font-style:normal;font-display:swap}
:root{--sans:'DM Sans',Arial,sans-serif}
body{font-size:14px}
.bp-copy p,.bp-intro>p:not(.bp-lead),.bp-dish-copy>p:not(.bp-eyebrow){font-size:14px;line-height:1.85}
.bp-copy .bp-signoff{font-size:28px;line-height:1.3}
.bp-visit p:not(.bp-location-name),.bp-visit address{font-size:13px}
nav{font-size:11px;letter-spacing:.3px}
.bp-footer p{font-size:12px}
.bp-food-stories{background:var(--paper);padding-top:80px;padding-bottom:85px}
.bp-menu-intro{position:relative;text-align:center;border-top:3px double #b6202570;border-bottom:3px double #b6202570;margin-bottom:60px;padding:47px 0 42px}
.bp-menu-intro h2{font-size:62px;line-height:1.1;color:var(--red);margin-bottom:25px;display:flex;align-items:center;justify-content:center;gap:13px}
.bp-menu-intro h2:before,.bp-menu-intro h2:after{content:'';width:48px;height:1px;background:#b6202570;display:block;margin:0 13px}
.bp-menu-intro>p{font-size:14px;line-height:1.85;color:var(--ink)}
.bp-menu-intro [data-source="13"]{color:var(--muted);margin-top:17px}
.bp-menu-intro [data-source="14"]{margin-top:30px;padding-top:27px;border-top:1px solid var(--line)}
.bp-menu-intro strong{font:italic 29px/1.15 var(--serif);color:var(--red);white-space:nowrap}
.bp-menu-intro .bp-signoff{color:var(--red);font-size:32px;margin-top:25px}
.bp-food-story{min-height:460px;position:relative}
.bp-food-story+.bp-food-story{border-top:1px solid #b620251c}
.bp-dish-copy .bp-eyebrow{font-size:9px;font-weight:500;letter-spacing:2px;display:flex;align-items:center;gap:13px}
.bp-dish-copy .bp-eyebrow:before{content:'';height:1px;width:25px;background:var(--red);flex-shrink:0}
.bp-dish-note{color:var(--red);font-size:24px}
@media(max-width:1000px){nav{font-size:10px;gap:17px}.bp-copy p,.bp-dish-copy>p:not(.bp-eyebrow){font-size:13px}.bp-food-stories{padding-top:60px}.bp-menu-intro h2{font-size:57px}.bp-food-story{min-height:400px}}
@media(max-width:720px){nav{font-size:13px}.bp-food-stories{padding-top:50px;padding-bottom:45px}.bp-menu-intro{padding:32px 0 30px;margin-bottom:25px}.bp-menu-intro h2{font-size:46px;gap:9px;margin-bottom:23px}.bp-menu-intro h2:before,.bp-menu-intro h2:after{width:20px;margin:0 3px}.bp-menu-intro>p{font-size:13px;line-height:1.9}.bp-menu-intro strong{font-size:25px;white-space:normal}.bp-menu-intro .bp-signoff{font-size:29px}.bp-food-story{min-height:0}.bp-food-story+.bp-food-story{padding-top:20px}.bp-copy p,.bp-intro>p:not(.bp-lead),.bp-dish-copy>p:not(.bp-eyebrow){font-size:14px;line-height:1.85}.bp-copy .bp-signoff{font-size:27px;line-height:1.3}.bp-dish-copy .bp-eyebrow{font-size:8px;letter-spacing:1.8px}}

/* From the boulangerie: warm bakery photography and an editorial story. */
.bp-story{grid-template-columns:1fr 1.1fr;gap:10%;padding:45px 10% 115px;overflow:visible;align-items:center}
.bp-bakery-image{position:relative;margin:0 0 0 12px;height:635px;isolation:isolate}
.bp-bakery-image:before{content:'';position:absolute;inset:22px 22px -18px -18px;border:1px solid #b6202555;z-index:-1}
.bp-bakery-image img{object-fit:cover;object-position:center;transition:filter .6s ease}
.bp-bakery-image:hover img{filter:brightness(1.035)}
.bp-story .bp-copy{max-width:530px}
.bp-story .bp-copy h2{font-size:44px;line-height:1.13;margin-bottom:27px}
.bp-story .bp-copy h2:before{width:55px;margin-bottom:25px}
.bp-story [data-source="7"]{font:italic 30px/1.2 var(--serif);color:var(--red);border-left:1px solid #b6202560;padding-left:22px;margin:27px 0}
.bp-story [data-source="10"]{border-top:1px solid var(--line);padding-top:22px;margin-top:25px}
@media(min-width:1600px){.bp-story{padding-left:max(10%,calc((100vw - 1200px)/2));padding-right:max(10%,calc((100vw - 1200px)/2))}}
@media(max-width:1000px){.bp-story{gap:7%;padding:35px 7% 90px}.bp-bakery-image{height:650px}.bp-story .bp-copy h2{font-size:37px}.bp-story [data-source="7"]{font-size:27px}}
@media(max-width:720px){.bp-story{grid-template-columns:1fr;gap:55px;padding:25px 8% 70px}.bp-bakery-image{height:420px;margin:0 0 0 12px}.bp-bakery-image:before{inset:16px 16px -14px -14px}.bp-story .bp-copy h2{font-size:39px}.bp-story [data-source="7"]{font-size:28px;margin:24px 0}.bp-story [data-source="10"]{padding-top:20px}}

/* Wheat is taken directly from the supplied logo, used as quiet brand detail. */
.bp-wheat{display:block;aspect-ratio:510/240;background:var(--ink);-webkit-mask:url('../assets/wheat-motif.svg') center/contain no-repeat;mask:url('../assets/wheat-motif.svg') center/contain no-repeat;pointer-events:none;user-select:none}
.bp-wheat-divider{width:105px;opacity:.28;margin:37px auto 0;transform:rotate(-8deg)}
.bp-wheat-menu{position:absolute;width:85px;top:-22px;left:50%;transform:translateX(-50%);background:var(--red);opacity:.35}
.bp-menu-intro{border-top:0}
.bp-menu-intro:before,.bp-menu-intro:after{content:'';position:absolute;top:0;width:calc(50% - 65px);height:3px;border-top:1px solid #b6202555;border-bottom:1px solid #b6202555}
.bp-menu-intro:before{left:0}.bp-menu-intro:after{right:0}
.bp-wine,.bp-visit{position:relative;isolation:isolate;overflow:hidden}
.bp-wheat-wine{position:absolute;width:310px;right:-90px;top:30px;transform:rotate(-32deg);opacity:.045;z-index:-1}
.bp-wheat-visit{position:absolute;width:240px;right:-65px;bottom:-5px;transform:rotate(-28deg);opacity:.055;z-index:-1}
@media(max-width:720px){.bp-wheat-divider{width:85px;margin-top:28px}.bp-wheat-menu{width:70px;top:-17px}.bp-menu-intro:before,.bp-menu-intro:after{width:calc(50% - 53px)}.bp-wheat-wine{width:200px;right:-75px;top:15px;opacity:.035}.bp-wheat-visit{width:190px;right:-45px;bottom:10px}}

/* Make the wheat accents visible at ordinary screen brightness. */
.bp-wheat-divider{width:145px;opacity:.52;margin-top:35px}
.bp-wheat-menu{width:115px;top:-29px;opacity:.68}
.bp-menu-intro:before,.bp-menu-intro:after{width:calc(50% - 85px)}
.bp-wheat-wine{width:285px;right:18px;top:24px;opacity:.14;z-index:0;transform:rotate(-18deg)}
.bp-wine>.bp-copy,.bp-wine-image{position:relative;z-index:1}
.bp-wheat-visit{width:210px;right:20px;bottom:15px;opacity:.18;z-index:0;transform:rotate(-18deg)}
.bp-visit>div{position:relative;z-index:1}
@media(max-width:720px){.bp-wheat-divider{width:115px;opacity:.5}.bp-wheat-menu{width:90px;top:-22px;opacity:.65}.bp-menu-intro:before,.bp-menu-intro:after{width:calc(50% - 63px)}.bp-wheat-wine{width:165px;right:10px;top:15px;opacity:.14}.bp-wheat-visit{width:150px;right:12px;bottom:20px;opacity:.2}}

/* Quiet full-width menu introduction; food stories below stay unchanged. */
.bp-menu-intro{text-align:left;border:0;padding:10px 0 25px;margin-bottom:35px}
.bp-menu-intro:before,.bp-menu-intro:after,.bp-menu-intro h2:before,.bp-menu-intro h2:after{display:none}
.bp-menu-intro h2{display:block;font-size:49px;color:var(--ink);margin-bottom:27px}
.bp-menu-intro>p{font-size:14px;line-height:1.9;color:var(--muted)}
.bp-menu-intro [data-source="13"]{margin-top:18px}
.bp-menu-intro [data-source="14"]{border:0;padding:0;margin-top:18px}
.bp-menu-intro .bp-signoff{font:italic 30px/1.3 var(--serif);color:var(--ink);margin-top:28px}
@media(max-width:720px){.bp-menu-intro{padding:5px 0 15px;margin-bottom:20px}.bp-menu-intro h2{font-size:43px}.bp-menu-intro>p{font-size:13px}.bp-menu-intro .bp-signoff{font-size:28px}}

/* A balanced masthead with the supplied identity at its center. */
.bp-header{height:130px;display:flex;justify-content:center;padding:0 6%;border-top:3px solid var(--red);border-bottom:1px solid #b6202526;background:var(--cream)}
.bp-header:after{content:'';position:absolute;bottom:5px;left:30px;right:30px;height:1px;background:#b6202515;pointer-events:none}
.bp-header>.bp-wordmark{position:relative;z-index:2;width:165px;flex-shrink:0}
.bp-header nav{position:absolute;inset:0 6%;display:grid;grid-template-columns:1fr 220px 1fr;align-items:center;gap:0;padding:0;border:0;background:none;box-shadow:none;font-size:12px;font-weight:500;letter-spacing:.2px}
.bp-nav-group{display:flex;align-items:center;gap:36px}
.bp-nav-left{grid-column:1;justify-content:flex-start}
.bp-nav-right{grid-column:3;justify-content:flex-end}
.bp-header nav a{position:relative;padding:15px 0;white-space:nowrap}
.bp-header nav a:not(.bp-nav-cta):after{content:'';position:absolute;left:0;right:0;bottom:8px;height:1px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform .25s ease}
.bp-header nav a:hover{text-decoration:none}
.bp-header nav a:hover:after,.bp-header nav a:focus-visible:after{transform:scaleX(1)}
.bp-header .bp-nav-cta{display:flex;gap:24px;align-items:center;justify-content:space-between;min-width:125px;margin:0;padding:12px 19px;border:1px solid #b6202560;color:var(--red);font-size:11px;transition:box-shadow .25s,transform .25s}
.bp-header .bp-nav-cta:hover{box-shadow:0 3px 0 #b6202517;transform:translateY(-1px)}
.bp-header .bp-nav-cta>span{font-size:22px;line-height:1}
.bp-mobile-visit{display:none}
.bp-hero{height:min(720px,calc(100svh - 130px))}
html{scroll-padding-top:140px}
@media(min-width:901px) and (max-width:1150px){.bp-header{padding:0 4%}.bp-header nav{inset:0 4%;grid-template-columns:1fr 180px 1fr;font-size:11px}.bp-nav-group{gap:23px}.bp-header>.bp-wordmark{width:150px}.bp-header .bp-nav-cta{min-width:108px;padding:11px 14px;gap:18px}}
@media(max-width:900px){
html{scroll-padding-top:100px}
.bp-header{height:96px;padding:0 6%}
.bp-header:after{left:15px;right:15px;bottom:4px}
.bp-header>.bp-wordmark{width:125px}
.bp-menu-toggle{position:absolute;left:6%;display:flex;align-items:center;gap:10px;padding:14px 0;border:0;background:none;color:var(--ink);z-index:3;min-height:44px}
.bp-menu-toggle .bp-menu-label{font:11px var(--sans);letter-spacing:.3px}
.bp-menu-lines{width:20px;height:12px;position:relative;display:block}
.bp-menu-lines:before,.bp-menu-lines:after{content:'';position:absolute;left:0;width:20px;height:1px;background:var(--ink);transition:transform .25s,top .25s}
.bp-menu-lines:before{top:2px}.bp-menu-lines:after{top:10px}
.bp-menu-toggle[aria-expanded="true"] .bp-menu-lines:before{top:6px;transform:rotate(45deg)}
.bp-menu-toggle[aria-expanded="true"] .bp-menu-lines:after{top:6px;transform:rotate(-45deg)}
.bp-mobile-visit{display:flex;align-items:center;gap:9px;position:absolute;right:6%;padding:14px 0;color:var(--red);font-size:11px;min-height:44px;z-index:3}
.bp-mobile-visit>span{font-size:20px}
.bp-header nav{display:none;position:absolute;inset:93px 0 auto;max-height:calc(100svh - 96px);overflow-y:auto;padding:27px 8% 35px;background:var(--cream);border-bottom:1px solid #b6202533;box-shadow:0 16px 24px #231f2010}
.bp-header nav.open{display:block}
.bp-nav-group{display:flex;flex-direction:column;align-items:stretch;gap:0}
.bp-header nav a{font:italic 31px/1.2 var(--serif);padding:15px 0;border-bottom:1px solid var(--line)}
.bp-header nav a:not(.bp-nav-cta):after{display:none}
.bp-header .bp-nav-cta{margin-top:23px;align-self:flex-start;min-width:140px;justify-content:space-between;font:500 12px var(--sans);padding:14px 20px}
.bp-hero{height:calc(88svh - 96px)}
}
@media(max-width:360px){.bp-header>.bp-wordmark{width:111px}.bp-menu-toggle .bp-menu-label{font-size:10px}.bp-mobile-visit{font-size:10px}.bp-menu-toggle{gap:7px}.bp-menu-lines,.bp-menu-lines:before,.bp-menu-lines:after{width:17px}}

/* More expressive masthead typography and a signature red action. */
@media(min-width:901px){
.bp-header nav{font-family:var(--serif);font-size:22px;font-weight:400;font-style:italic;letter-spacing:0}
.bp-nav-group{gap:30px}
.bp-header nav a:not(.bp-nav-cta){padding:15px 0;line-height:1.2}
.bp-header nav a:not(.bp-nav-cta):after{bottom:7px}
}
.bp-header .bp-nav-cta{background:var(--red);color:var(--cream);border:1px solid var(--red);min-width:145px;padding:10px 12px 10px 22px;gap:22px;font:500 12px/1.2 var(--sans);letter-spacing:.5px;box-shadow:0 5px 14px #b6202512;transition:transform .25s,box-shadow .25s}
.bp-header .bp-nav-cta>span{display:grid;place-items:center;width:30px;height:30px;border:1px solid #faf7f165;border-radius:50%;font:400 22px/1 var(--sans);transition:transform .25s}
.bp-header .bp-nav-cta:hover{background:var(--red);color:var(--cream);transform:translateY(-2px);box-shadow:0 8px 20px #b6202525}
.bp-header .bp-nav-cta:hover>span{transform:translateX(2px)}
.bp-button{font:italic 22px/1.25 var(--serif);letter-spacing:0;gap:40px;padding:12px 0}
.bp-button>span{width:34px;height:34px;font:400 22px/1 var(--sans);transition:transform .25s}
.bp-button:hover>span{transform:translateX(3px)}
@media(min-width:901px) and (max-width:1150px){.bp-header nav{font-size:19px;grid-template-columns:1fr 175px 1fr}.bp-nav-group{gap:20px}.bp-header .bp-nav-cta{min-width:122px;padding:9px 10px 9px 15px;gap:13px;font-size:11px}}
@media(max-width:900px){.bp-header .bp-nav-cta{font:500 12px/1.2 var(--sans);padding:11px 14px 11px 22px;min-width:155px}.bp-mobile-visit{font:italic 18px/1.2 var(--serif)}.bp-mobile-visit>span{font:400 20px var(--sans)}.bp-menu-toggle .bp-menu-label{font:italic 18px/1.2 var(--serif)}.bp-header nav a:not(.bp-nav-cta){font-size:33px}.bp-button{font-size:21px}}
@media(max-width:360px){.bp-mobile-visit,.bp-menu-toggle .bp-menu-label{font-size:16px}}

/* Equal-weight navigation, centered on either side of the logo. */
@media(min-width:901px){
.bp-nav-left,.bp-nav-right{justify-content:center}
.bp-header .bp-nav-cta{display:block;min-width:0;margin:0;padding:15px 0;border:0;background:none;color:var(--ink);font:inherit;letter-spacing:inherit;line-height:1.2;box-shadow:none;transition:none}
.bp-header .bp-nav-cta:hover{background:none;color:var(--ink);transform:none;box-shadow:none}
.bp-header .bp-nav-cta>span{display:none}
.bp-header .bp-nav-cta:after{content:'';position:absolute;left:0;right:0;bottom:7px;height:1px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform .25s ease}
.bp-header .bp-nav-cta:hover:after,.bp-header .bp-nav-cta:focus-visible:after{transform:scaleX(1)}
}
@media(max-width:900px){
.bp-header .bp-nav-cta{align-self:stretch;display:block;margin:0;padding:15px 0;min-width:0;border:0;border-bottom:1px solid var(--line);background:none;color:var(--ink);font:italic 33px/1.2 var(--serif);letter-spacing:0;box-shadow:none}
.bp-header .bp-nav-cta>span{display:none}
.bp-header .bp-nav-cta:hover{background:none;color:var(--ink);transform:none;box-shadow:none}
}

/* Preview: logo left, one navigation group aligned right. */
@media(min-width:901px){
.bp-header{justify-content:space-between}
.bp-header nav{position:static;inset:auto;display:flex;align-items:center;justify-content:flex-end;gap:30px;margin-left:auto;padding-left:50px}
.bp-nav-left,.bp-nav-right{justify-content:flex-start;gap:30px}
}
@media(min-width:901px) and (max-width:1150px){
.bp-header nav{gap:22px;padding-left:30px}
.bp-nav-left,.bp-nav-right{gap:22px}
}
@media(max-width:900px){
.bp-header{justify-content:flex-start}
.bp-menu-toggle{left:auto;right:6%}
.bp-mobile-visit{right:calc(6% + 90px)}
}

/* Miniature food cutouts beside each navigation link. */
.bp-nav-cutout{display:block;width:45px;height:43px;object-fit:contain;flex-shrink:0;transition:transform .25s ease;filter:drop-shadow(0 3px 2px #231f2010)}
.bp-nav-wheat{width:38px;opacity:.65;filter:none}
.bp-header nav a:hover .bp-nav-cutout{transform:translateY(-2px) rotate(-3deg)}
@media(min-width:901px){
.bp-header nav{gap:25px;padding-left:35px}
.bp-nav-left,.bp-nav-right{gap:25px}
.bp-header nav a:not(.bp-nav-cta),.bp-header .bp-nav-cta{display:flex;align-items:center;gap:9px;padding:12px 0}
.bp-header nav a:after{left:54px!important}
}
@media(min-width:901px) and (max-width:1200px){
.bp-header nav{gap:15px;padding-left:20px;font-size:19px}
.bp-nav-left,.bp-nav-right{gap:15px}
.bp-nav-cutout{width:32px;height:36px}.bp-nav-wheat{width:28px}
.bp-header nav a:not(.bp-nav-cta),.bp-header .bp-nav-cta{gap:6px}
.bp-header nav a:after{left:38px!important}
.bp-header>.bp-wordmark{width:135px}
}
@media(max-width:900px){
.bp-header nav a:not(.bp-nav-cta),.bp-header .bp-nav-cta{display:flex;align-items:center;gap:20px}
.bp-nav-cutout{width:51px;height:45px}.bp-nav-wheat{width:51px;opacity:.65}
}
.bp-header .bp-nav-cta{justify-content:flex-start}

/* Boulangerie story: 40/60 split, excluding the space between columns. */
@media(min-width:721px){.bp-story{grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:6%}.bp-story .bp-copy{max-width:none}}

/* Let the story copy determine the image height. */
@media(min-width:721px){
.bp-story{align-items:stretch}
.bp-story .bp-bakery-image{height:auto;min-height:0;align-self:stretch}
.bp-story .bp-bakery-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
}

/* Wheat detail above the boulangerie heading, matching the navigation. */
.bp-story .bp-copy h2:before{width:70px;height:33px;margin-bottom:18px;background:url('../assets/wheat-motif.svg') center/contain no-repeat;opacity:.65}
.bp-story .bp-copy h2:before{margin-bottom:5px}

/* Editorial body copy, paired with the existing Cormorant headlines. */
@font-face{font-family:'Source Serif 4';src:url('../assets/fonts/source-serif-regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
.bp-copy p:not(.bp-signoff):not([data-source="7"]),.bp-intro>p:not(.bp-lead),.bp-menu-intro>p:not(.bp-signoff),.bp-dish-copy>p:not(.bp-eyebrow),.bp-visit p:not(.bp-location-name),.bp-visit address,.bp-footer p{font-family:'Source Serif 4',Georgia,serif;font-size:16px;line-height:1.8;font-weight:400}
.bp-footer p{font-size:14px}
@media(max-width:720px){.bp-copy p:not(.bp-signoff):not([data-source="7"]),.bp-intro>p:not(.bp-lead),.bp-menu-intro>p:not(.bp-signoff),.bp-dish-copy>p:not(.bp-eyebrow),.bp-visit p:not(.bp-location-name),.bp-visit address{font-size:15px;line-height:1.8}.bp-footer p{font-size:13px}}

/* A clear, understated hero action. */
.bp-hero .bp-button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;min-height:49px;min-width:163px;margin-top:32px;padding:14px 22px;border:1px solid var(--cream);background:var(--cream);color:var(--ink);font:500 12px/1.4 var(--sans);letter-spacing:.5px;box-shadow:none;transition:transform .25s,box-shadow .25s}
.bp-hero .bp-button>span{display:inline-block;width:auto;height:auto;border:0;border-radius:0;font:400 22px/1 var(--sans);transition:transform .25s}
.bp-hero .bp-button:hover{transform:translateY(-2px);box-shadow:0 6px 16px #0002}
.bp-hero .bp-button:hover>span{transform:translateX(3px)}

/* A delicate outlined hero action with the site's italic display lettering. */
.bp-hero .bp-button{min-width:180px;min-height:54px;padding:12px 25px;gap:34px;background:rgba(35,31,32,.12);border:1px solid rgba(250,247,241,.65);color:var(--cream);font:italic 24px/1.2 var(--serif);letter-spacing:0;box-shadow:none}
.bp-hero .bp-button>span{font-size:19px;opacity:.85}
.bp-hero .bp-button:hover{box-shadow:0 4px 14px #00000015;transform:translateY(-2px)}

/* A softly textured introduction, like warm French stationery. */
.bp-intro{max-width:none;width:100%;padding:80px max(8%,calc((100vw - 1000px)/2)) 65px;background-color:#f1ece3;background-image:repeating-linear-gradient(0deg,rgba(100,79,52,.025) 0,rgba(100,79,52,.025) 1px,transparent 1px,transparent 4px),repeating-linear-gradient(90deg,rgba(255,255,255,.22) 0,rgba(255,255,255,.22) 1px,transparent 1px,transparent 5px);border-bottom:1px solid #d9ccbc55}
.bp-intro .bp-lead{max-width:900px;margin:0 auto;font:400 30px/1.48 var(--serif);color:var(--ink);text-wrap:pretty}
.bp-intro>p:not(.bp-lead){max-width:760px;margin:23px auto 0;font-size:15px;line-height:1.8;color:var(--muted)}
.bp-intro [data-source="4"]{margin-top:17px!important}
.bp-intro .bp-wheat-divider{width:95px;opacity:.4;margin-top:28px}
.bp-story{padding-top:80px}
@media(max-width:1000px){.bp-intro{padding:65px 9% 55px}.bp-intro .bp-lead{font-size:28px}}
@media(max-width:720px){.bp-intro{padding:52px 8% 45px}.bp-intro .bp-lead{font-size:25px;line-height:1.43}.bp-intro>p:not(.bp-lead){font-size:14px;line-height:1.8;margin-top:21px}.bp-intro .bp-wheat-divider{width:82px;margin-top:24px}.bp-story{padding-top:55px}}

/* Quiet botanical detail in the introduction's outer margins. */
.bp-intro{position:relative;isolation:isolate;overflow:hidden}
.bp-intro>p,.bp-intro>.bp-wheat-divider{position:relative;z-index:1}
.bp-intro-wheat-left,.bp-intro-wheat-right{position:absolute;pointer-events:none;width:260px;opacity:.075;z-index:0}
.bp-intro-wheat-left{left:-92px;top:50px;transform:rotate(64deg)}
.bp-intro-wheat-right{right:-76px;bottom:50px;transform:rotate(-116deg)}
@media(max-width:1000px){.bp-intro-wheat-left,.bp-intro-wheat-right{width:210px;opacity:.06}.bp-intro-wheat-left{left:-105px}.bp-intro-wheat-right{right:-102px}}
@media(max-width:720px){.bp-intro-wheat-left,.bp-intro-wheat-right{width:170px;opacity:.055}.bp-intro-wheat-left{left:-110px;top:25px}.bp-intro-wheat-right{right:-97px;bottom:35px}}

/* Bring the introduction's wheat detail into view. */
.bp-intro-wheat-left,.bp-intro-wheat-right{width:280px;opacity:.18}
.bp-intro-wheat-left{left:-35px;top:55px}
.bp-intro-wheat-right{right:-25px;bottom:45px}
@media(max-width:1000px){.bp-intro-wheat-left,.bp-intro-wheat-right{width:220px;opacity:.14}.bp-intro-wheat-left{left:-65px}.bp-intro-wheat-right{right:-60px}}
@media(max-width:720px){.bp-intro-wheat-left,.bp-intro-wheat-right{width:165px;opacity:.13}.bp-intro-wheat-left{left:-65px;top:5px}.bp-intro-wheat-right{right:-55px;bottom:10px}}

/* Use ordinary image rendering for consistent Firefox/Safari/Chrome support. */
.bp-wheat{background:transparent url('../assets/wheat-motif.svg') center/contain no-repeat;-webkit-mask:none;mask:none}

/* Fade the linen into the cream story section without a hard boundary. */
.bp-intro{border-bottom:0;background-color:var(--cream);background-image:linear-gradient(to bottom,transparent 52%,var(--cream) 100%),repeating-linear-gradient(0deg,rgba(100,79,52,.025) 0,rgba(100,79,52,.025) 1px,transparent 1px,transparent 4px),repeating-linear-gradient(90deg,rgba(255,255,255,.22) 0,rgba(255,255,255,.22) 1px,transparent 1px,transparent 5px),linear-gradient(#f1ece3,#f1ece3)}

/* Widen the introduction's content area by approximately 15%. */
@media(min-width:1001px){.bp-intro{padding-left:max(5%,calc((100vw - 1150px)/2));padding-right:max(5%,calc((100vw - 1150px)/2))}.bp-intro .bp-lead{max-width:1035px}.bp-intro>p:not(.bp-lead){max-width:874px}}

/* A fine divider that fades gently into the page at both ends. */
.bp-intro:after{content:'';position:absolute;bottom:0;left:15%;right:15%;height:1px;background:linear-gradient(90deg,transparent,rgba(151,117,91,.25) 30%,rgba(151,117,91,.25) 70%,transparent);pointer-events:none}
@media(max-width:720px){.bp-intro:after{left:8%;right:8%}}
.bp-brand-highlight{color:var(--red);font-style:italic}

/* Give the alternating food stories more room for their text. */
@media(min-width:721px){.bp-dish-copy{max-width:432px}.bp-dish-copy>p:not(.bp-eyebrow){max-width:372px}}

/* Carry the introduction's linen texture through the menu. */
.bp-food-stories{background-color:#f1ece3;background-image:repeating-linear-gradient(0deg,rgba(100,79,52,.025) 0,rgba(100,79,52,.025) 1px,transparent 1px,transparent 4px),repeating-linear-gradient(90deg,rgba(255,255,255,.22) 0,rgba(255,255,255,.22) 1px,transparent 1px,transparent 5px)}

/* Blend the cream boulangerie section into the menu's warm linen. */
.bp-food-stories{background-image:linear-gradient(to bottom,var(--cream) 0,rgba(250,247,241,0) 150px),repeating-linear-gradient(0deg,rgba(100,79,52,.025) 0,rgba(100,79,52,.025) 1px,transparent 1px,transparent 4px),repeating-linear-gradient(90deg,rgba(255,255,255,.22) 0,rgba(255,255,255,.22) 1px,transparent 1px,transparent 5px)}
@media(max-width:720px){.bp-food-stories{background-image:linear-gradient(to bottom,var(--cream) 0,rgba(250,247,241,0) 100px),repeating-linear-gradient(0deg,rgba(100,79,52,.025) 0,rgba(100,79,52,.025) 1px,transparent 1px,transparent 4px),repeating-linear-gradient(90deg,rgba(255,255,255,.22) 0,rgba(255,255,255,.22) 1px,transparent 1px,transparent 5px)}}

/* Subtle separator between the boulangerie story and menu. */
.bp-food-stories{position:relative}
.bp-food-stories:before{content:'';position:absolute;top:0;left:15%;right:15%;height:1px;background:linear-gradient(90deg,transparent,rgba(151,117,91,.25) 30%,rgba(151,117,91,.25) 70%,transparent);pointer-events:none}
@media(max-width:720px){.bp-food-stories:before{left:8%;right:8%}}

/* Editorial hierarchy for the menu introduction only. */
.bp-menu-intro{padding:8px 0 30px;margin-bottom:30px;text-align:left}
.bp-menu-intro h2{font-size:52px;margin-bottom:29px;padding-bottom:21px;border-bottom:1px solid rgba(151,117,91,.2);color:var(--ink)}
.bp-menu-intro>p[data-source="12"]{font:400 26px/1.5 var(--serif);color:var(--ink);max-width:none;margin:0;text-wrap:pretty}
.bp-menu-intro>p[data-source="13"]{font-size:16px;line-height:1.8;margin-top:22px;color:var(--muted)}
.bp-menu-intro>p[data-source="14"]{font-size:16px;line-height:1.85;margin-top:26px;padding:5px 0 5px 23px;border:0;border-left:1px solid rgba(182,32,37,.35);color:var(--muted)}
.bp-menu-intro .bp-signoff{font:italic 32px/1.3 var(--serif);color:var(--ink);margin-top:31px}
@media(max-width:720px){.bp-menu-intro{padding:5px 0 20px;margin-bottom:20px}.bp-menu-intro h2{font-size:43px;margin-bottom:24px;padding-bottom:17px}.bp-menu-intro>p[data-source="12"]{font-size:24px;line-height:1.4}.bp-menu-intro>p[data-source="13"],.bp-menu-intro>p[data-source="14"]{font-size:15px;line-height:1.8}.bp-menu-intro>p[data-source="14"]{padding-left:17px;margin-top:23px}.bp-menu-intro .bp-signoff{font-size:28px;margin-top:27px}}

/* Match the centered introduction above. */
.bp-menu-intro{text-align:center;max-width:1150px;margin-left:auto;margin-right:auto}
.bp-menu-intro h2{border-bottom:0;padding-bottom:0;margin-bottom:29px}
.bp-menu-intro>p[data-source="12"]{max-width:1035px;margin-left:auto;margin-right:auto}
.bp-menu-intro>p[data-source="13"],.bp-menu-intro>p[data-source="14"]{max-width:874px;margin-left:auto;margin-right:auto}
.bp-menu-intro>p[data-source="14"]{border-left:0;padding:0}
@media(min-width:1001px){.bp-menu-intro{width:min(1150px,90vw);max-width:none;position:relative;left:50%;transform:translateX(-50%)}.bp-motion .bp-menu-intro{transform:translate(-50%,20px)}.bp-motion .bp-menu-intro.visible{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce) and (min-width:1001px){.bp-motion .bp-menu-intro{transform:translateX(-50%)!important}}
@media(min-width:1001px){.bp-menu-intro{margin-left:0;margin-right:0}}

/* A walnut tabletop gives the bakery story its own warm, intimate setting. */
.bp-story{background-color:#2b211c;background-image:linear-gradient(90deg,rgba(25,19,16,.18),rgba(25,19,16,.38)),url('../assets/walnut-tabletop-v1.jpg');background-size:cover;background-position:center;color:#faf3e8;padding-top:85px;padding-bottom:90px;border-top:1px solid #b59a7240;border-bottom:1px solid #b59a7255}
.bp-story .bp-copy h2{color:#faf3e8}
.bp-story .bp-copy p{color:#e5dace}
.bp-story .bp-copy [data-source="7"]{color:#dfbf8f;border-left-color:#c7a47480}
.bp-story .bp-copy [data-source="10"]{border-top-color:#dac3a230}
.bp-story .bp-copy h2:before{filter:invert(85%) sepia(17%) saturate(656%) hue-rotate(348deg) brightness(105%);opacity:.85}
.bp-story .bp-bakery-image:before{border-color:#d4b08260}
.bp-story .bp-bakery-image img{box-shadow:0 16px 38px #00000026}
.bp-intro:after{display:none}
.bp-food-stories{background-image:repeating-linear-gradient(0deg,rgba(100,79,52,.025) 0,rgba(100,79,52,.025) 1px,transparent 1px,transparent 4px),repeating-linear-gradient(90deg,rgba(255,255,255,.22) 0,rgba(255,255,255,.22) 1px,transparent 1px,transparent 5px)}
.bp-food-stories:before{display:none}
@media(max-width:1000px){.bp-story{padding-top:70px;padding-bottom:75px}}
@media(max-width:720px){.bp-story{padding-top:55px;padding-bottom:60px;background-position:65% center}}

/* Darkened walnut moves independently beneath the story content. */
.bp-story{background-image:none;padding-bottom:110px;overflow:hidden;isolation:isolate}
.bp-story:before,.bp-gather:before{content:'';position:absolute;inset:-80px 0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,rgba(15,11,9,.48),rgba(15,11,9,.65)),url('../assets/walnut-handcarved-v4.jpg') center/cover no-repeat;transform:translate3d(0,var(--wood-offset,0px),0);will-change:transform}
@media(max-width:1000px){.bp-story{padding-bottom:85px}}
@media(max-width:720px){.bp-story{padding-bottom:70px}.bp-story:before,.bp-gather:before{background-position:center,70% center}}
@media(prefers-reduced-motion:reduce){.bp-story:before,.bp-gather:before{transform:none;will-change:auto}}

/* A printed menu beside the introduction, on warm linen. */
.bp-menu-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:center;gap:8%;width:min(1150px,100%);margin:0 auto 80px}
.bp-menu-layout .bp-menu-intro{width:auto;max-width:none;left:auto;transform:none!important;text-align:left;margin:0;padding:0}
.bp-menu-layout .bp-menu-intro h2{font-size:56px}
.bp-menu-layout .bp-menu-intro>p{margin-left:0;margin-right:0}
.bp-menu-paper{position:relative;padding:32px 36px 25px;background:#fffaf1;color:#322820;text-align:center;border:1px solid #baa38770;box-shadow:5px 7px 0 -2px #f8f1e5,5px 7px 0 -1px #b8a38a60,0 20px 40px #49351d1a}
.bp-menu-paper:before{content:'';position:absolute;inset:11px;border:1px solid #b6202533;pointer-events:none}
.bp-paper-logo{display:block;width:132px;height:auto;margin:0 auto 16px}
.bp-menu-paper .bp-paper-kicker{font:9px/1.5 var(--sans);letter-spacing:.19em;color:#8f282b;margin:0 0 5px}
.bp-menu-paper h3{font:italic 38px/1.15 var(--serif);margin:0 0 21px}
.bp-paper-course{margin:18px 0}
.bp-paper-course h4{display:flex;align-items:center;gap:12px;font:italic 23px/1.2 var(--serif);color:#a32b30;margin:0 0 13px}
.bp-paper-course h4:before,.bp-paper-course h4:after{content:'';height:1px;flex:1;background:#b6202530}
.bp-paper-course dl{margin:0}.bp-paper-course dt{font:600 18px/1.3 var(--serif);margin-top:12px}
.bp-paper-course dd{font-size:11px;line-height:1.6;color:#736457;margin:3px 0 0}
.bp-menu-paper .bp-paper-special{font:italic 25px/1.2 var(--serif);border-top:1px solid #b6202530;padding-top:18px;margin:22px 0 0}
.bp-paper-special span{display:block;font:400 11px/1.6 var(--sans);margin-top:7px}
.bp-menu-paper .bp-paper-foot{font-size:9px;letter-spacing:.035em;color:#827365;margin:21px 0 0}
@media(max-width:1000px){.bp-menu-layout{gap:6%}.bp-menu-paper{padding:30px 25px 25px}}
@media(max-width:720px){.bp-menu-layout{grid-template-columns:1fr;gap:38px;margin-bottom:55px}.bp-menu-layout .bp-menu-intro h2{font-size:43px}.bp-menu-paper{width:100%;max-width:430px;justify-self:center;padding:30px 25px 25px}}

/* Keep the menu sheet and its accompanying copy aligned top to bottom. */
@media(min-width:721px){
.bp-menu-layout{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);align-items:stretch}
.bp-menu-layout .bp-menu-paper{grid-column:1;grid-row:1;padding:23px 30px 20px}
.bp-menu-layout .bp-menu-intro{grid-column:2;grid-row:1;display:flex;flex-direction:column;justify-content:space-between}
.bp-menu-layout .bp-menu-intro .bp-signoff{margin-bottom:0}
.bp-menu-paper .bp-paper-logo{width:96px;margin-bottom:7px}
.bp-menu-paper h3{font-size:30px;margin-bottom:10px}
.bp-paper-course{margin:10px 0}
.bp-paper-course h4{font-size:21px;margin-bottom:6px}
.bp-paper-course dt{font-size:17px;margin-top:7px}
.bp-paper-course dd{font-size:11px;line-height:1.4;margin-top:2px}
.bp-menu-paper .bp-paper-special{font-size:23px;padding-top:10px;margin-top:13px}
.bp-paper-special span{margin-top:4px}
.bp-menu-paper .bp-paper-foot{margin-top:13px}
}

/* Photograph with the printed menu resting over its lower-right corner. */
.bp-menu-layout{align-items:center;gap:7%}
.bp-menu-visual{grid-column:1;grid-row:1;position:relative;min-width:0;height:560px}
.bp-menu-photo{display:block;width:90%;height:490px;object-fit:cover;object-position:40% center}
.bp-menu-visual .bp-menu-paper{position:absolute;right:0;bottom:0;width:440px;max-width:none;padding:23px 30px 20px;transform:scale(.59);transform-origin:bottom right;box-shadow:5px 7px 0 -2px #f8f1e5,5px 7px 0 -1px #b8a38a60,0 22px 55px #30201640}
.bp-menu-layout .bp-menu-intro{display:block;align-self:center}
.bp-menu-layout .bp-menu-intro h2{margin-bottom:18px}
.bp-menu-layout .bp-menu-intro>p[data-source="12"]{line-height:1.4;margin:0}
.bp-menu-layout .bp-menu-intro>p[data-source="13"],.bp-menu-layout .bp-menu-intro>p[data-source="14"]{line-height:1.65;margin-top:17px;padding:0}
.bp-menu-layout .bp-menu-intro .bp-signoff{margin-top:23px;margin-bottom:0}
@media(min-width:721px) and (max-width:1000px){.bp-menu-visual{height:510px}.bp-menu-photo{height:445px}.bp-menu-visual .bp-menu-paper{transform:scale(.51)}}
@media(max-width:720px){.bp-menu-visual{grid-column:auto;grid-row:auto;height:440px;width:100%;max-width:430px;justify-self:center}.bp-menu-photo{height:375px}.bp-menu-visual .bp-menu-paper{transform:scale(.48)}.bp-menu-layout{gap:30px}.bp-menu-layout .bp-menu-intro{grid-row:1}}

/* Echo the boulangerie photograph's fine offset gold frame. */
.bp-menu-visual{isolation:isolate}
.bp-menu-visual:before{content:'';position:absolute;top:22px;left:-18px;width:90%;height:486px;border:1px solid #b18c5870;z-index:-1;pointer-events:none}
@media(min-width:721px) and (max-width:1000px){.bp-menu-visual:before{height:441px}}
@media(max-width:720px){.bp-menu-visual:before{top:16px;left:-14px;height:373px}}

/* Bistro story: copy on the left, photograph on the right. */
@media(min-width:721px){
.bp-story{grid-template-columns:minmax(0,3fr) minmax(0,2fr)}
.bp-story .bp-copy{grid-column:1;grid-row:1}
.bp-story .bp-bakery-image{grid-column:2;grid-row:1}
}

/* Gold wheat above the menu title, echoing the bistro story. */
.bp-menu-layout .bp-menu-intro h2{display:block}
.bp-menu-layout .bp-menu-intro h2:before,.bp-wine .bp-copy h2:before{content:'';display:block;width:70px;height:33px;margin:0 0 5px;background:url('../assets/wheat-motif.svg') center/contain no-repeat;filter:invert(62%) sepia(29%) saturate(631%) hue-rotate(358deg) brightness(91%) contrast(86%);opacity:.95}

/* Slightly larger food-story eyebrow labels. */
.bp-dish-copy .bp-eyebrow{font-size:11px}
@media(max-width:720px){.bp-dish-copy .bp-eyebrow{font-size:10px}}

/* Silent wine cinemagraph over the original still-image fallback. */
.bp-wine-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .7s ease;pointer-events:none}
.bp-wine-image.is-playing .bp-wine-video{opacity:1}
@media(prefers-reduced-motion:reduce){.bp-wine-video{display:none}}

/* Candlelit gatherings against warm charcoal. */
.bp-gather{background:#242320;color:#faf3e8;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:8%;padding:95px 10%;border-top:1px solid #b3986840;border-bottom:1px solid #b3986840}
.bp-gather-photo{position:relative;isolation:isolate;margin:0;min-width:0;height:510px}
.bp-gather-photo:before{content:'';position:absolute;inset:20px 20px -17px -17px;border:1px solid #d4b08270;z-index:-1}
.bp-gather-photo img{object-fit:cover;object-position:46% center}
.bp-gather .bp-copy{max-width:480px}
.bp-gather .bp-copy h2{font-size:48px;color:#faf3e8;margin-bottom:24px}
.bp-gather .bp-copy h2:before{width:70px;height:33px;margin-bottom:10px;background:url('../assets/wheat-motif.svg') center/contain no-repeat;filter:invert(85%) sepia(17%) saturate(656%) hue-rotate(348deg) brightness(105%);opacity:.85}
.bp-gather .bp-copy p{color:#e1d7c9;line-height:1.8}
@media(max-width:1000px){.bp-gather{padding:75px 7%;gap:7%}.bp-gather-photo{height:480px}.bp-gather .bp-copy h2{font-size:40px}}
@media(max-width:720px){.bp-gather{grid-template-columns:1fr;padding:60px 8% 65px;gap:48px}.bp-gather-photo{height:360px;margin-left:12px}.bp-gather .bp-copy{max-width:none}.bp-gather .bp-copy h2{font-size:39px}}

/* Gathering copy left, candlelit photograph right. */
@media(min-width:721px){
.bp-gather{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr)}
.bp-gather .bp-copy{grid-column:1;grid-row:1}
.bp-gather-photo{grid-column:2;grid-row:1}
}

/* A quiet, organized closing area with the brand and practical details. */
.bp-visit{grid-template-columns:1.25fr 1fr 1fr;align-items:start;gap:8%;padding:76px 10% 62px;background:#f4efe6}
.bp-footer-brand .bp-wordmark{display:block;width:190px;margin:0 0 23px}
.bp-visit .bp-footer-brand p{font-size:15px;line-height:1.75;max-width:300px;color:#6b6055}
.bp-visit h2{font-size:31px;margin:7px 0 23px;color:#39312b}
.bp-visit .bp-location-name{font:italic 24px/1.3 var(--serif);margin:0 0 9px}
.bp-visit address,.bp-visit .bp-footer-hours p{font-size:15px;line-height:1.75;color:#65594f}
.bp-visit .bp-footer-hours p+p{margin-top:7px}
.bp-visit .bp-text-link{font:italic 21px/1.4 var(--serif);margin-top:21px;padding:0 0 7px;gap:27px;border-color:#b3986866}
.bp-footer-wheat{width:90px;height:43px;object-fit:contain;margin-top:26px;filter:invert(62%) sepia(29%) saturate(631%) hue-rotate(358deg) brightness(91%) contrast(86%)}
.bp-footer{margin:0;padding:23px 10%;background:#f4efe6;border-top:1px solid #b3986838;gap:30px;position:relative}
.bp-footer-links{display:flex;gap:30px;flex-wrap:wrap}
.bp-footer a:not(.bp-wordmark){font:italic 19px/1.4 var(--serif);color:#65594f;padding:5px 0}
.bp-footer a:hover{color:var(--red)}
.bp-back-top{display:inline-flex;align-items:center;gap:16px;white-space:nowrap}
@media(max-width:1000px){.bp-visit{padding:62px 7% 50px;gap:5%;grid-template-columns:1.15fr 1fr 1fr}.bp-footer{padding:22px 7%}.bp-footer-brand .bp-wordmark{width:165px}.bp-visit h2{font-size:28px}}
@media(max-width:720px){.bp-visit{grid-template-columns:1fr 1fr;gap:34px 24px;padding:50px 8% 38px}.bp-footer-brand{grid-column:1/-1;padding-bottom:30px;border-bottom:1px solid #b3986838}.bp-footer-brand .bp-wordmark{width:175px;margin-bottom:18px}.bp-visit .bp-footer-brand p{max-width:370px}.bp-visit h2{font-size:27px;margin:0 0 18px}.bp-visit .bp-location-name{font-size:22px}.bp-visit address,.bp-visit .bp-footer-hours p{font-size:14px}.bp-footer{padding:21px 8%;align-items:flex-start;text-align:left;gap:18px}.bp-footer-links{gap:10px 23px}.bp-footer a:not(.bp-wordmark){font-size:18px}.bp-footer-wheat{margin-top:20px;width:74px}}
@media(max-width:380px){.bp-visit{grid-template-columns:1fr;gap:30px}.bp-footer-brand{grid-column:auto}.bp-footer-wheat{display:none}}

/* Match the carved walnut setting used by the boulangerie story. */
.bp-gather{background:#2b211c;isolation:isolate;overflow:hidden}

/* An outlined Visit us action, with the navigation's existing typography. */
.bp-header .bp-nav-cta{border:1px solid #b6202570;padding:10px 17px;min-height:44px;background:transparent;align-self:center;transition:background .2s,border-color .2s}
.bp-header .bp-nav-cta:after{display:none}
.bp-header .bp-nav-cta:hover{background:#b6202507;border-color:var(--red)}
@media(max-width:900px){.bp-mobile-visit{border:1px solid #b6202570;padding:9px 11px;gap:7px;min-height:44px}.bp-header .bp-nav-cta{align-self:flex-start;margin-top:15px;padding:10px 17px}}
@media(max-width:360px){.bp-mobile-visit{padding:8px;gap:5px}}

/* Close-fitting Visit us outline, matched to its label. */
.bp-header .bp-nav-cta{border-color:currentColor;padding:6px 10px;min-height:0}
.bp-header .bp-nav-cta:hover{border-color:currentColor}
@media(max-width:900px){.bp-mobile-visit{border-color:currentColor;padding:6px 8px;min-height:0}.bp-header .bp-nav-cta{padding:6px 10px}}

/* A simple directional chevron for Visit us. */
.bp-header .bp-nav-cta{gap:9px}
.bp-header .bp-nav-cta>span{display:inline-block;width:auto;height:auto;border:0;border-radius:0;font:400 20px/1 var(--serif)}

/* Offset gold arch around both the wine still and its looping video. */
.bp-wine-image{overflow:visible;isolation:isolate}
.bp-wine-image>img,.bp-wine-image>.bp-wine-video{border-radius:inherit}
.bp-wine-image:before{content:'';position:absolute;inset:18px 18px -18px -18px;border:1px solid #b18c5870;border-radius:inherit;z-index:-1;pointer-events:none}
@media(max-width:720px){.bp-wine-image:before{inset:12px 12px -12px -12px}}

/* Fine paper teeth along the wine section's lower edge. */
.bp-wine{overflow:visible;z-index:2}
.bp-wine:after{content:'';position:absolute;left:0;right:0;bottom:-8px;height:9px;pointer-events:none;background:linear-gradient(135deg,var(--cream) 25%,transparent 25%) -8px 0/16px 16px repeat-x,linear-gradient(225deg,var(--cream) 25%,transparent 25%) -8px 0/16px 16px repeat-x}

/* Matching fine paper edge above the boulangerie story. */
.bp-story:after{content:'';position:absolute;top:-1px;left:0;right:0;height:9px;pointer-events:none;background:linear-gradient(135deg,var(--cream) 25%,transparent 25%) -8px 0/16px 16px repeat-x,linear-gradient(225deg,var(--cream) 25%,transparent 25%) -8px 0/16px 16px repeat-x}

/* Let the paper teeth meet the walnut without a straight border seam. */
.bp-story,.bp-gather{border-top:0}
.bp-story:after{top:0}

/* Center the hero copy vertically within the photograph. */
.bp-hero{display:flex;align-items:center}
.bp-hero-copy{width:100%;padding-top:30px;padding-bottom:30px}

/* The hero loop preserves the still photograph's crop and text overlay. */
.bp-hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 57%;opacity:0;transition:opacity .8s ease;pointer-events:none}
.bp-hero.is-playing .bp-hero-video{opacity:1}
@media(max-width:720px){.bp-hero-video{object-position:62% center}}
@media(prefers-reduced-motion:reduce){.bp-hero-video{display:none}}

/* A restrained antique-gold invitation in the header. */
.bp-header .bp-nav-cta{color:#79603b;border:1px solid #b69a6b;background:linear-gradient(135deg,#d8bd8510,#d8bd8503);padding:9px 16px;gap:13px;font:italic 22px/1.2 var(--serif);box-shadow:inset 0 0 0 3px var(--cream),inset 0 0 0 4px #b69a6b22;transition:background .25s,color .25s,border-color .25s}
.bp-header .bp-nav-cta:hover{background:#b69a6b16;color:#624923;border-color:#927442;transform:none;box-shadow:inset 0 0 0 3px var(--cream),inset 0 0 0 4px #b69a6b33}
.bp-header .bp-nav-cta>span{color:#9a7a43;font-size:21px;transition:transform .2s}
@media(min-width:901px) and (max-width:1150px){.bp-header .bp-nav-cta{font-size:19px;padding:8px 12px;gap:9px}}
@media(max-width:900px){.bp-mobile-visit{color:#79603b;border-color:#b69a6b;padding:8px 10px;background:#d8bd8508;box-shadow:inset 0 0 0 2px var(--cream),inset 0 0 0 3px #b69a6b22}.bp-header .bp-nav-cta{font-size:27px;padding:10px 17px}.bp-mobile-visit:hover{background:#b69a6b16}}
@media(max-width:360px){.bp-mobile-visit{padding:7px 8px}}

/* Solid antique gold for the Visit us invitation. */
.bp-header .bp-nav-cta,.bp-mobile-visit{background:#b69a6b;color:#231f20;border-color:#b69a6b;box-shadow:none}
.bp-header .bp-nav-cta>span{color:inherit}
.bp-header .bp-nav-cta:hover,.bp-mobile-visit:hover{background:#c3a879;color:#231f20;border-color:#c3a879;box-shadow:none}

/* A champagne-gold finish with a fine inset rule. */
.bp-header .bp-nav-cta,.bp-mobile-visit{background:linear-gradient(135deg,#d5c095,#c4aa79);color:#493922;border:1px solid #bba16f;box-shadow:inset 0 0 0 3px #d5c095,inset 0 0 0 4px #fff8e54d;transition:background .25s,border-color .25s}
.bp-header .bp-nav-cta{padding:11px 20px;gap:17px;font-size:21px;letter-spacing:.15px}
.bp-header .bp-nav-cta>span{font-size:19px;color:#715831}
.bp-header .bp-nav-cta:hover,.bp-mobile-visit:hover{background:linear-gradient(135deg,#dfcca7,#ceb585);color:#493922;border-color:#ac8d57;box-shadow:inset 0 0 0 3px #d5c095,inset 0 0 0 4px #fff8e54d}
@media(min-width:901px) and (max-width:1150px){.bp-header .bp-nav-cta{padding:10px 14px;gap:12px;font-size:19px}}
@media(max-width:900px){.bp-header .bp-nav-cta{font-size:26px;padding:12px 20px}.bp-mobile-visit{padding:9px 12px}}
@media(max-width:360px){.bp-mobile-visit{padding:8px}}

/* Stronger contrast and weight for the gold button label. */
.bp-header .bp-nav-cta,.bp-mobile-visit{color:#231f20;font-weight:600}
.bp-header .bp-nav-cta>span,.bp-mobile-visit>span{color:inherit;font-weight:600}
.bp-header .bp-nav-cta:hover,.bp-mobile-visit:hover{color:#231f20}

/* Soft depth beneath the gold Visit us button. */
.bp-header .bp-nav-cta,.bp-mobile-visit{box-shadow:inset 0 0 0 3px #d5c095,inset 0 0 0 4px #fff8e54d,0 4px 10px #49351d24,0 1px 2px #49351d12;transition:background .25s,border-color .25s,box-shadow .25s}
.bp-header .bp-nav-cta:hover,.bp-mobile-visit:hover{box-shadow:inset 0 0 0 3px #d5c095,inset 0 0 0 4px #fff8e54d,0 6px 14px #49351d2b,0 1px 3px #49351d18}

/* Match the hero menu action to the gold navigation invitation. */
.bp-hero .bp-button,.bp-learn-more{background:linear-gradient(135deg,#d5c095,#c4aa79);color:#231f20;border:1px solid #bba16f;padding:11px 20px;min-width:0;min-height:0;gap:17px;font:italic 600 21px/1.2 var(--serif);letter-spacing:.15px;box-shadow:inset 0 0 0 3px #d5c095,inset 0 0 0 4px #fff8e54d,0 4px 10px #49351d24,0 1px 2px #49351d12;transition:background .25s,border-color .25s,box-shadow .25s}
.bp-hero .bp-button>span,.bp-learn-more>span{color:inherit;font:600 19px/1 var(--serif);opacity:1}
.bp-hero .bp-button:hover,.bp-learn-more:hover{background:linear-gradient(135deg,#dfcca7,#ceb585);color:#231f20;border-color:#ac8d57;transform:none;box-shadow:inset 0 0 0 3px #d5c095,inset 0 0 0 4px #fff8e54d,0 6px 14px #49351d2b,0 1px 3px #49351d18}

.bp-learn-more{display:inline-flex;align-items:center;justify-content:center;margin-top:26px;cursor:pointer}

/* A little more breathing room between navigation items. */
@media(min-width:1201px){.bp-header nav,.bp-nav-left,.bp-nav-right{gap:34px}}
@media(min-width:901px) and (max-width:1200px){.bp-header nav,.bp-nav-left,.bp-nav-right{gap:19px}}

/* A softer supporting line and a distinct closing thought in the introduction. */
.bp-intro>p[data-source="3"]{max-width:760px;font:400 21px/1.65 var(--serif);color:#66594c;margin-top:29px;text-wrap:pretty}
.bp-intro>p[data-source="4"]{max-width:850px;font:italic 29px/1.35 var(--serif);color:var(--red);margin-top:24px;text-wrap:balance}
@media(max-width:720px){.bp-intro>p[data-source="3"]{font-size:20px;line-height:1.55;margin-top:24px}.bp-intro>p[data-source="4"]{font-size:25px;line-height:1.35;margin-top:22px}}

/* Warm, soft depth for the editorial photography and isolated dishes. */
.bp-story .bp-bakery-image img,.bp-gather-photo img{box-shadow:0 20px 38px -10px #0006,0 5px 12px #0003}
.bp-menu-photo{box-shadow:0 18px 34px -10px #49351d40,0 4px 10px #49351d18}
.bp-wine-image{box-shadow:0 20px 36px -12px #49351d42,0 5px 12px #49351d16}
.bp-story-art img{filter:drop-shadow(0 16px 14px #49351d30) drop-shadow(0 4px 3px #49351d12)}
@media(max-width:720px){.bp-story .bp-bakery-image img,.bp-gather-photo img{box-shadow:0 14px 25px -8px #0006,0 3px 8px #0002}.bp-menu-photo{box-shadow:0 12px 24px -8px #49351d40}.bp-wine-image{box-shadow:0 14px 26px -9px #49351d42}.bp-story-art img{filter:drop-shadow(0 11px 10px #49351d30)}}

/* Wheat settles diagonally into place as its heading enters view. */
@keyframes bp-wheat-arrive{
  from{opacity:0;transform:translate(-18px,-24px) rotate(-18deg)}
  to{opacity:var(--wheat-opacity,.85);transform:translate(0,0) rotate(0deg)}
}
@media(prefers-reduced-motion:no-preference){
.bp-motion .bp-story .bp-copy h2:before,.bp-motion .bp-gather .bp-copy h2:before,.bp-motion .bp-menu-intro h2:before,.bp-motion .bp-wine .bp-copy h2:before{opacity:0;transform-origin:20% 80%}
.bp-motion .bp-story .bp-copy.visible h2:before,.bp-motion .bp-gather .bp-copy.visible h2:before,.bp-motion .bp-menu-intro.visible h2:before,.bp-motion .bp-wine .bp-copy.visible h2:before{animation:bp-wheat-arrive 1.3s cubic-bezier(.22,1,.36,1) .2s both}
.bp-motion .bp-menu-intro h2:before,.bp-motion .bp-wine .bp-copy h2:before{--wheat-opacity:.95}
}

/* Oversized wheat watermark sits quietly behind the wine copy. */
.bp-wine>.bp-copy{isolation:isolate}
.bp-wine .bp-wheat-wine{width:105%;height:auto;aspect-ratio:510/240;left:-2%;right:auto;top:48%;bottom:auto;opacity:.065;z-index:-1;transform:translateY(-50%) rotate(-24deg);pointer-events:none}
@media(max-width:720px){.bp-wine .bp-wheat-wine{width:100%;left:0;top:46%;opacity:.065}}

/* Main editorial section headings share one responsive type scale. */
:root{--section-title-size:48px}
.bp-story .bp-copy h2,.bp-menu-layout .bp-menu-intro h2,.bp-wine .bp-copy h2,.bp-gather .bp-copy h2{font-size:var(--section-title-size);line-height:1.13}
@media(max-width:1000px){:root{--section-title-size:40px}}
@media(max-width:720px){:root{--section-title-size:39px}}

/* A faint wine-glass ring, cropped by the right edge of the section. */
.bp-wine-stain{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}
.bp-wine-stain:before{content:'';position:absolute;width:420px;height:420px;right:-225px;top:20%;background:url('../assets/wine-ring-real-v1.png') center/contain no-repeat;opacity:.27;transform:rotate(14deg)}
@media(max-width:720px){.bp-wine-stain:before{width:300px;height:300px;right:-190px;top:45%;opacity:.22}}

.bp-wine-stain:before{opacity:.28}
@media(max-width:720px){.bp-wine-stain:before{opacity:.22}}

/* Add 20% more breathing room to the tightened food-story spacing. */
@media(min-width:721px){
  .bp-food-story{min-height:400px}
  .bp-story-art{margin-block:-10px}
}
@media(min-width:721px) and (max-width:1000px){
  .bp-food-story{min-height:360px}
  .bp-story-art{margin-block:0}
}
@media(max-width:720px){
  .bp-food-story,.bp-food-story:nth-of-type(odd){margin-bottom:24px}
  .bp-food-story:last-child{margin-bottom:0}
  .bp-food-story+.bp-food-story{padding-top:12px}
}

/* Reuse the logo's Cheers underline beside the food-story eyebrows. */
.bp-dish-copy .bp-eyebrow:before{width:50px;height:5px;background:url('../assets/cheers-underline.svg?v=2') center/100% 100% no-repeat}

/* Let the linen behind the pizza dissolve into the cream wine section. */
.bp-food-stories{--food-fade-depth:100px;background-image:linear-gradient(to top,var(--cream) 0,rgba(250,247,241,0) var(--food-fade-depth)),repeating-linear-gradient(0deg,rgba(100,79,52,.025) 0,rgba(100,79,52,.025) 1px,transparent 1px,transparent 4px),repeating-linear-gradient(90deg,rgba(255,255,255,.22) 0,rgba(255,255,255,.22) 1px,transparent 1px,transparent 5px)}
@media(max-width:720px){.bp-food-stories{--food-fade-depth:120px}}

/* Bring the wine feature closer to the final food story. */
.bp-food-stories{padding-bottom:42.5px}
.bp-wine{padding-top:55px}
@media(max-width:1000px){.bp-wine{padding-top:42.5px}}
@media(max-width:720px){.bp-food-stories{padding-bottom:22.5px}.bp-wine{padding-top:32.5px}}

/* Finish the food stories with the same fine divider used between rows. */
.bp-food-story:last-child{border-bottom:1px solid #b620251c}

/* A centered invitation with the signature gold wheat above the title. */
.bp-hero-copy{max-width:none;margin-inline:auto;text-align:center;padding-inline:8%}
.bp-hero-tagline{margin-inline:auto;max-width:540px;text-wrap:balance}
.bp-hero h1:before{content:'';display:block;width:100px;height:47px;margin:0 auto 6px;background:url('../assets/wheat-motif.svg') center/contain no-repeat;filter:invert(85%) sepia(17%) saturate(656%) hue-rotate(348deg) brightness(105%);opacity:.95}
.bp-hero-shade{background:radial-gradient(ellipse at center,rgba(33,28,25,.65),rgba(33,28,25,.34))}
.bp-hero h1,.bp-hero-tagline{text-shadow:0 2px 16px #0005}
@media(max-width:720px){.bp-hero-tagline{max-width:340px}.bp-hero h1:before{width:82px;height:39px;margin-bottom:5px}}

/* The logo's sweeping underline completes the hero title. */
.bp-hero h1:after{content:'';display:block;width:320px;height:14px;margin:6px auto 0;background:url('../assets/cheers-underline-gold.svg') center/100% 100% no-repeat}
@media(max-width:720px){.bp-hero h1:after{width:240px;height:11px;margin-top:5px}}

/* Keep the Riviera invitation and location on their own centered lines. */
.bp-hero-tagline{max-width:680px}
.bp-hero-tagline>span{display:block}
.bp-hero-tagline>span+span{margin-top:8px}
@media(max-width:720px){.bp-hero-tagline{max-width:none;font-size:clamp(20px,5.6vw,29px)}}

/* A quiet gold location callout beneath the Riviera invitation. */
.bp-hero-tagline>.bp-hero-location{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:23px;color:#e2cda5;font:500 12px/1.5 var(--sans);letter-spacing:3px;text-transform:uppercase}
.bp-hero-location:before,.bp-hero-location:after{content:'';width:45px;height:1px;background:#d5c095;opacity:.8;flex-shrink:0}
@media(max-width:720px){.bp-hero-tagline>.bp-hero-location{font-size:10px;letter-spacing:2.2px;gap:12px;margin-top:20px}.bp-hero-location:before,.bp-hero-location:after{width:28px}}

/* Crop the header lockup just below French Bistro. */
.bp-header>.bp-wordmark{aspect-ratio:889 / 425;overflow:hidden}
.bp-header>.bp-wordmark img{width:100%;height:auto;max-height:none}

/* A framed paper note layered over the wine photograph. */
.bp-wine-card{position:absolute;z-index:2;right:-28px;bottom:28px;width:290px;max-width:90%;padding:33px 26px;background:#fffaf1;color:#493922;text-align:center;border:1px solid #baa38770;box-shadow:5px 7px 0 -2px #f8f1e5,5px 7px 0 -1px #b8a38a60,0 18px 38px #30201630}
.bp-wine-card:before{content:'';position:absolute;inset:8px;border:1px solid #b69a6b55;pointer-events:none}
.bp-wine-card p{font:italic 28px/1.3 var(--serif);text-wrap:balance}
@media(max-width:1000px){.bp-wine-card{right:-18px;width:260px;padding:29px 23px}.bp-wine-card p{font-size:25px}}
@media(max-width:720px){.bp-wine-card{right:-8px;bottom:20px;width:250px;padding:25px 22px}.bp-wine-card p{font-size:24px}}

/* An organic, gently swelling edge between the hero and linen introduction. */
.bp-intro{overflow:visible}
.bp-intro:before{content:'';position:absolute;left:0;right:0;top:-47px;height:48px;pointer-events:none;background:url('../assets/intro-liquid-edge.svg?v=linen') center/100% 100% no-repeat}
@media(max-width:720px){.bp-intro:before{top:-27px;height:28px}}

/* Continue the shallow curve into the walnut story below the introduction. */
.bp-story:after{top:-1px;height:48px;background:url('../assets/intro-liquid-bottom.svg?v=asymmetric') center/100% 100% no-repeat;transform:none}
@media(max-width:720px){.bp-story:after{height:28px}}

/* More room between the curved introduction edge and the story content. */
.bp-story{padding-top:130px}
@media(max-width:1000px){.bp-story{padding-top:110px}}
@media(max-width:720px){.bp-story{padding-top:85px}}

/* The walnut story flows into the menu's textured linen. */
.bp-story{border-bottom:0}
.bp-food-stories:before{content:'';display:block;position:absolute;left:0;right:0;top:-47px;height:48px;pointer-events:none;background:url('../assets/menu-liquid-edge.svg') center/100% 100% no-repeat}
@media(max-width:720px){.bp-food-stories:before{left:0;right:0;top:-27px;height:28px}}

/* A square paper keepsake over the bakery photograph. */
.bp-bakery-card{width:210px;aspect-ratio:1;right:-22px;bottom:-22px;padding:28px 23px;display:grid;place-items:center}
.bp-story .bp-bakery-card [data-source="7"]{font:italic 27px/1.25 var(--serif);color:#493922;border:0;padding:0;margin:0;text-wrap:balance}
@media(max-width:1000px){.bp-bakery-card{width:190px;right:-15px;bottom:-18px;padding:24px 20px}.bp-story .bp-bakery-card [data-source="7"]{font-size:25px}}
@media(max-width:720px){.bp-bakery-card{width:190px;right:-8px;bottom:20px}}

/* Keep the restored story copy in three consistent paragraphs. */
.bp-story .bp-copy [data-source="10"]{border:0;padding-top:0;margin-top:22px}

/* A single paper card over the bakery photo. */
.bp-wine-card.bp-bakery-card{box-shadow:0 18px 38px #30201630}

/* A light editorial invitation against the walnut background. */
:is(.bp-story,.bp-gather) .bp-learn-more{background:none;border:0;border-bottom:1px solid #d5c09580;border-radius:0;box-shadow:none;color:#dfc89f;padding:3px 0 8px;gap:18px;font:italic 400 23px/1.3 var(--serif);transition:color .25s,border-color .25s}
:is(.bp-story,.bp-gather) .bp-learn-more>span{font:400 21px/1 var(--serif);transition:transform .25s}
:is(.bp-story,.bp-gather) .bp-learn-more:hover{background:none;box-shadow:none;color:#f4e4c7;border-color:#f4e4c7;transform:none}
:is(.bp-story,.bp-gather) .bp-learn-more:hover>span{transform:translateX(4px)}
@media(prefers-reduced-motion:reduce){:is(.bp-story,.bp-gather) .bp-learn-more>span{transition:none}:is(.bp-story,.bp-gather) .bp-learn-more:hover>span{transform:none}}

/* Give the bakery quote a little more room across the card. */
.bp-bakery-card{width:320px;min-height:210px;aspect-ratio:auto}
@media(max-width:1000px){.bp-bakery-card{width:290px;min-height:190px}}

/* A closer fit around the bakery quote. */
.bp-wine-card.bp-bakery-card{padding:20px;min-height:0}

/* Set the bakery quote slightly lower over the photo edge. */
.bp-bakery-card{bottom:-38px}
@media(max-width:1000px){.bp-bakery-card{bottom:-34px}}
@media(max-width:720px){.bp-bakery-card{bottom:4px}}

/* Give the lowered bakery card more space above the menu transition. */
.bp-story{padding-bottom:145px}
@media(max-width:1000px){.bp-story{padding-bottom:120px}}
@media(max-width:720px){.bp-story{padding-bottom:100px}}

/* The menu photograph now carries the hospitality signoff as a paper note. */
.bp-wine-card.bp-menu-quote{right:0;bottom:32px;width:300px;padding:24px 20px;box-shadow:0 18px 38px #30201630}
@media(min-width:721px) and (max-width:1000px){.bp-wine-card.bp-menu-quote{width:270px;bottom:31px}}
@media(max-width:720px){.bp-wine-card.bp-menu-quote{width:270px;bottom:27px;padding:22px 20px}}

/* The menu invitation echoes the story link in the brand's red. */
:is(.bp-menu-intro,.bp-wine) .bp-learn-more{background:none;border:0;border-bottom:1px solid #b6202570;border-radius:0;box-shadow:none;color:var(--red);padding:3px 0 8px;gap:18px;font:italic 400 23px/1.3 var(--serif);transition:color .25s,border-color .25s}
:is(.bp-menu-intro,.bp-wine) .bp-learn-more>span{font:400 21px/1 var(--serif);transition:transform .25s}
:is(.bp-menu-intro,.bp-wine) .bp-learn-more:hover{background:none;box-shadow:none;color:var(--red);border-color:var(--red);transform:none}
:is(.bp-menu-intro,.bp-wine) .bp-learn-more:hover>span{transform:translateX(4px)}
@media(prefers-reduced-motion:reduce){:is(.bp-menu-intro,.bp-wine) .bp-learn-more>span{transition:none}:is(.bp-menu-intro,.bp-wine) .bp-learn-more:hover>span{transform:none}}

/* Use the logo's sweeping accent beneath the menu invitation. */
:is(.bp-menu-intro,.bp-wine) .bp-learn-more{position:relative;border-bottom:0;padding-bottom:13px}
:is(.bp-menu-intro,.bp-wine) .bp-learn-more:after{content:'';position:absolute;left:0;right:0;bottom:0;height:6px;background:url('../assets/cheers-underline.svg?v=2') center/100% 100% no-repeat;pointer-events:none}

/* Give the menu invitation a little more weight. */
:is(.bp-menu-intro,.bp-wine) .bp-learn-more{font-weight:400;-webkit-text-stroke:.15px currentColor}

/* A visible underline sweep using standard Firefox-compatible transforms. */
:is(.bp-menu-intro,.bp-wine) .bp-learn-more:is(:hover,:focus-visible){color:#8e191e}
@keyframes bp-menu-underline-sweep{
  0%{transform:scaleX(.25);opacity:.35}
  100%{transform:scaleX(1.08);opacity:1}
}
@media(prefers-reduced-motion:no-preference){
:is(.bp-menu-intro,.bp-wine) .bp-learn-more{transition:transform .3s ease,color .3s ease}
:is(.bp-menu-intro,.bp-wine) .bp-learn-more:after{transform-origin:left center}
:is(.bp-menu-intro,.bp-wine) .bp-learn-more>span{transition:transform .35s ease}
:is(.bp-menu-intro,.bp-wine) .bp-learn-more:is(:hover,:focus-visible){transform:translateY(-2px)}
:is(.bp-menu-intro,.bp-wine) .bp-learn-more:is(:hover,:focus-visible):after{animation:bp-menu-underline-sweep .65s cubic-bezier(.22,1,.36,1) both}
:is(.bp-menu-intro,.bp-wine) .bp-learn-more:is(:hover,:focus-visible)>span{transform:translateX(7px)}
}

/* Keep the menu chevron close to its label. */
:is(.bp-menu-intro,.bp-wine) .bp-learn-more{gap:9px}

/* Carry the curved underline sweep into the header navigation. */
.bp-header nav a{position:relative}
.bp-header nav a:not(.bp-nav-cta):after,.bp-header .bp-nav-cta:after,.bp-header .bp-mobile-visit:after{content:'';display:block;position:absolute;right:0;bottom:8px;height:5px;background:url('../assets/cheers-underline.svg?v=2') center/100% 100% no-repeat;transform:scaleX(.25);transform-origin:left center;opacity:0;transition:none;pointer-events:none}
.bp-header .bp-nav-cta:after{left:20px!important;right:20px;bottom:5px;height:4px}
.bp-header .bp-mobile-visit:after{left:12px;right:12px;bottom:4px;height:3px}
.bp-header nav a:is(:hover,:focus-visible):after,.bp-header .bp-mobile-visit:is(:hover,:focus-visible):after{opacity:1;transform:scaleX(1)}
@media(prefers-reduced-motion:no-preference){
.bp-header nav a:is(:hover,:focus-visible):after,.bp-header .bp-mobile-visit:is(:hover,:focus-visible):after{animation:bp-menu-underline-sweep .65s cubic-bezier(.22,1,.36,1) both}
}
@media(max-width:900px){.bp-header nav a:not(.bp-nav-cta):after{left:71px!important;right:auto;width:130px;bottom:5px}}

/* Center the menu copy against the photograph, excluding space for the quote. */
@media(min-width:721px){
.bp-menu-layout{align-items:center;padding-bottom:70px}
.bp-menu-visual{height:auto}
.bp-menu-layout .bp-menu-intro{align-self:center}
.bp-wine-card.bp-menu-quote{bottom:-38px}
}
@media(min-width:721px) and (max-width:1000px){
.bp-menu-layout{padding-bottom:65px}
.bp-wine-card.bp-menu-quote{bottom:-34px}
}

/* Match the menu invitation in gold against the walnut story. */
:is(.bp-story,.bp-gather) .bp-learn-more{position:relative;border-bottom:0;padding-bottom:13px;gap:9px;font-weight:400;-webkit-text-stroke:.15px currentColor}
:is(.bp-story,.bp-gather) .bp-learn-more:after{content:'';position:absolute;left:0;right:0;bottom:0;height:6px;background:url('../assets/cheers-underline-gold.svg') center/100% 100% no-repeat;pointer-events:none}
:is(.bp-story,.bp-gather) .bp-learn-more:is(:hover,:focus-visible){color:#f4e4c7}
@media(prefers-reduced-motion:no-preference){
:is(.bp-story,.bp-gather) .bp-learn-more{transition:transform .3s ease,color .3s ease}
:is(.bp-story,.bp-gather) .bp-learn-more:after{transform-origin:left center}
:is(.bp-story,.bp-gather) .bp-learn-more>span{transition:transform .35s ease}
:is(.bp-story,.bp-gather) .bp-learn-more:is(:hover,:focus-visible){transform:translateY(-2px)}
:is(.bp-story,.bp-gather) .bp-learn-more:is(:hover,:focus-visible):after{animation:bp-menu-underline-sweep .65s cubic-bezier(.22,1,.36,1) both}
:is(.bp-story,.bp-gather) .bp-learn-more:is(:hover,:focus-visible)>span{transform:translateX(7px)}
}

/* Match the story's opening paragraph to the menu's introductory type. */
.bp-story .bp-copy p[data-source="6"]{font:400 26px/1.4 var(--serif);text-wrap:pretty}
@media(max-width:720px){.bp-story .bp-copy p[data-source="6"]{font-size:24px}}

/* Fine, irregular pen strokes separate the alternating food stories. */
.bp-food-story+.bp-food-story{border-top:0}
.bp-food-story:last-child{border-bottom:0}
.bp-food-story:before,.bp-food-story:last-child:after{content:'';position:absolute;left:0;right:0;height:14px;background:url('../assets/hand-drawn-divider.svg?v=gold') center/100% 100% no-repeat;opacity:.3;pointer-events:none}
.bp-food-story:before{top:-7px}
.bp-food-story:nth-of-type(odd):before{transform:scaleX(-1)}
.bp-food-story:last-child:after{bottom:-7px;transform:rotate(180deg)}
@media(max-width:720px){.bp-food-story:before,.bp-food-story:last-child:after{height:10px}.bp-food-story:before{top:-5px}.bp-food-story:last-child:after{bottom:-5px}}

/* Give each hand-drawn divider more space on both sides. */
@media(min-width:721px){
.bp-food-story{padding-block:24px;min-height:448px}
}
@media(min-width:721px) and (max-width:1000px){.bp-food-story{min-height:408px}}
.bp-food-stories{padding-bottom:66.5px}
@media(max-width:720px){
.bp-food-story{padding-bottom:18px}
.bp-food-story+.bp-food-story{padding-top:30px}
.bp-food-stories{padding-bottom:40.5px}
}

/* Reveal the pen strokes once their individual edges enter the viewport. */
.bp-divider-marker{position:absolute;left:0;right:0;height:2px;pointer-events:none}
.bp-divider-marker-top{top:0}
.bp-divider-marker-bottom{bottom:0}
@keyframes bp-divider-draw{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}
@keyframes bp-divider-draw-flipped{from{clip-path:inset(0 0 0 100%)}to{clip-path:inset(0)}}
@media(prefers-reduced-motion:no-preference){
.bp-divider-motion .bp-food-story:before{clip-path:inset(0 100% 0 0)}
.bp-divider-motion .bp-food-story:nth-of-type(odd):before,.bp-divider-motion .bp-food-story:last-child:after{clip-path:inset(0 0 0 100%)}
.bp-divider-motion .bp-food-story.bp-divider-top-drawn:before{animation:bp-divider-draw 1.3s cubic-bezier(.25,.46,.45,.94) both}
.bp-divider-motion .bp-food-story:nth-of-type(odd).bp-divider-top-drawn:before,.bp-divider-motion .bp-food-story.bp-divider-bottom-drawn:after{animation:bp-divider-draw-flipped 1.3s cubic-bezier(.25,.46,.45,.94) both}
}

/* Let the final food story flow directly into the wine feature. */
.bp-food-story:last-child:after{display:block}
.bp-food-stories{padding-bottom:24px}
.bp-wine{padding-top:32px}
@media(min-width:721px){.bp-food-story:last-child{padding-bottom:24px;min-height:448px}}
@media(min-width:721px) and (max-width:1000px){.bp-food-story:last-child{min-height:408px}}
@media(max-width:720px){.bp-food-story:last-child{padding-bottom:18px}.bp-food-stories{padding-bottom:20px}.bp-wine{padding-top:24px}}

/* Bring the first food story closer to the menu introduction. */
.bp-menu-layout{margin-bottom:25px}
@media(max-width:720px){.bp-menu-layout{margin-bottom:20px}}

/* Each paper note settles like a light sheet placed on its photograph. */
@keyframes bp-paper-lay-down{
  0%{opacity:0;transform:perspective(900px) translateY(-32px) rotateX(20deg) rotateZ(-6deg) scale(1.04);box-shadow:12px 35px 50px #30201612}
  22%{opacity:1}
  75%{transform:perspective(900px) translateY(2px) rotateX(-2deg) rotateZ(.7deg) scale(1);box-shadow:1px 12px 24px #30201638}
  100%{opacity:1;transform:perspective(900px) translateY(0) rotateX(0) rotateZ(0) scale(1);box-shadow:var(--paper-rest-shadow,0 18px 38px #30201630)}
}
@media(prefers-reduced-motion:no-preference){
.bp-wine-card.bp-paper-ready{opacity:0;transform-origin:50% 85%}
.bp-wine-card.bp-paper-placed{animation:bp-paper-lay-down 1.3s cubic-bezier(.22,.61,.36,1) both}
}

/* Give the wine introduction the same editorial lead as the story and menu. */
.bp-wine .bp-copy p[data-source="17"]{font:400 26px/1.4 var(--serif);text-wrap:pretty}
@media(max-width:720px){.bp-wine .bp-copy p[data-source="17"]{font-size:24px}}

/* Match the wine note to the wider, single-layer bakery card. */
.bp-wine .bp-wine-card{width:320px;padding:20px;right:-22px;bottom:-38px;box-shadow:0 18px 38px #30201630}
.bp-wine .bp-wine-card p{font:italic 27px/1.25 var(--serif)}
@media(max-width:1000px){.bp-wine .bp-wine-card{width:290px;right:-15px;bottom:-34px}.bp-wine .bp-wine-card p{font-size:25px}}
@media(max-width:720px){.bp-wine .bp-wine-card{right:-8px;bottom:4px}}

/* Give the wine photograph the same rectangular editorial frame. */
.bp-wine-image{border-radius:0;box-shadow:0 18px 34px -10px #49351d40,0 4px 10px #49351d18}
.bp-wine-image:before{inset:22px 22px -18px -18px;border-radius:0}
@media(max-width:720px){.bp-wine-image:before{inset:16px 16px -14px -14px}.bp-wine-image{box-shadow:0 12px 24px -8px #49351d40}}

/* Matching location-style callouts finish the photo notes. */
.bp-wine-card p{width:100%}
.bp-wine-card .bp-card-callout{display:flex;align-items:center;justify-content:center;gap:5px;margin-top:8px;font:500 10px/1.5 var(--sans);letter-spacing:1.15px;text-transform:uppercase;color:#79603b;text-wrap:nowrap}
.bp-card-callout:before,.bp-card-callout:after{content:'';display:block;height:1px;flex:1;min-width:12px;max-width:24px;background:#b69a6b;opacity:.8}
@media(max-width:720px){.bp-wine-card .bp-card-callout{font-size:9px;letter-spacing:.8px;gap:4px}}

/* Muted gold callouts complement the paper cards. */
.bp-wine-card .bp-card-callout{color:#79603b}
.bp-wine-card .bp-card-callout:before,.bp-wine-card .bp-card-callout:after{background:#b69a6b}

/* Keep the wine card's opening thought on one line. */
.bp-wine .bp-wine-card{width:370px}
.bp-wine .bp-wine-card p>span:first-child{display:block;white-space:nowrap}
@media(min-width:721px) and (max-width:1000px){.bp-wine .bp-wine-card p>span:first-child{font-size:clamp(18px,2.25vw,25px)}}
@media(max-width:720px){.bp-wine .bp-wine-card p>span:first-child{font-size:clamp(18px,5.3vw,25px)}}

/* Keep all three paper notes at the menu card's responsive height. */
:root{--quote-card-height:110px}
.bp-wine-card,.bp-wine-card.bp-bakery-card,.bp-wine-card.bp-menu-quote,.bp-wine .bp-wine-card{min-height:var(--quote-card-height);padding:16px 20px;display:grid;place-items:center}
@media(max-width:1000px){:root{--quote-card-height:106px}}
@media(max-width:720px){:root{--quote-card-height:100px}}
@media(max-width:360px){.bp-bakery-card p>span:first-child{font-size:20px}}

/* Continue the menu linen through the wine feature without a cream fade. */
.bp-food-stories,.bp-wine{background-color:#f1ece3;background-image:repeating-linear-gradient(0deg,rgba(100,79,52,.025) 0,rgba(100,79,52,.025) 1px,transparent 1px,transparent 4px),repeating-linear-gradient(90deg,rgba(255,255,255,.22) 0,rgba(255,255,255,.22) 1px,transparent 1px,transparent 5px)}
.bp-wine:after{background:linear-gradient(135deg,#f1ece3 25%,transparent 25%) -8px 0/16px 16px repeat-x,linear-gradient(225deg,#f1ece3 25%,transparent 25%) -8px 0/16px 16px repeat-x}

/* Wheat bleeds off the page beside A Slow Morning. */
.bp-morning-wheat{position:absolute;left:calc(50% - 50vw);top:0;bottom:0;width:380px;overflow:hidden;pointer-events:none;z-index:0}
.bp-morning-wheat:before{content:'';position:absolute;left:-35px;top:50%;width:420px;aspect-ratio:510/240;background:url('../assets/wheat-motif.svg') center/contain no-repeat;opacity:.068;transform:translateY(-50%) rotate(-20deg)}
.bp-food-story>.bp-dish-copy{position:relative;z-index:1}
@media(max-width:720px){.bp-morning-wheat{width:220px;top:35%}.bp-morning-wheat:before{left:-120px;width:350px;opacity:.052}}

/* Alternate the edge watermark alongside all three food stories. */
.bp-food-stories{overflow-x:clip;overflow-y:visible}
.bp-sharing-wheat{left:auto;right:calc(50% - 50vw);transform:scaleX(-1)}

/* Carry the textured linen into a soft curve above the gathering section. */
.bp-wine:after{bottom:-47px;height:48px;background:url('../assets/wine-liquid-edge.svg') center/100% 100% no-repeat}
@media(max-width:720px){.bp-wine:after{bottom:-27px;height:28px}}

/* A soft cream curve joins the gathering section to the footer. */
.bp-gather{border-bottom:0}
.bp-visit{overflow:visible}
.bp-visit:before{content:'';position:absolute;left:0;right:0;top:-95px;height:96px;pointer-events:none;background:url('../assets/footer-liquid-edge.svg?v=deeper') center/100% 100% no-repeat}
@media(max-width:720px){.bp-visit:before{top:-55px;height:56px}}

/* Give the gathering photograph room above the deeper footer curve. */
.bp-gather{padding-bottom:145px}
@media(max-width:1000px){.bp-gather{padding-bottom:125px}}
@media(max-width:720px){.bp-gather{padding-bottom:105px}}

/* Give the gatherings story the same spacious editorial treatment. */
.bp-gather{padding-top:135px;padding-bottom:185px}
.bp-gather .bp-copy p[data-source="23"]{font:400 26px/1.4 var(--serif);text-wrap:pretty}
@media(max-width:1000px){.bp-gather{padding-top:115px;padding-bottom:165px}}
@media(max-width:720px){.bp-gather{padding-top:90px;padding-bottom:135px}.bp-gather .bp-copy p[data-source="23"]{font-size:24px}}

/* Give the gatherings copy sixty percent of the two-column layout. */
@media(min-width:721px){
.bp-gather{grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:6%}
.bp-gather .bp-copy{max-width:none}
}

/* Let the text set the gathering photograph's height. */
@media(min-width:721px){
.bp-gather-photo{height:auto;min-height:0;align-self:stretch}
.bp-gather-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
}

/* Bring the footer content closer to its curved top edge. */
.bp-visit{padding-top:42px}
@media(max-width:1000px){.bp-visit{padding-top:35px}}
@media(max-width:720px){.bp-visit{padding-top:28px}}

/* Visit Us joins the lighter editorial button style. */
.bp-header .bp-nav-cta,.bp-header .bp-mobile-visit{background:none;border:0;border-radius:0;box-shadow:none;color:#79603b;padding:3px 0 13px;min-width:0;min-height:0;gap:9px;font:italic 400 23px/1.3 var(--serif);-webkit-text-stroke:.15px currentColor;letter-spacing:.15px;transition:color .3s ease,transform .3s ease}
.bp-header .bp-nav-cta>span,.bp-header .bp-mobile-visit>span{font:400 21px/1 var(--serif);color:inherit}
.bp-header .bp-nav-cta:after,.bp-header .bp-mobile-visit:after{left:0!important;right:0;bottom:0;height:6px;background:url('../assets/cheers-underline-deep-gold.svg') center/100% 100% no-repeat;opacity:1;transform:none}
.bp-header .bp-nav-cta:is(:hover,:focus-visible),.bp-header .bp-mobile-visit:is(:hover,:focus-visible){background:none;box-shadow:none;color:#624923;text-decoration:none}
@media(prefers-reduced-motion:no-preference){
.bp-header .bp-nav-cta:is(:hover,:focus-visible),.bp-header .bp-mobile-visit:is(:hover,:focus-visible){transform:translateY(-2px)}
.bp-header .bp-nav-cta>span,.bp-header .bp-mobile-visit>span{transition:transform .35s ease}
.bp-header .bp-nav-cta:is(:hover,:focus-visible)>span,.bp-header .bp-mobile-visit:is(:hover,:focus-visible)>span{transform:translateX(7px)}
}
@media(max-width:900px){.bp-header .bp-mobile-visit{font-size:18px;gap:6px;padding-bottom:10px}.bp-header .bp-mobile-visit:after{height:4px}.bp-header .bp-nav-cta{font-size:26px}}

/* Align the Visit Us label and separate it with a hand-drawn gold rule. */
@media(min-width:901px){
.bp-header .bp-nav-cta{font-size:inherit;padding:12px 0}
.bp-header .bp-nav-cta:before{content:'';position:absolute;left:-20px;top:50%;width:7px;height:42px;transform:translateY(-50%);background:url('../assets/nav-hand-drawn-divider.svg?v=light-gray') center/100% 100% no-repeat;opacity:.65;pointer-events:none}
}
@media(min-width:901px) and (max-width:1200px){.bp-header .bp-nav-cta:before{left:-13px;height:36px}}

/* Brand-red Visit Us invitation in the header. */
.bp-header .bp-nav-cta,.bp-header .bp-mobile-visit{color:var(--red)}
.bp-header .bp-nav-cta:after,.bp-header .bp-mobile-visit:after{background-image:url('../assets/cheers-underline.svg?v=2')}
.bp-header .bp-nav-cta:is(:hover,:focus-visible),.bp-header .bp-mobile-visit:is(:hover,:focus-visible){color:#8e191e}

/* Double the breathing room around the navigation divider. */
@media(min-width:1201px){.bp-nav-right{gap:68px}.bp-header .bp-nav-cta:before{left:-37.5px}}
@media(min-width:901px) and (max-width:1200px){.bp-nav-right{gap:38px}.bp-header .bp-nav-cta:before{left:-22.5px}}


/* The hero reveals through the same warm linen used by the introduction. */
.bp-hero-reveal-stage{background-color:#f1ece3;background-image:repeating-linear-gradient(0deg,rgba(100,79,52,.025) 0,rgba(100,79,52,.025) 1px,transparent 1px,transparent 4px),repeating-linear-gradient(90deg,rgba(255,255,255,.22) 0,rgba(255,255,255,.22) 1px,transparent 1px,transparent 5px)}

/* A framed paper invitation beneath the hero title. */
.bp-hero-tagline.bp-hero-card{position:relative;width:460px;max-width:100%;min-height:110px;padding:22px 24px;background:#fffaf1;border:1px solid #baa38770;box-shadow:0 18px 38px #30201630;color:#493922;font:italic 28px/1.3 var(--serif);text-shadow:none;display:flex;flex-direction:column;justify-content:center}
.bp-hero-card:before{content:'';position:absolute;inset:8px;border:1px solid #b69a6b55;pointer-events:none}
.bp-hero-card>.bp-hero-location{color:#79603b;font-size:10px;letter-spacing:1.8px;gap:10px;margin-top:8px}
.bp-hero-card .bp-hero-location:before,.bp-hero-card .bp-hero-location:after{width:24px;background:#b69a6b}
@media(max-width:720px){.bp-hero-tagline.bp-hero-card{min-height:100px;padding:20px 16px;font-size:clamp(18px,5.2vw,25px)}.bp-hero-card>.bp-hero-location{font-size:9px;letter-spacing:1.3px}}

/* Tuck the hero wheat closer to the restaurant name. */
.bp-hero h1:before{margin-bottom:-8px}
@media(max-width:720px){.bp-hero h1:before{margin-bottom:-7px}}

/* Align the linen weave at the hero/intro join without an overlapping pixel. */
.bp-hero-reveal-stage{background:#f1ece3 url('../assets/linen-tile.svg') left bottom/5px 4px repeat}
.bp-intro{background-color:#f1ece3;background-image:linear-gradient(to bottom,transparent 52%,var(--cream) 100%),url('../assets/linen-tile.svg');background-position:left top;background-size:100% 100%,5px 4px;background-repeat:no-repeat,repeat}
.bp-intro:before{top:-48px;height:48px}
@media(max-width:720px){.bp-intro:before{top:-28px;height:28px}}

/* Fade the introductory copy while keeping its linen background stationary. */
@media(prefers-reduced-motion:no-preference){
  html.bp-intro-motion .bp-intro .bp-lead.bp-reveal{opacity:0;transform:none;transition:none}
  html.bp-intro-motion .bp-intro .bp-lead.bp-reveal.visible{opacity:1;transition:opacity .8s ease-out}
}

/* Keep short connecting words lowercase within editorial headlines. */
.bp-headline-word.bp-headline-minor:first-letter{text-transform:lowercase}

/* A compact signature above a wide row of visit information. */
.bp-visit{grid-template-columns:1fr 1fr 1fr;grid-template-areas:"brand brand brand" "summary hours address";gap:24px 7%;padding:24px 8% 30px;text-align:center;align-items:start}
.bp-footer-brand{grid-area:brand;padding:0;border:0}
.bp-footer-brand .bp-wordmark{width:192px;margin:-10px auto 0}
.bp-footer-summary{grid-area:summary;align-self:center}
.bp-visit .bp-footer-summary p{max-width:330px;margin:0 auto;font-size:15px;line-height:1.65;color:#6b6055}
.bp-footer-address{grid-area:address}
.bp-footer-hours{grid-area:hours}
.bp-visit h2{font:500 14px/1.4 'DM Sans',Arial,sans-serif;letter-spacing:1.8px;text-transform:uppercase;margin:0 0 13px}
.bp-visit h2 .bp-headline-word,.bp-visit h2 .bp-headline-word:first-letter{text-transform:uppercase}
.bp-visit .bp-location-name{margin-bottom:5px;font-size:21px}
.bp-visit .bp-text-link{margin-top:10px;padding-bottom:4px;font-size:19px}
.bp-footer-wheat{display:none}
.bp-footer{flex-direction:row;justify-content:space-between;align-items:center;text-align:center;padding:15px 8%;gap:20px}
.bp-footer-links{justify-content:center}
@media(max-width:720px){
 .bp-visit{grid-template-columns:1fr 1fr;grid-template-areas:"brand brand" "hours address" "summary summary";gap:22px 20px;padding:18px 6% 24px}
 .bp-footer-brand .bp-wordmark{width:174px;margin:-8px auto 0}
 .bp-visit h2{font-size:12px;letter-spacing:1px;margin-bottom:10px}
 .bp-visit .bp-footer-summary p{font-size:14px;max-width:390px}
 .bp-footer{padding:13px 6%;gap:10px;flex-wrap:wrap;justify-content:center}
 .bp-footer-links{gap:8px 18px}.bp-footer a:not(.bp-wordmark){font-size:16px}
}

/* Bring the signature toward the curve and organize the details beneath it. */
.bp-visit{padding-top:0;row-gap:20px}
.bp-footer-brand:after{content:'';display:block;height:14px;margin:36px auto 20px;background:url('../assets/hand-drawn-divider.svg?v=gold') center/100% 100% no-repeat;opacity:.3}
.bp-footer-summary{align-self:start}
.bp-visit h2{display:flex;align-items:center;justify-content:center;gap:12px;white-space:nowrap}
.bp-visit h2:before,.bp-visit h2:after{content:'';height:1px;width:30px;flex:0 1 30px;background:#b69a6b;opacity:.65}
.bp-visit .bp-text-link{position:relative;display:inline-flex;align-items:center;gap:9px;padding:3px 0 13px;border:0;background:none;color:var(--red);font:italic 400 22px/1.3 var(--serif);letter-spacing:.15px;-webkit-text-stroke:.15px currentColor;text-decoration:none;transition:color .3s ease,transform .3s ease}
.bp-visit .bp-text-link:after{content:'';position:absolute;left:0;right:0;bottom:0;height:6px;background:url('../assets/cheers-underline.svg') center/100% 100% no-repeat;transform-origin:left}
.bp-visit .bp-text-link>span{font:400 21px/1 var(--serif);transition:transform .35s ease}
.bp-visit .bp-text-link:is(:hover,:focus-visible){color:#8e191e;text-decoration:none}
@media(prefers-reduced-motion:no-preference){
 .bp-visit .bp-text-link:is(:hover,:focus-visible){transform:translateY(-2px)}
 .bp-visit .bp-text-link:is(:hover,:focus-visible)>span{transform:translateX(7px)}
 .bp-visit .bp-text-link:is(:hover,:focus-visible):after{animation:bp-menu-underline-sweep .65s cubic-bezier(.22,.61,.36,1) both}
}
@media(max-width:720px){.bp-visit h2{gap:8px}.bp-visit h2:before,.bp-visit h2:after{width:18px;flex-basis:18px}.bp-footer-brand:after{height:10px;margin-top:28px}.bp-visit .bp-text-link{font-size:20px}}

/* A quiet schedule with small day lettering and prominent serif times. */
.bp-visit .bp-footer-hours .bp-hours-days{font:400 12px/1.5 'DM Sans',Arial,sans-serif;letter-spacing:1.2px;text-transform:uppercase;color:var(--muted);margin:0}
.bp-visit .bp-footer-hours .bp-hours-time{display:flex;align-items:baseline;justify-content:center;gap:12px;margin-top:9px;font:400 31px/1.2 var(--serif);color:#493922;white-space:nowrap;font-variant-numeric:lining-nums tabular-nums}
.bp-hours-time small{font:400 10px/1 'DM Sans',Arial,sans-serif;letter-spacing:1px;color:#79603b}
.bp-hours-time .bp-hours-dash{color:#b69a6b;font-size:22px}
@media(max-width:720px){.bp-visit .bp-footer-hours .bp-hours-days{font-size:10px;letter-spacing:.6px}.bp-visit .bp-footer-hours .bp-hours-time{font-size:24px;gap:7px}.bp-hours-time small{font-size:8px;letter-spacing:.3px}.bp-hours-time .bp-hours-dash{font-size:17px}}
@media(max-width:360px){.bp-visit .bp-footer-hours .bp-hours-time{font-size:22px;gap:5px}.bp-hours-time small{font-size:7px}}

/* Echo the framed cream notes used over the photography. */
.bp-footer-card{position:relative;max-width:300px;min-height:110px;margin:0 auto;padding:20px 16px;display:flex;flex-direction:column;justify-content:center;background:#fffaf1;border:1px solid #baa38770;box-shadow:0 18px 38px #30201630;color:#493922}
.bp-footer-card:before{content:'';position:absolute;inset:8px;border:1px solid #b69a6b55;pointer-events:none}
@media(max-width:720px){.bp-footer-card{min-height:100px;padding:18px 8px}.bp-footer-card:before{inset:5px}.bp-visit .bp-footer-hours .bp-hours-time{font-size:22px;gap:4px}.bp-hours-time small{font-size:7px}.bp-visit .bp-footer-hours .bp-hours-days{font-size:9px;letter-spacing:.3px}}
@media(max-width:360px){.bp-visit .bp-footer-hours .bp-hours-time{font-size:20px;gap:3px}.bp-hours-time small{font-size:6px}}

/* Keep the schedule label within its framed note. */
.bp-visit .bp-footer-card h2{color:var(--red);font-size:14px;letter-spacing:1.8px;margin:0 0 13px;gap:9px}
.bp-visit .bp-footer-card h2:before,.bp-visit .bp-footer-card h2:after{background:var(--red);opacity:.4;flex-basis:20px;width:20px}
@media(max-width:720px){.bp-visit .bp-footer-card h2{font-size:12px;letter-spacing:1px;gap:4px;margin-bottom:10px}.bp-visit .bp-footer-card h2:before,.bp-visit .bp-footer-card h2:after{flex-basis:10px;width:10px}}

/* Offset the card padding so all footer labels share one heading line. */
.bp-footer-card{margin-top:-21px;justify-content:flex-start}
@media(max-width:720px){.bp-footer-card{margin-top:-19px;margin-left:-8px;margin-right:-8px;max-width:none}}

/* Present the three footer details as matching framed notes. */
.bp-visit{align-items:stretch}
.bp-footer-summary,.bp-footer-hours,.bp-footer-address{display:flex;align-self:stretch}
.bp-footer-card{width:100%;max-width:none;min-height:155px}
@media(max-width:720px){.bp-footer-card{min-height:135px}.bp-footer-summary .bp-footer-card{margin-top:0;margin-left:0;margin-right:0;min-height:0;padding:18px 20px}}

/* Give the closing food divider the same breathing room as the internal rules. */
.bp-food-stories{padding-bottom:0}
.bp-wine{padding-top:24px}
@media(max-width:720px){
 .bp-food-story:last-child{padding-bottom:42px}
 .bp-wine{padding-top:30px}
}

/* Let the wine copy determine the photograph/video height in the two-column layout. */
@media(min-width:721px){
 .bp-wine{align-items:stretch}
 .bp-wine-image{height:auto;min-height:0;align-self:stretch}
 .bp-wine-image>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
}

/* Give the wine feature more room below the closing food divider. */
.bp-wine{padding-top:60px}
@media(max-width:720px){.bp-wine{padding-top:48px}}

/* Use the menu's content width, column proportions, and gutter for the wine feature. */
@media(min-width:721px){
 .bp-wine{padding-inline:max(9%,calc((100% - 1150px)/2));grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);column-gap:7%}
 .bp-wine>.bp-copy{max-width:none;width:100%}
}
@media(min-width:721px) and (max-width:1000px){.bp-wine{padding-inline:7%}}
@media(max-width:720px){.bp-wine-image{max-width:430px}.bp-wine>.bp-copy{max-width:none}}

/* Match the menu photograph's 90% width within its image column. */
.bp-wine-image{width:90%;justify-self:start}
@media(max-width:720px){.bp-wine-image{width:90%;max-width:387px;margin-left:max(0px,calc((100% - 430px)/2));margin-right:0}}
