/* Final client review: compact CTAs, warmer rounded controls and clear alignment. */
:where(.btn,.pickup-order,.delivery-order,.pickup-open,.pickup-add,.pickup-next,.shop-add,.nav-call,.filter,.shop-filter button,.review-write,.review-all,.footer-order,.service-card-action,.mobile-bottom button,.shop-actions button){border-radius:999px!important}
:where(.service-card,.review-slide,.family-photo-placeholder,.opening-photo,.life-main,.family-scenes-grid figure,.menu-item,.shop-card,.contact-panel,.internal-banner){border-radius:18px;overflow:hidden}
.opening .hero-actions .text-link{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-width:170px;min-height:52px;padding:0 18px;border:1px solid currentColor;border-radius:999px;line-height:1.2;text-align:center;text-decoration:none;white-space:nowrap}
.opening .hero-actions .text-link span{flex:none;line-height:1}
.opening .round-note{width:clamp(112px,11vw,142px);height:clamp(112px,11vw,142px);font-size:clamp(19px,2.2vw,26px);line-height:.94;border-radius:50%;display:grid;place-content:center;text-align:center;transform:rotate(8deg)}
body:has(.opening) .order-choice{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:stretch;margin-top:20px}
body:has(.opening) .order-choice :where(.pickup-order,.delivery-order){display:flex;align-items:center;justify-content:center;gap:8px;min-width:0;min-height:50px;padding:10px 14px;border:1px solid currentColor;border-radius:999px!important;text-align:center;font-size:clamp(12px,1vw,15px);line-height:1.2;white-space:normal}
body:has(.opening) .services-bridge .service-card{border-radius:20px;overflow:hidden}
body:has(.opening) .services-bridge .service-card-action{display:inline-flex;width:auto;min-height:44px;align-items:center;justify-content:center;border-radius:999px!important;padding:10px 18px}
body:has(.opening) .review-invite-actions{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:10px}
body:has(.opening) .review-invite-actions :where(.review-write,.review-all){display:inline-flex;width:auto;min-height:44px;align-items:center;justify-content:center;padding:10px 16px;font-size:12px}
body:has(.opening) .review-invite-actions small{flex-basis:100%}
body:has(.opening) .review-nav{justify-content:flex-end}
body:has(.opening) .visit-strip .btn{justify-content:center}
.footer-order{white-space:nowrap}
@media(max-width:760px){
 .opening .hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
 .opening .hero-actions .btn,.opening .hero-actions .text-link{min-height:46px;padding:10px 15px;font-size:11px}
 .opening .hero-actions .text-link{min-width:148px}
 .opening .round-note{width:clamp(96px,20vw,108px);height:clamp(96px,20vw,108px);font-size:clamp(17px,3.7vw,20px)}
 body:has(.opening) .order-choice{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 body:has(.opening) .order-choice :where(.pickup-order,.delivery-order){min-height:46px;padding:9px 8px;font-size:11px;gap:5px}
 body:has(.opening) .review-invite-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 body:has(.opening) .review-invite-actions :where(.review-write,.review-all){width:100%;min-height:44px;padding:9px 8px;font-size:11px;text-align:center}
 body:has(.opening) .review-invite-actions small{grid-column:1/-1}
 body:has(.opening) .service-card-action{width:max-content;max-width:100%}
}
@media(max-width:360px){
 .opening .hero-actions .btn,.opening .hero-actions .text-link{font-size:10px;padding-inline:11px}
 .opening .hero-actions .text-link{min-width:132px}
 body:has(.opening) .order-choice :where(.pickup-order,.delivery-order){font-size:10px;padding-inline:5px}
}

/* Family story: one authentic photo, crop-only wide edition for desktop. */
.family-feature{width:100%;margin:0;overflow:hidden;background:#d8c8b5}
.family-feature picture,.family-feature img{display:block;width:100%}
.family-feature img{height:auto;aspect-ratio:16/9;object-fit:cover;object-position:center}
.family-feature figcaption{max-width:1240px;margin:0 auto;padding:10px 22px 0;color:#685646;font-size:12px}
.family-story{padding-top:54px;padding-bottom:72px;display:flex;justify-content:center;text-align:center}
.family-story>div{max-width:690px}
.family-story .eyebrow{justify-content:center;color:var(--tomato);margin-bottom:25px}
.family-story h2{color:var(--tomato);margin-bottom:25px}
.family-story p{font-size:16px;line-height:1.7;max-width:58ch;margin:0 auto 18px}
.family-story .btn{margin-top:12px}
.menu-item small{display:block;color:#55483e;opacity:1;font-size:13px;line-height:1.45}
.menu-price{color:var(--tomato);font-size:17px;font-weight:850;white-space:nowrap}
@media(max-width:760px){.family-feature img{aspect-ratio:16/9;object-fit:cover;object-position:center}.family-feature figcaption{padding-inline:22px}.family-story{padding-top:38px;padding-bottom:54px}.family-story p{font-size:14px}.menu-item small{font-size:12px;line-height:1.4}.menu-price{font-size:16px}}

.menu-photo-placeholder{grid-column:2;align-self:center;display:grid;place-items:center;min-height:82px;padding:8px;background:#efe5d7;border:1px dashed #b9a38e;border-radius:12px;color:#665648;font-size:11px;text-align:center;line-height:1.35}
@media(max-width:760px){.menu-photo-placeholder{min-height:70px;font-size:10px}}

.drinks-grid:has(.scene-gallery:only-child){grid-template-columns:minmax(0,1fr)}
@media(min-width:761px){
 .drinks-section{padding-block:42px 46px}
 .drinks-section .drinks-grid:has(.scene-gallery:only-child){grid-template-columns:minmax(0,580px);justify-content:center;gap:0}
}

/* Compact family introduction near the top of the home page. */
.family-teaser{display:grid;grid-template-columns:minmax(180px,.78fr) minmax(0,1.22fr);align-items:center;gap:clamp(24px,4vw,68px);padding-top:clamp(48px,6vw,96px);padding-bottom:clamp(48px,6vw,96px)}
.family-teaser img{display:block;width:100%;height:clamp(250px,31vw,460px);object-fit:cover;object-position:center 38%;border-radius:20px}
.family-teaser h2{font-size:clamp(30px,4.5vw,68px);line-height:1.03;margin:14px 0 18px}
.family-teaser p:not(.eyebrow){max-width:50ch;line-height:1.65;margin-bottom:25px}
.family-teaser .btn{display:inline-flex;width:auto;align-items:center;gap:16px;padding:13px 22px}
@media(max-width:760px){.family-teaser{grid-template-columns:minmax(0,1fr);gap:22px;padding-top:38px;padding-bottom:48px}.family-teaser img{height:230px;object-position:center 33%}.family-teaser h2{font-size:35px}.family-teaser .btn{font-size:13px}}

/* V3: the pizza photograph and its call to action live inside the menu introduction. */
.menu-discovery{margin-bottom:clamp(30px,4vw,52px)}
.menu-discovery-card{display:block;position:relative;aspect-ratio:16/9;min-height:380px;max-height:610px;overflow:hidden;border-radius:22px;color:#fffaf1;text-decoration:none;background:#813c32}
.menu-discovery-image{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center}
.menu-discovery-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(39,20,18,.9) 0%,rgba(39,20,18,.7) 27%,rgba(39,20,18,.06) 72%)}
.menu-discovery-copy{position:relative;z-index:1;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;height:100%;padding:clamp(28px,5vw,70px)}
.menu-discovery-copy strong{max-width:10ch;font-family:var(--display,Impact,sans-serif);font-size:clamp(43px,6vw,88px);line-height:.96;text-transform:uppercase}
.menu-discovery-copy small{font-size:clamp(15px,1.6vw,21px);line-height:1.4;margin:18px 0 25px}
.menu-discovery-action{position:relative;display:inline-flex;align-items:center;justify-content:center;min-width:220px;min-height:48px;padding:11px 42px;border:1px solid #fffdf8;border-radius:999px;background:#fffdf8;color:#813c32;font-size:13px;letter-spacing:.04em;text-transform:uppercase;text-align:center}
.menu-discovery-action span{position:absolute;right:17px}
.menu-discovery-card:hover .menu-discovery-action,.menu-discovery-card:focus-visible .menu-discovery-action{background:#813c32;color:#fffaf1}
/* The menu links are buttons: the label remains centered, including on narrow screens. */
#gourmand .section-heading .text-link,.menu-note .text-link{position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:48px;min-width:210px;padding:10px 40px;border:1px solid #d7bdac;border-radius:999px;background:#fffdf8;color:#39251f;text-align:center;text-decoration:none;line-height:1.2;white-space:normal}
#gourmand .section-heading .text-link span:last-child,.menu-note .text-link span:last-child{position:absolute;right:17px}
#gourmand .section-heading .text-link:hover,.menu-note .text-link:hover{background:#813c32;color:#fffaf1;border-color:#813c32}
/* Smaller editorial reviews with real Google source and a dated rating. */
.review-section.review-premium{background:#f2e9dc;color:#241d19;padding:clamp(38px,5vw,70px) 0}
.review-premium .review-head{display:flex;align-items:end;justify-content:space-between;gap:28px;max-width:1040px;margin:0 auto 22px}
.review-premium .review-eyebrow{display:block;margin:0 0 11px;color:#813c32;font-size:11px;letter-spacing:.11em}
.review-premium h2{margin:0;font:400 clamp(31px,4vw,54px)/1.04 Georgia,serif;letter-spacing:-.045em}
.review-premium h2 em{color:#813c32;font-weight:400}
.review-premium .review-rating{display:flex;align-items:center;gap:11px;padding:11px 14px;border:1px solid #d7c3b0;border-radius:14px;background:#fffcf6;color:#2b211c;text-decoration:none;white-space:nowrap}
.review-premium .review-rating-score{font:700 35px/1 Georgia,serif;color:#813c32}
.review-premium .review-rating-stars,.review-premium .review-stars{color:#c77839;letter-spacing:.1em}
.review-premium .review-rating small{display:block;margin-top:4px;font-size:10px;font-weight:700}
.review-premium .review-stage{max-width:1040px}
.review-premium .review-track{background:transparent;border:0;border-radius:0;box-shadow:none;gap:12px}
.review-premium .review-slide{flex:0 0 min(48%,500px);min-height:224px;padding:21px 23px;border:1px solid #dfcdbd;border-radius:16px;background:#fffdf8;color:#29201b;scroll-snap-align:start}
.review-premium .review-card-top{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:15px}
.review-premium .review-google{display:inline-flex;align-items:center;gap:5px;color:#62564d;font-size:11px;font-weight:700;white-space:nowrap}
.review-premium .review-google span{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#f0e9df;color:#4285f4;font-size:13px;font-weight:800}
.review-premium .review-slide blockquote{max-width:none;margin:14px 0 17px;font:400 clamp(16px,1.5vw,19px)/1.42 Georgia,serif;letter-spacing:-.015em}
.review-premium .review-signature{display:flex;justify-content:space-between;gap:10px;align-items:center;padding-top:11px;border-top:1px solid #eaded2}
.review-premium .review-signature strong{font-size:12px}.review-premium .review-signature small{font-size:10px}
.review-premium .review-bottom{display:flex;align-items:center;justify-content:space-between;gap:18px;max-width:1040px;margin:15px auto 0}
.review-premium .review-arrows button{width:35px;height:35px;border:1px solid #cbb4a2;border-radius:50%;background:#fffdf8;color:#813c32}
.review-premium .review-links{display:flex;flex-wrap:wrap;gap:8px}.review-premium .review-links a{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:38px;padding:7px 15px;border:1px solid #813c32;border-radius:999px;background:#fffdf8;color:#813c32;text-decoration:none;font-size:11px;font-weight:800}
.review-premium .review-links a:first-child{background:#813c32;color:#fffaf1}
.review-premium .review-source{max-width:1040px;margin:12px auto 0;color:#6f6158;font-size:10px;line-height:1.4}
@media(max-width:760px){
 .menu-discovery{margin-bottom:30px}.menu-discovery-card{aspect-ratio:3/2;min-height:0;max-height:none}.menu-discovery-image{object-position:center}.menu-discovery-shade{background:linear-gradient(0deg,rgba(35,22,18,.92),rgba(35,22,18,.38) 48%,rgba(35,22,18,.04) 88%)}.menu-discovery-copy{justify-content:flex-end;padding:clamp(14px,3vw,22px)}.menu-discovery-copy strong{font-size:clamp(27px,6.4vw,40px);line-height:.93}.menu-discovery-copy small{font-size:clamp(11px,2.3vw,14px);margin:6px 0 10px}.menu-discovery-action{min-height:37px;min-width:190px;padding:8px 34px;font-size:10px}
 #gourmand .section-heading .text-link,.menu-note .text-link{min-width:205px;max-width:100%;font-size:13px}
 .review-premium .review-head{display:block}.review-premium .review-rating{width:max-content;margin-top:17px}.review-premium .review-slide{flex-basis:84%;min-height:220px;padding:18px}.review-premium .review-slide blockquote{font-size:17px}.review-premium .review-bottom{align-items:flex-start;flex-direction:column}.review-premium .review-links{width:100%}.review-premium .review-links a{flex:1;min-width:0;text-align:center;padding-inline:9px}
}

/* The portrait storefront fills its square mobile frame without letterboxing. */
@media(max-width:760px){
 body:has(.opening) .uber-banner-shop .uber-banner-photo{position:relative;width:100%;height:auto!important;aspect-ratio:1!important;overflow:hidden}
 body:has(.opening) .uber-banner-shop .uber-banner-photo picture{position:absolute;inset:0;display:block;width:100%;height:100%!important;aspect-ratio:auto!important}
 body:has(.opening) .uber-banner-shop .uber-banner-photo img{display:block;width:100%;height:100%!important;aspect-ratio:auto!important;object-fit:cover!important;object-position:center 44%}
}

/* Boutique: the three steps read as a compact visual journey. */
.shop-explainer{gap:14px;padding-top:16px;padding-bottom:clamp(42px,6vw,76px)}
.shop-explainer .shop-step{display:flex;flex-direction:column;align-items:flex-start;gap:18px;min-width:0;min-height:260px;padding:clamp(20px,2.4vw,30px);border:1px solid #d9c4af;border-radius:20px;background:#fffaf2}
.shop-explainer .shop-step-icon{display:grid;place-items:center;flex:none;width:62px;height:62px;border-radius:17px;background:#efe0cc;color:#813c32}
.shop-explainer .shop-step-icon svg{display:block;width:34px;height:34px}
.shop-explainer .shop-step:nth-child(2) .shop-step-icon{background:#813c32;color:#fffaf2}
.shop-explainer .shop-step:nth-child(3) .shop-step-icon{background:#e9d7bd}
.shop-explainer .shop-step-copy{min-width:0}
.shop-explainer .small-label{display:block;color:#813c32;font-size:11px;font-weight:800;letter-spacing:.12em}
.shop-explainer h2{margin:10px 0 9px;color:#24201d;font-size:clamp(27px,2.5vw,36px);line-height:1}
.shop-explainer p{max-width:34ch;margin:0;color:#564a43;font-size:14px;line-height:1.55}
@media(max-width:900px){.shop-explainer{gap:10px}.shop-explainer .shop-step{padding:20px}}
@media(max-width:650px){
 .shop-explainer{grid-template-columns:1fr;gap:10px;padding-top:8px;padding-bottom:44px}
 .shop-explainer .shop-step{display:grid;grid-template-columns:56px minmax(0,1fr);align-items:start;column-gap:16px;min-height:0;padding:18px}
 .shop-explainer .shop-step-icon{width:56px;height:56px;border-radius:15px}
 .shop-explainer .shop-step-icon svg{width:30px;height:30px}
 .shop-explainer h2{font-size:clamp(25px,6vw,30px);margin:6px 0 7px}
 .shop-explainer p{font-size:13px;line-height:1.48}
}

/* Carte: the withdrawal and delivery choices have identical dimensions. */
body:not(:has(.opening)) .uber-banner-shop .order-choice{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:8px}
body:not(:has(.opening)) .uber-banner-shop .order-choice>a:is(.pickup-order,.delivery-order){box-sizing:border-box;display:flex;align-items:center;justify-content:center;width:100%;min-width:0;height:58px;min-height:58px;padding:8px 10px!important;font-size:clamp(11px,1.3vw,13px)!important;line-height:1.15;text-align:center;white-space:normal;gap:8px}
body:not(:has(.opening)) .uber-banner-shop .order-choice>a:is(.pickup-order,.delivery-order) span{flex:none}

/* Shipping rates are visible in the grocery demonstration without accepting payment. */
.shop-delivery .shop-shipping-option{flex:1 1 180px;min-height:82px;justify-content:flex-start;align-items:center;border-radius:14px;line-height:1.3;display:flex;gap:13px;padding:14px 16px;background:#fffaf2;cursor:pointer}
.shop-shipping-option>svg{width:30px;height:30px;flex:0 0 30px;fill:none;stroke:var(--tomato);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.shop-shipping-option>span{display:flex;align-items:center;gap:9px;font-weight:750}
.shop-shipping-option:has(input:checked){border-color:var(--tomato);background:#f8eadc;box-shadow:0 0 0 1px var(--tomato)}
.shop-modal-content .shop-cart-total{gap:20px;margin:13px 0;font-size:16px}
.shop-modal-content .shop-cart-total span:last-child{white-space:nowrap}
.shop-modal-content .shop-grand-total{padding-top:13px;border-top:1px solid #d9c5af;font-size:18px}
.checkout-reassurance{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0}
.checkout-reassurance span{display:flex;align-items:center;gap:9px;padding:11px 12px;border:1px solid #dfd0bc;border-radius:12px;background:#fffaf2;font-size:12px;font-weight:700}
.checkout-reassurance svg,.site-trust-bar svg{width:24px;height:24px;flex:0 0 24px;fill:none;stroke:var(--tomato);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.site-trust-bar{border-top:1px solid #d9c5af;border-bottom:1px solid #d9c5af;background:#f7eadb}
.site-trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;padding-top:0!important;padding-bottom:0!important}
.site-trust-grid>div{display:flex;align-items:center;gap:13px;min-height:112px;padding:22px;border-right:1px solid #d9c5af}
.site-trust-grid>div:last-child{border-right:0}
.site-trust-grid strong,.site-trust-grid small{display:block}
.site-trust-grid strong{font-size:13px;line-height:1.25;color:var(--ink)}
.site-trust-grid small{margin-top:5px;font-size:10px;line-height:1.35;color:#756454}
@media(max-width:760px){.shop-delivery .shop-shipping-option{min-height:72px}.checkout-reassurance{grid-template-columns:1fr}.site-trust-grid{grid-template-columns:1fr 1fr}.site-trust-grid>div{min-height:94px;padding:16px 12px;border-bottom:1px solid #d9c5af}.site-trust-grid>div:nth-child(2){border-right:0}.site-trust-grid>div:nth-last-child(-n+2){border-bottom:0}.site-trust-grid strong{font-size:11px}.site-trust-grid small{font-size:9px}}

/* V3 menu: original client dish photos, cropped below their story captions. */
.menu-item img.client-dish-photo{width:112px;height:112px;object-fit:cover;object-position:center 55%;padding:0;background:#f2e8d9;border-radius:12px}
@media(max-width:700px){.menu-item img.client-dish-photo{width:90px;height:90px}}
.family-scenes-grid:has(figure:nth-child(3):last-child){grid-template-columns:repeat(3,minmax(0,1fr))}

/* Notre histoire — an animated, tactile family storybook. */
.story-book-section{padding-top:clamp(54px,7vw,104px);padding-bottom:clamp(54px,7vw,96px)}
.story-book-intro{max-width:720px;margin:0 auto clamp(28px,4vw,52px);text-align:center}
.story-book-intro .eyebrow{justify-content:center;color:var(--tomato)}
.story-book-intro h2{margin:14px 0 12px;color:var(--tomato);font-size:clamp(42px,5.8vw,82px);line-height:.96}
.story-book-intro>p:last-child{max-width:54ch;margin:0 auto;color:#675548;font-size:clamp(14px,1.4vw,17px);line-height:1.65}
.story-book{position:relative;max-width:1040px;margin:0 auto;padding:clamp(12px,2vw,24px);border-radius:28px;background:#7e392f;box-shadow:0 30px 80px rgba(60,25,20,.2);outline:none;isolation:isolate}
.story-book:focus-visible{box-shadow:0 0 0 4px #f2c87b,0 30px 80px rgba(60,25,20,.22)}
.story-book::before,.story-book::after{content:"";position:absolute;z-index:-1;inset:18px 10px -10px;border-radius:22px;background:#d8b88c;transform:rotate(-.6deg)}
.story-book::after{inset:15px 14px -6px;background:#b9875d;transform:rotate(.45deg)}
.story-book-binding{position:absolute;z-index:8;left:5px;top:70px;bottom:108px;width:34px;display:flex;flex-direction:column;justify-content:space-around;pointer-events:none}
.story-book-binding span{display:block;width:38px;height:10px;border:3px solid #d9b77e;border-right:0;border-radius:12px 0 0 12px;box-shadow:0 2px 0 rgba(54,25,21,.28)}
.story-book-stage{position:relative;min-height:640px;border-radius:18px;overflow:hidden;background:#fff8ea;perspective:1700px}
.story-book-page{display:none;position:relative;box-sizing:border-box;min-height:640px;padding:clamp(42px,6vw,84px) clamp(38px,8vw,110px) clamp(46px,6vw,76px);overflow:hidden;background:
 radial-gradient(circle at 8% 10%,rgba(170,80,56,.07) 0 2px,transparent 2.5px) 0 0/26px 26px,
 linear-gradient(100deg,#fff8ea 0%,#fffdf6 56%,#f6ead6 100%);color:#2e2520;transform-origin:left center;backface-visibility:hidden}
.story-book-page::after{content:"";position:absolute;inset:16px;border:1px solid rgba(126,57,47,.22);border-radius:12px;pointer-events:none}
.story-book-page.is-active{display:block}
.story-book-page.is-entering-forward{display:block;animation:book-page-in-forward .52s cubic-bezier(.2,.72,.24,1) both}
.story-book-page.is-entering-back{display:block;animation:book-page-in-back .52s cubic-bezier(.2,.72,.24,1) both}
.story-book-page.is-leaving-forward{display:block;position:absolute;inset:0;z-index:3;animation:book-page-out-forward .52s cubic-bezier(.7,.08,.3,1) both}
.story-book-page.is-leaving-back{display:block;position:absolute;inset:0;z-index:3;animation:book-page-out-back .52s cubic-bezier(.7,.08,.3,1) both}
@keyframes book-page-out-forward{0%{opacity:1;transform:rotateY(0deg);filter:brightness(1)}100%{opacity:0;transform:rotateY(-58deg) translateX(-3%);filter:brightness(.72)}}
@keyframes book-page-in-forward{0%{opacity:0;transform:translateX(5%) scale(.985)}100%{opacity:1;transform:translateX(0) scale(1)}}
@keyframes book-page-out-back{0%{opacity:1;transform:rotateY(0deg)}100%{opacity:0;transform:rotateY(48deg) translateX(3%)}}
@keyframes book-page-in-back{0%{opacity:0;transform:translateX(-5%) scale(.985)}100%{opacity:1;transform:translateX(0) scale(1)}}
.story-book-page .book-kicker{margin:0 0 14px;color:#985044;font-family:var(--body);font-size:11px;font-weight:800;letter-spacing:.16em;line-height:1.3;text-transform:uppercase}
.story-book-page h3{position:relative;z-index:1;max-width:15ch;margin:0 0 clamp(22px,3vw,34px);color:#7e392f;font-family:var(--display);font-size:clamp(39px,5vw,66px);font-style:normal;line-height:.98;text-transform:uppercase}
.book-copy{position:relative;z-index:1;max-width:760px;columns:2;column-gap:clamp(34px,5vw,66px);column-rule:1px solid rgba(126,57,47,.14)}
.book-copy p{break-inside:avoid;margin:0 0 17px;font-family:var(--body);font-size:clamp(14px,1.25vw,16px);font-style:normal;line-height:1.67}
.book-copy p:first-child::first-letter{float:left;margin:5px 8px 0 0;color:#a45142;font-family:var(--display);font-size:58px;line-height:.72}
.book-copy-wide{max-width:820px}
.book-page-number{position:absolute;right:38px;top:34px;color:rgba(126,57,47,.22);font-family:var(--display);font-size:78px;line-height:1}
.story-book-cover{display:none;text-align:center;background:#873d32;color:#fff7e8}
.story-book-cover.is-active{display:flex;flex-direction:column;align-items:center;justify-content:center}
.story-book-cover::before{content:"";position:absolute;inset:28px;border:2px solid #e8c289;border-radius:120px 120px 18px 18px}
.story-book-cover::after{inset:40px;border-color:rgba(255,247,232,.35);border-radius:106px 106px 14px 14px}
.story-book-cover .book-kicker{position:relative;color:#f2d19c}
.story-book-cover h3{position:relative;max-width:none;margin:4px 0 20px;color:#fff7e8;font-size:clamp(74px,11vw,142px);line-height:.78;text-align:center}
.book-lead{position:relative;max-width:600px;margin:0 auto;color:#fff7e8;font-family:var(--body);font-size:clamp(17px,2vw,23px);font-weight:650;line-height:1.45}
.book-cover-note{position:relative;margin:22px 0 0;color:#f0d6ae;font-size:12px;letter-spacing:.07em;text-transform:uppercase}
.book-cover-sun{position:absolute;right:9%;top:11%;width:92px;height:92px;border:1px solid #e7be7d;border-radius:50%;box-shadow:0 0 0 10px rgba(231,190,125,.08),0 0 0 20px rgba(231,190,125,.04)}
.book-cover-stars{position:absolute;left:8%;bottom:12%;color:#e7be7d;font-size:20px;letter-spacing:.2em;transform:rotate(-7deg)}
.book-route{position:relative;display:flex;align-items:center;justify-content:center;gap:12px;width:min(520px,70%);margin:34px auto 0;color:#f2d19c;font-size:11px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.book-route i{height:1px;flex:1;background:repeating-linear-gradient(90deg,#e7be7d 0 6px,transparent 6px 12px)}
.book-route b{font-size:22px;font-weight:400}
.book-illustration{position:absolute;right:6%;bottom:5%;width:280px;height:150px;opacity:.22;pointer-events:none}
.book-sun{position:absolute;right:8px;top:0;width:62px;height:62px;border:3px solid #a45142;border-radius:50%}
.book-house{position:absolute;right:90px;bottom:16px;width:92px;height:68px;border:4px solid #a45142;border-top:0}
.book-house::before{content:"";position:absolute;left:8px;top:-40px;width:66px;height:66px;border-left:4px solid #a45142;border-top:4px solid #a45142;transform:rotate(45deg)}
.book-house::after{content:"";position:absolute;left:34px;bottom:0;width:22px;height:42px;border:3px solid #a45142;border-bottom:0}
.book-path{position:absolute;left:0;bottom:0;width:130px;height:70px;border-bottom:4px dashed #a45142;border-radius:0 0 60% 30%;transform:rotate(7deg)}
.book-memory-line{position:absolute;left:9%;right:9%;bottom:54px;display:flex;align-items:center;gap:12px;color:#985044;font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.book-memory-line i{height:1px;flex:1;background:repeating-linear-gradient(90deg,#b27163 0 5px,transparent 5px 10px)}
.book-memory-line b{font-family:var(--body);font-size:10px;font-weight:600;letter-spacing:.06em}
.book-dream{position:absolute;right:7%;bottom:7%;display:grid;grid-template-columns:auto auto auto;align-items:center;gap:13px;padding:18px 22px;border:1px solid rgba(126,57,47,.25);border-radius:50%;color:#8c473d;transform:rotate(-3deg)}
.book-dream span{font-family:var(--display);font-size:20px;text-transform:uppercase}.book-dream b{font-size:22px}.book-dream em{grid-column:1/-1;font-family:var(--body);font-size:10px;font-style:normal;letter-spacing:.1em;text-align:center;text-transform:uppercase}
.book-pantry{position:absolute;right:6%;bottom:7%;width:290px;height:125px;opacity:.7}.book-pantry span{position:absolute;padding:7px 12px;border:1px solid #a45142;border-radius:50%;color:#8c473d;font-size:10px;font-weight:800;text-transform:uppercase}.book-pantry span:nth-child(1){left:0;top:31px;transform:rotate(-8deg)}.book-pantry span:nth-child(2){left:78px;top:3px;transform:rotate(4deg)}.book-pantry span:nth-child(3){right:22px;top:32px;transform:rotate(9deg)}.book-pantry span:nth-child(4){left:97px;bottom:5px;transform:rotate(-3deg)}.book-pantry b{position:absolute;right:0;bottom:0;color:#a45142;font-size:30px;font-weight:400}
.book-oven{position:absolute;right:7%;bottom:5%;width:190px;height:135px;text-align:center;color:#8c473d;opacity:.6}.book-oven span{display:block;width:140px;height:95px;margin:auto;border:5px solid #8c473d;border-radius:75px 75px 7px 7px}.book-oven span::after{content:"";display:block;width:82px;height:54px;margin:29px auto 0;border:3px solid #8c473d;border-radius:50px 50px 4px 4px}.book-oven i{display:block;margin-top:8px;font-family:var(--body);font-size:10px;font-style:normal;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.book-two-hearts{position:absolute;right:8%;bottom:8%;display:grid;grid-template-columns:auto 120px auto;align-items:center;color:#9c4c40;opacity:.6}.book-two-hearts span{font-size:52px}.book-two-hearts i{height:2px;background:repeating-linear-gradient(90deg,#9c4c40 0 8px,transparent 8px 15px)}.book-two-hearts small{grid-column:1/-1;margin-top:3px;font-size:10px;font-weight:800;letter-spacing:.12em;text-align:center;text-transform:uppercase}
.book-table{position:absolute;right:7%;bottom:6%;width:260px;height:110px;opacity:.45}.book-table::before{content:"";position:absolute;left:20px;right:20px;top:28px;height:28px;border:4px solid #8c473d;border-radius:50%}.book-table::after{content:"";position:absolute;left:129px;top:55px;height:50px;border-left:4px solid #8c473d}.book-table span,.book-table i,.book-table b,.book-table em{position:absolute;top:0;width:30px;height:30px;border:3px solid #8c473d;border-radius:50%}.book-table span{left:35px}.book-table i{left:95px}.book-table b{right:75px}.book-table em{right:20px}
.story-book-ending{text-align:center}.story-book-ending h3{max-width:12ch;margin-inline:auto}.story-book-ending .book-copy{margin-inline:auto;columns:1;max-width:660px}.story-book-ending .book-copy p:first-child::first-letter{float:none;margin:0;font:inherit;color:inherit}.story-book-ending .book-copy p:nth-child(2){margin-top:26px;color:#7e392f;font-family:var(--display);font-size:clamp(28px,3.5vw,44px);line-height:1;text-transform:uppercase}.story-book-ending .book-copy p:last-child{font-weight:800;letter-spacing:.04em}.book-signature{margin:20px auto 18px;color:#a45142;font-family:var(--display);font-size:24px;text-transform:uppercase}.book-signature span{font-family:var(--body);font-weight:400}.book-final-cta{position:relative;z-index:2;display:inline-flex!important;width:auto!important}
.story-book-controls{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:16px;padding:22px 10px 8px;color:#fff8ea}
.book-control{display:inline-flex;align-items:center;gap:11px;width:max-content;min-height:44px;padding:7px 15px;border:1px solid rgba(255,248,234,.45);border-radius:999px;background:transparent;color:#fff8ea;font:800 11px/1.2 var(--body);letter-spacing:.05em;text-transform:uppercase;cursor:pointer}
.book-control:last-child{justify-self:end}.book-control:hover:not(:disabled),.book-control:focus-visible{background:#fff8ea;color:#7e392f;outline:none}.book-control:disabled{opacity:.35;cursor:not-allowed}
.story-book-progress{display:flex;align-items:center;gap:10px;font:700 11px/1 var(--body);letter-spacing:.1em}.story-book-progress strong{font-size:17px}.story-book-progress i{display:block;width:42px;height:1px;background:rgba(255,248,234,.55)}
.story-book-dots{display:flex;justify-content:center;gap:7px;padding-top:8px}.story-book-dot{width:20px;height:4px;padding:0;border:0;border-radius:99px;background:rgba(255,248,234,.3);cursor:pointer;transition:width .25s ease,background .25s ease}.story-book-dot.is-active{width:42px;background:#f2c87b}.story-book-dot:focus-visible{outline:2px solid #fff8ea;outline-offset:3px}
.story-book-hint{margin:12px 0 0;color:rgba(255,248,234,.68);font-size:9px;letter-spacing:.1em;text-align:center;text-transform:uppercase}
@media(max-width:760px){
 .story-book-section{padding-inline:12px}.story-book-intro{padding-inline:12px}.story-book-intro h2{font-size:45px}
 .story-book{padding:8px;border-radius:20px}.story-book::before,.story-book::after{inset:12px 7px -6px;border-radius:17px}.story-book-binding{left:-1px;top:62px;bottom:112px;width:24px}.story-book-binding span{width:25px;height:7px;border-width:2px}
 .story-book-stage,.story-book-page{min-height:620px}.story-book-page{padding:44px 29px 46px 35px}.story-book-page::after{inset:10px}
 .story-book-page h3{max-width:12ch;font-size:clamp(36px,10.5vw,48px);margin-bottom:22px}.story-book-page .book-kicker{font-size:9px;padding-right:58px}
 .book-copy{columns:1}.book-copy p{font-size:13px;line-height:1.58;margin-bottom:14px}.book-copy p:first-child::first-letter{font-size:48px}
 .book-page-number{right:25px;top:27px;font-size:56px}.story-book-cover h3{font-size:clamp(66px,21vw,96px)}.story-book-cover::before{inset:18px;border-radius:90px 90px 12px 12px}.story-book-cover::after{inset:29px;border-radius:77px 77px 10px 10px}.book-cover-sun{right:7%;top:9%;width:58px;height:58px}.book-cover-stars{left:8%;bottom:10%;font-size:14px}.book-lead{max-width:260px;font-size:16px}.book-cover-note{max-width:230px;font-size:9px;line-height:1.5}.book-route{width:78%;gap:8px}.book-route span{font-size:8px}
 .book-illustration,.book-dream,.book-pantry,.book-oven,.book-two-hearts,.book-table{transform:scale(.72);transform-origin:right bottom;opacity:.22}.book-memory-line{display:none}
 .book-control{min-height:42px;padding:7px 11px}.book-control span:nth-child(2):not([data-book-next-label]){display:none}.book-control [data-book-next-label]{font-size:9px}.story-book-controls{gap:8px;padding-inline:2px}.story-book-progress{gap:7px}.story-book-progress i{width:24px}.story-book-hint{font-size:8px;line-height:1.5}
}
@media(max-width:380px){.story-book-stage,.story-book-page{min-height:650px}.story-book-page{padding-inline:29px 22px}.story-book-page h3{font-size:34px}.book-copy p{font-size:12.5px}.book-illustration,.book-dream,.book-pantry,.book-oven,.book-two-hearts,.book-table{display:none}}
@media(prefers-reduced-motion:reduce){.story-book-page.is-entering-forward,.story-book-page.is-entering-back,.story-book-page.is-leaving-forward,.story-book-page.is-leaving-back{animation:none}.story-book-dot{transition:none}}

/* V3 ebook: a closed book in the page, then a five-chapter full-screen story. */
.ebook-section{padding-top:clamp(52px,7vw,96px);padding-bottom:clamp(58px,8vw,110px)}
.ebook-heading{max-width:680px;margin:0 auto 34px;text-align:center}.ebook-heading .eyebrow{justify-content:center;color:var(--tomato)}
.ebook-heading h2{margin:13px 0 12px;color:var(--tomato);font-size:clamp(46px,6vw,82px);line-height:.94}.ebook-heading>p:last-child{max-width:52ch;margin:auto;color:#675548;font-size:15px;line-height:1.6}
.ebook-launcher{position:relative;display:grid;grid-template-columns:46% 54%;width:min(100%,760px);min-height:470px;margin:0 auto;padding:0;overflow:hidden;border:0;border-radius:8px 24px 24px 8px;background:#843b31;color:#fff7e8;text-align:left;box-shadow:-12px 12px 0 #a96b4e,-20px 22px 48px rgba(58,27,21,.22);cursor:pointer;isolation:isolate}
.ebook-launcher::before{content:"";position:absolute;z-index:4;left:0;top:0;bottom:0;width:24px;background:linear-gradient(90deg,#54241f,#843b31 62%,#b06e50);box-shadow:7px 0 12px rgba(46,20,17,.28)}
.ebook-launcher::after{content:"";position:absolute;z-index:5;inset:16px;border:1px solid rgba(245,210,151,.62);border-radius:3px 16px 16px 3px;pointer-events:none}
.ebook-cover-art{position:relative;min-height:470px;overflow:hidden;background:radial-gradient(circle at 40% 35%,#f5d99d 0 3%,transparent 3.5%),linear-gradient(145deg,#a35241,#672a25)}
.ebook-cover-art::before{content:"";position:absolute;inset:7% 9%;border:1px dashed rgba(255,241,213,.4);border-radius:50%}
.ebook-cover-art img{position:absolute;z-index:2;left:50%;bottom:-9%;width:88%;height:91%;object-fit:contain;transform:translateX(-50%);filter:drop-shadow(0 14px 14px rgba(28,12,9,.28));transition:transform .55s cubic-bezier(.2,.8,.2,1)}
.ebook-cover-art i{position:absolute;right:10%;top:11%;width:70px;height:70px;border:2px solid #f0c982;border-radius:50%;box-shadow:0 0 0 9px rgba(240,201,130,.08)}
.ebook-cover-art b{position:absolute;z-index:3;left:10%;bottom:10%;font-size:48px;font-weight:400;transform:rotate(-9deg)}
.ebook-cover-copy{position:relative;display:flex;flex-direction:column;justify-content:center;padding:55px 55px 50px 48px;background:radial-gradient(circle at 84% 17%,rgba(244,211,153,.16) 0 5px,transparent 6px),#843b31}
.ebook-cover-copy small{color:#efd09c;font-size:10px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.ebook-cover-copy strong{margin:19px 0 21px;font-family:var(--display);font-size:clamp(60px,7vw,90px);font-weight:800;line-height:.78;text-transform:uppercase}.ebook-cover-copy em{font-family:var(--body);font-size:16px;font-style:normal;font-weight:650}.ebook-cover-copy>span{display:flex;align-items:center;justify-content:space-between;width:100%;margin-top:42px;padding-top:17px;border-top:1px solid rgba(255,247,232,.45);font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.ebook-cover-copy>span b{font-size:22px}.ebook-launcher:hover .ebook-cover-art img,.ebook-launcher:focus-visible .ebook-cover-art img{transform:translateX(-50%) translateY(-2%) rotate(-1deg) scale(1.035)}
body.ebook-open{overflow:hidden}
.ebook-dialog{z-index:2147483647;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;border:0;background:#6f3029;color:#2e2520;overflow:hidden}.ebook-dialog::backdrop{background:rgba(33,18,15,.88);backdrop-filter:blur(9px)}
.ebook-shell{display:grid;grid-template-rows:58px minmax(0,1fr) 68px;width:100%;height:100dvh;background:#6f3029;outline:none;perspective:1800px}
.ebook-bar{display:flex;align-items:center;justify-content:space-between;padding:0 clamp(17px,3vw,42px);border-bottom:1px solid rgba(255,246,230,.24);color:#fff7e8}.ebook-bar>div{display:flex;align-items:baseline;gap:14px}.ebook-bar small{font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.ebook-bar strong{color:#efc77f;font-size:12px;letter-spacing:.08em}.ebook-bar button{display:grid;place-items:center;width:38px;height:38px;padding:0;border:1px solid rgba(255,247,232,.48);border-radius:50%;background:transparent;color:#fff7e8}.ebook-bar button span{font-size:25px;line-height:1}
.ebook-pages{position:relative;min-height:0;margin:clamp(8px,1.5vw,18px);overflow:hidden;border-radius:16px;background:#fff8ea;box-shadow:0 16px 60px rgba(21,8,6,.3)}
.ebook-page{display:none;position:absolute;inset:0;grid-template-columns:minmax(280px,42%) minmax(0,58%);overflow:hidden;background:#fff9ec;transform-origin:left center;backface-visibility:hidden}.ebook-page.is-active{display:grid}.ebook-page.is-entering-forward,.ebook-page.is-entering-back{display:grid;z-index:2}.ebook-page.is-entering-forward{animation:ebook-in-forward .6s cubic-bezier(.18,.78,.18,1) both}.ebook-page.is-leaving-forward{display:grid;z-index:3;animation:ebook-out-forward .6s cubic-bezier(.65,.08,.3,1) both}.ebook-page.is-entering-back{animation:ebook-in-back .6s cubic-bezier(.18,.78,.18,1) both}.ebook-page.is-leaving-back{display:grid;z-index:3;animation:ebook-out-back .6s cubic-bezier(.65,.08,.3,1) both}
@keyframes ebook-out-forward{to{opacity:0;transform:rotateY(-68deg) translateX(-3%);filter:brightness(.62)}}@keyframes ebook-in-forward{from{opacity:0;transform:translateX(4%) scale(.985)}to{opacity:1;transform:none}}@keyframes ebook-out-back{to{opacity:0;transform:rotateY(60deg) translateX(3%);filter:brightness(.7)}}@keyframes ebook-in-back{from{opacity:0;transform:translateX(-4%) scale(.985)}to{opacity:1;transform:none}}
.ebook-scene{position:relative;overflow:hidden;background:#ecd4a6}.ebook-scene::after{content:"";position:absolute;left:0;right:0;bottom:0;height:22%;background:#bc6a4f;border-radius:50% 50% 0 0/28% 28% 0 0}.ebook-scene img{position:absolute;z-index:4;left:50%;bottom:-7%;width:86%;height:88%;object-fit:contain;transform:translateX(-50%);filter:drop-shadow(0 14px 12px rgba(61,29,20,.25))}
.ebook-story{position:relative;overflow:auto;padding:clamp(36px,5vw,72px) clamp(32px,6vw,88px) 46px;background:radial-gradient(circle at 10% 10%,rgba(154,73,58,.06) 0 2px,transparent 2.5px) 0 0/23px 23px,#fff9ec;scrollbar-color:#ba8067 transparent;scrollbar-width:thin}.ebook-story::before{content:"";position:absolute;left:0;top:0;bottom:0;width:14px;background:linear-gradient(90deg,rgba(76,36,28,.16),transparent)}
.ebook-kicker{margin:0 0 14px;color:#9c4b3f;font-size:10px;font-weight:850;letter-spacing:.15em;text-transform:uppercase}.ebook-story h3{max-width:15ch;margin:0 0 25px;color:#79352d;font-size:clamp(36px,4.4vw,64px);font-style:normal;line-height:.96}.ebook-story>p:not(.ebook-kicker){max-width:64ch;margin:0 0 16px;font-size:clamp(13px,1.15vw,16px);line-height:1.65}.ebook-story>p:not(.ebook-kicker):first-of-type::first-letter{float:left;margin:6px 8px 0 0;color:#9c4b3f;font-family:var(--display);font-size:54px;line-height:.7}.ebook-final-link{margin-top:11px}
.scene-sun{position:absolute;right:11%;top:9%;width:86px;height:86px;border:3px solid #aa5944;border-radius:50%;box-shadow:0 0 0 12px rgba(170,89,68,.09)}.scene-cloud{position:absolute;width:90px;height:24px;border:3px solid #9a4d3c;border-radius:50%;opacity:.55}.scene-cloud-one{left:7%;top:16%}.scene-cloud-two{right:12%;top:28%;transform:scale(.65)}.scene-city{position:absolute;left:8%;bottom:23%;color:#974b3d;font-family:var(--display);font-size:34px;text-transform:uppercase;transform:rotate(-8deg)}
.ebook-scene-roots.is-active .scene-sun{animation:scene-pulse 3s ease-in-out infinite}.ebook-scene-roots.is-active .scene-cloud-one{animation:scene-cloud 7s ease-in-out infinite alternate}.ebook-scene-roots.is-active .scene-cloud-two{animation:scene-cloud 5s 1s ease-in-out infinite alternate}.ebook-scene-roots.is-active .ebook-scene img{animation:scene-character-in .9s cubic-bezier(.15,.8,.2,1) both,scene-breathe 3.4s .9s ease-in-out infinite}
.ebook-scene-road .ebook-scene{background:#e9c98c}.scene-road{position:absolute;left:-10%;right:-10%;bottom:18%;height:28%;background:#b66149;transform:rotate(-7deg)}.scene-road::after{content:"";position:absolute;left:0;right:0;top:48%;border-top:3px dashed #f6d99d}.scene-car{position:absolute;z-index:3;left:9%;bottom:32%;display:grid;place-items:center;width:58px;height:34px;border:3px solid #7d382e;border-radius:17px 22px 8px 8px;color:#7d382e;font-size:22px}.scene-sign{position:absolute;z-index:2;top:10%;padding:7px 12px;border:2px solid #8b4134;background:#f4dcab;color:#8b4134;font-size:10px;font-weight:850;text-transform:uppercase}.scene-sign-left{left:7%;transform:rotate(-5deg)}.scene-sign-right{right:7%;transform:rotate(5deg)}.ebook-scene-road.is-active .scene-car{animation:scene-drive 4.6s ease-in-out infinite}.ebook-scene-road.is-active .ebook-scene img{animation:scene-bounce 2.8s ease-in-out infinite}
.ebook-scene-dream .ebook-scene{background:linear-gradient(#75332e,#aa5f4a)}.scene-star{position:absolute;color:#f2cf8b;font-size:24px}.scene-star-one{left:12%;top:12%}.scene-star-two{right:13%;top:19%}.scene-star-three{left:19%;top:38%;font-size:14px}.scene-pizza{position:absolute;z-index:3;right:8%;bottom:18%;width:110px;height:110px;border:8px dotted #f0c77f;border-radius:50%;background:radial-gradient(circle,#f3cf8a 0 8%,#b84b35 9% 27%,#f0c77f 28% 53%,#7e342c 54% 58%,transparent 59%)}.scene-heart{position:absolute;left:8%;bottom:24%;color:#f2cf8b;font-size:62px}.ebook-scene-dream.is-active .scene-star{animation:scene-twinkle 1.5s ease-in-out infinite alternate}.ebook-scene-dream.is-active .scene-star-two{animation-delay:.45s}.ebook-scene-dream.is-active .scene-star-three{animation-delay:.8s}.ebook-scene-dream.is-active .scene-pizza{animation:scene-float 3.2s ease-in-out infinite}.ebook-scene-dream.is-active .ebook-scene img{animation:scene-dream 3.2s ease-in-out infinite}
.ebook-scene-together .ebook-scene{background:#e7c994}.scene-oven{position:absolute;right:5%;bottom:16%;width:142px;height:118px;border:7px solid #7f382e;border-radius:75px 75px 8px 8px}.scene-oven::after{content:"";position:absolute;left:26px;right:26px;bottom:15px;height:47px;border:4px solid #7f382e;border-radius:35px 35px 5px 5px}.scene-flame{position:absolute;z-index:3;bottom:25%;width:18px;height:38px;border-radius:70% 30% 65% 35%;background:#b64f37}.scene-flame-one{right:19%}.scene-flame-two{right:25%;transform:scale(.7)}.scene-love{position:absolute;z-index:3;color:#a64d3c;font-size:35px}.scene-love-one{left:8%;top:16%}.scene-love-two{right:10%;top:9%;font-size:25px}.ebook-scene-together.is-active .scene-flame{animation:scene-flame .72s ease-in-out infinite alternate}.ebook-scene-together.is-active .scene-love{animation:scene-love 2.7s ease-in-out infinite}.ebook-scene-together.is-active .ebook-scene img{animation:scene-breathe 3s ease-in-out infinite}
.ebook-scene-welcome .ebook-scene{background:#efdaa9}.scene-table{position:absolute;left:5%;right:5%;bottom:13%;height:64px;border:6px solid #7e392f;border-radius:50%}.scene-welcome-heart{position:absolute;right:10%;top:12%;color:#9e4d3d;font-size:58px}.scene-confetti{position:absolute;z-index:3;top:-8%;width:9px;height:18px;background:#963f35}.scene-confetti-one{left:13%;transform:rotate(20deg)}.scene-confetti-two{left:42%;background:#da9d46;transform:rotate(-26deg)}.scene-confetti-three{right:15%;background:#a24d3c;transform:rotate(36deg)}.ebook-scene-welcome.is-active .scene-confetti{animation:scene-confetti 3s linear infinite}.ebook-scene-welcome.is-active .scene-confetti-two{animation-delay:.8s}.ebook-scene-welcome.is-active .scene-confetti-three{animation-delay:1.55s}.ebook-scene-welcome.is-active .scene-welcome-heart{animation:scene-pulse 2.4s ease-in-out infinite}.ebook-scene-welcome.is-active .ebook-scene img{animation:scene-wave 2.8s ease-in-out infinite;transform-origin:50% 100%}
@keyframes scene-character-in{from{opacity:0;transform:translateX(-62%) translateY(10%) rotate(-5deg)}to{opacity:1;transform:translateX(-50%)}}@keyframes scene-breathe{50%{transform:translateX(-50%) translateY(-1.5%) scale(1.012)}}@keyframes scene-pulse{50%{transform:scale(1.1);opacity:.72}}@keyframes scene-cloud{to{transform:translateX(26px)}}@keyframes scene-drive{0%,100%{transform:translateX(0)}50%{transform:translateX(150px)}}@keyframes scene-bounce{50%{transform:translateX(-50%) translateY(-2%) rotate(1deg)}}@keyframes scene-twinkle{to{opacity:.35;transform:scale(.7)}}@keyframes scene-float{50%{transform:translateY(-14px) rotate(8deg)}}@keyframes scene-dream{50%{transform:translateX(-50%) translateY(-2%) scale(1.02)}}@keyframes scene-flame{to{transform:scaleY(.72) rotate(8deg);opacity:.65}}@keyframes scene-love{0%{transform:translateY(16px);opacity:0}45%,75%{opacity:1}100%{transform:translateY(-26px);opacity:0}}@keyframes scene-confetti{to{transform:translateY(580px) rotate(460deg)}}@keyframes scene-wave{0%,100%{transform:translateX(-50%) rotate(-1deg)}50%{transform:translateX(-50%) rotate(1.5deg)}}
.ebook-controls{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;padding:10px clamp(15px,3vw,38px);color:#fff8e9}.ebook-controls>button{display:flex;align-items:center;justify-content:center;gap:10px;width:max-content;min-height:42px;padding:8px 17px;border:1px solid rgba(255,248,233,.46);border-radius:999px;background:transparent;color:inherit;font-size:10px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.ebook-controls>button:last-child{justify-self:end}.ebook-controls>button:hover:not(:disabled),.ebook-controls>button:focus-visible{background:#fff8e9;color:#713029;outline:none}.ebook-controls>button:disabled{opacity:.3}.ebook-progress{display:flex;align-items:center;justify-content:center;gap:7px}.ebook-progress button{width:25px;height:4px;padding:0;border:0;border-radius:99px;background:rgba(255,248,233,.28)}.ebook-progress button.is-active{width:45px;background:#efc77f}
@media(max-width:760px){
 body:has(.ebook-launcher) .header .shop-actions{display:none!important}
 body:has(.ebook-inline) .site-trust-bar{display:none!important}
 body.ebook-open .mobile-bottom,body.ebook-open .site-trust-bar{display:none!important}
 .ebook-section{padding-inline:18px}.ebook-heading{margin-bottom:25px}.ebook-heading h2{font-size:43px}.ebook-heading>p:last-child{font-size:13px}
 .ebook-launcher{grid-template-columns:1fr;width:min(100%,350px);min-height:0;aspect-ratio:3/4;border-radius:6px 18px 18px 6px;box-shadow:-8px 8px 0 #a96b4e,-13px 17px 34px rgba(58,27,21,.2)}.ebook-launcher::before{width:17px}.ebook-launcher::after{inset:11px}.ebook-cover-art{position:absolute;inset:0;min-height:0;background:linear-gradient(160deg,#9c493a 0%,#6c2c27 65%)}.ebook-cover-art::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(67,27,23,.88) 0%,rgba(67,27,23,.12) 57%,rgba(67,27,23,.25) 100%)}.ebook-cover-art img{left:56%;bottom:15%;width:73%;height:70%;opacity:.95}.ebook-cover-art i{width:55px;height:55px}.ebook-cover-art b{bottom:7%;font-size:38px}.ebook-cover-copy{z-index:3;justify-content:flex-end;min-height:0;padding:30px 34px 34px;background:transparent}.ebook-cover-copy small{position:absolute;left:34px;top:34px}.ebook-cover-copy strong{margin:0 0 13px;font-size:58px}.ebook-cover-copy em{font-size:13px}.ebook-cover-copy>span{margin-top:18px;padding-top:13px;font-size:9px}
 .ebook-shell{grid-template-rows:52px minmax(0,1fr) 62px}.ebook-bar{padding-inline:13px}.ebook-bar small{font-size:8px}.ebook-pages{margin:6px;border-radius:11px}
 .ebook-page,.ebook-page.is-active,.ebook-page.is-entering-forward,.ebook-page.is-entering-back,.ebook-page.is-leaving-forward,.ebook-page.is-leaving-back{grid-template-columns:1fr;grid-template-rows:36% minmax(0,64%)}
 .ebook-scene img{left:50%;bottom:-30%;width:62%;height:128%;object-fit:contain}.ebook-scene::after{height:27%}
 .ebook-story{padding:23px 24px 34px}.ebook-kicker{font-size:8px;margin-bottom:9px}.ebook-story h3{margin-bottom:15px;font-size:clamp(28px,8.3vw,36px);line-height:.96}.ebook-story>p:not(.ebook-kicker){margin-bottom:13px;font-size:12.5px;line-height:1.54}.ebook-story>p:not(.ebook-kicker):first-of-type::first-letter{font-size:43px}
 .scene-sun{width:53px;height:53px}.scene-city{font-size:23px}.scene-road{bottom:12%}.scene-car{bottom:27%;transform:scale(.75)}.scene-pizza{width:76px;height:76px;border-width:5px}.scene-oven{width:102px;height:85px;border-width:5px}.scene-oven::after{left:18px;right:18px;bottom:10px;height:34px}.scene-table{height:46px}
 .ebook-controls{padding:7px 9px}.ebook-controls>button{min-height:40px;padding:7px 12px}.ebook-controls>button span:nth-child(2){font-size:8px}.ebook-progress{gap:4px}.ebook-progress button{width:12px}.ebook-progress button.is-active{width:25px}
}
@media(max-width:360px){.ebook-page,.ebook-page.is-active,.ebook-page.is-entering-forward,.ebook-page.is-entering-back,.ebook-page.is-leaving-forward,.ebook-page.is-leaving-back{grid-template-rows:32% minmax(0,68%)}.ebook-story{padding:19px 20px 30px}.ebook-story h3{font-size:27px}.ebook-story>p:not(.ebook-kicker){font-size:12px}.ebook-scene img{bottom:-38%}}
@media(prefers-reduced-motion:reduce){.ebook-page,.ebook-scene *{animation:none!important;transition:none!important}}

/* Inline page-turn edition: no opening click, swipe the book itself. */
.ebook-launcher[hidden]{display:none!important}
.ebook-dialog.ebook-inline{position:relative;inset:auto;display:block;width:min(100%,1100px);height:min(700px,calc(100svh - 130px));min-height:560px;margin:0 auto;padding:0;border:0;border-radius:24px;background:#6f3029;overflow:hidden;box-shadow:0 28px 75px rgba(50,23,18,.24)}
.ebook-dialog.ebook-inline::backdrop{display:none}
.ebook-inline .ebook-shell{height:100%;grid-template-rows:52px minmax(0,1fr) 64px}
.ebook-inline .ebook-bar button{display:none}
.ebook-inline .ebook-bar{padding-inline:clamp(17px,3vw,34px)}
.ebook-inline .ebook-pages{margin:0 14px;border-radius:14px}
.ebook-cover-page{grid-template-columns:48% 52%;background:#843b31!important;color:#fff8ea}
.ebook-cover-visual{position:relative;overflow:hidden;background:radial-gradient(circle at 78% 18%,rgba(242,201,130,.18) 0 7%,transparent 7.5%),linear-gradient(145deg,#9d4c3d,#5f2521)}
.ebook-cover-visual::before{content:"";position:absolute;inset:6%;border:1px dashed rgba(255,241,213,.34);border-radius:50%}
.ebook-cover-visual img{position:absolute;z-index:2;left:51%;bottom:-7%;width:84%;height:92%;object-fit:contain;transform:translateX(-50%);filter:drop-shadow(0 14px 14px rgba(28,12,9,.28));animation:cover-character 3.5s ease-in-out infinite}
.cover-orbit{position:absolute;right:10%;top:10%;width:90px;height:90px;border:2px solid #efc77f;border-radius:50%;box-shadow:0 0 0 12px rgba(239,199,127,.07)}
.cover-heart{position:absolute;z-index:3;left:8%;bottom:8%;font-size:58px;transform:rotate(-9deg)}
.ebook-cover-story{position:relative;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:clamp(40px,6vw,84px);background:radial-gradient(circle at 84% 14%,rgba(244,211,153,.13) 0 5px,transparent 6px),#843b31}
.ebook-cover-story::after{content:"";position:absolute;inset:22px;border:1px solid rgba(244,211,153,.5);border-radius:10px;pointer-events:none}
.ebook-cover-story p{position:relative;z-index:1;margin:0;color:#f1d09b;font-size:10px;font-weight:850;letter-spacing:.17em;text-transform:uppercase}
.ebook-cover-story h3{position:relative;z-index:1;max-width:7ch;margin:22px 0 20px;color:#fff8ea;font-size:clamp(68px,8vw,108px);line-height:.78}
.ebook-cover-story>strong{position:relative;z-index:1;font-size:clamp(16px,1.7vw,22px)}
.ebook-cover-story>span{position:relative;z-index:1;max-width:31ch;margin-top:13px;color:#f0d8b0;font-size:13px;line-height:1.55}
.ebook-cover-story small{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;width:100%;margin-top:38px;padding-top:16px;border-top:1px solid rgba(255,248,234,.42);font-size:9px;font-weight:850;letter-spacing:.11em;text-transform:uppercase}
.ebook-cover-story small b{font-size:22px}
@keyframes cover-character{50%{transform:translateX(-50%) translateY(-1.5%) rotate(.8deg)}}
.ebook-inline .ebook-page.is-leaving-forward{transform-origin:left center;animation-name:ebook-turn-forward}
.ebook-inline .ebook-page.is-leaving-back{transform-origin:right center;animation-name:ebook-turn-back}
.ebook-inline .ebook-page.is-entering-forward,.ebook-inline .ebook-page.is-entering-back{animation-name:ebook-reveal;z-index:1}
@keyframes ebook-turn-forward{0%{opacity:1;transform:rotateY(0);filter:none}99%{opacity:1;transform:rotateY(-89deg);filter:brightness(.76)}100%{opacity:0;transform:rotateY(-90deg)}}
@keyframes ebook-turn-back{0%{opacity:1;transform:rotateY(0);filter:none}99%{opacity:1;transform:rotateY(89deg);filter:brightness(.76)}100%{opacity:0;transform:rotateY(90deg)}}
@keyframes ebook-reveal{from,to{opacity:1;transform:none;filter:none}}
.ebook-inline .ebook-page.is-leaving-forward::after,.ebook-inline .ebook-page.is-leaving-back::after{content:"";position:absolute;z-index:8;top:0;bottom:0;width:18%;pointer-events:none}
.ebook-inline .ebook-page.is-leaving-forward::after{right:0;background:linear-gradient(90deg,transparent,rgba(69,31,25,.16) 48%,rgba(255,247,230,.75));box-shadow:12px 0 25px rgba(45,20,16,.28)}
.ebook-inline .ebook-page.is-leaving-back::after{left:0;background:linear-gradient(-90deg,transparent,rgba(69,31,25,.16) 48%,rgba(255,247,230,.75));box-shadow:-12px 0 25px rgba(45,20,16,.28)}
.ebook-inline .ebook-progress button{cursor:pointer}
.ebook-inline .ebook-controls::before{content:"Glissez sur le livre";position:absolute;left:50%;margin-top:-39px;transform:translateX(-50%);color:rgba(255,248,233,.62);font-size:8px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;pointer-events:none}
@media(max-width:760px){
 .ebook-section{padding-inline:8px}.ebook-heading{padding-inline:14px}
 .ebook-dialog.ebook-inline{width:100%;height:min(700px,calc(100svh - 180px));min-height:440px;border-radius:17px;scroll-margin-top:100px}
 .ebook-inline .ebook-shell{grid-template-rows:46px minmax(0,1fr) 58px}.ebook-inline .ebook-pages{margin:0 6px;border-radius:10px}
 .ebook-cover-page{grid-template-columns:1fr;grid-template-rows:46% 54%}
 .ebook-cover-visual img{left:54%;bottom:-31%;width:61%;height:130%}.cover-orbit{width:55px;height:55px}.cover-heart{font-size:38px}
 .ebook-cover-story{justify-content:center;padding:24px 28px 28px}.ebook-cover-story::after{inset:10px}.ebook-cover-story p{font-size:8px}.ebook-cover-story h3{max-width:none;margin:12px 0 10px;font-size:46px;line-height:.86}.ebook-cover-story>strong{font-size:14px}.ebook-cover-story>span{margin-top:7px;font-size:11px;line-height:1.4}.ebook-cover-story small{margin-top:22px;padding-top:10px;font-size:8px}
 .ebook-inline .ebook-controls::before{display:none}
}
@media(max-width:360px){.ebook-dialog.ebook-inline{height:calc(100svh - 84px);min-height:540px}.ebook-cover-page{grid-template-rows:42% 58%}.ebook-cover-story{padding:19px 23px 24px}.ebook-cover-story h3{font-size:41px}.ebook-cover-story>span{display:none}.ebook-cover-visual img{bottom:-37%}}

/* Physical-feeling page turn: the next leaf stays underneath while the current leaf turns. */
.ebook-inline .ebook-pages{perspective:2200px;perspective-origin:50% 48%;transform-style:preserve-3d;isolation:isolate}
.ebook-inline .ebook-page{transform-style:preserve-3d;backface-visibility:visible;will-change:transform,filter;box-shadow:inset 1px 0 rgba(255,255,255,.55)}
.ebook-inline .ebook-page.is-active{z-index:1}
.ebook-inline .ebook-page.is-entering-forward,.ebook-inline .ebook-page.is-entering-back{z-index:1;animation:none;opacity:1;transform:none}
.ebook-inline .ebook-page.is-leaving-forward{z-index:4;transform-origin:left center;animation:ebook-turn-forward .86s cubic-bezier(.42,.02,.22,1) both}
.ebook-inline .ebook-page.is-leaving-back{z-index:4;transform-origin:right center;animation:ebook-turn-back .86s cubic-bezier(.42,.02,.22,1) both}
.ebook-inline .ebook-page::before{content:"";position:absolute;z-index:7;inset:0;pointer-events:none;transform:rotateY(180deg) translateZ(1px);backface-visibility:hidden;background:linear-gradient(90deg,rgba(108,65,47,.12),transparent 8%,transparent 91%,rgba(108,65,47,.08)),repeating-linear-gradient(0deg,rgba(115,77,53,.018) 0 1px,transparent 1px 5px),#f4ead6;box-shadow:inset 0 0 24px rgba(80,48,34,.12)}
.ebook-inline .ebook-page.is-leaving-forward::after,.ebook-inline .ebook-page.is-leaving-back::after,.ebook-inline .ebook-page.is-dragging-forward::after,.ebook-inline .ebook-page.is-dragging-back::after{content:"";position:absolute;z-index:8;top:0;bottom:0;width:25px;pointer-events:none}
.ebook-inline .ebook-page.is-leaving-forward::after,.ebook-inline .ebook-page.is-dragging-forward::after{right:0;background:linear-gradient(90deg,rgba(80,47,34,.03),rgba(255,255,255,.8) 44%,rgba(120,75,52,.28));box-shadow:9px 0 20px rgba(45,20,16,.22)}
.ebook-inline .ebook-page.is-leaving-back::after,.ebook-inline .ebook-page.is-dragging-back::after{left:0;background:linear-gradient(-90deg,rgba(80,47,34,.03),rgba(255,255,255,.8) 44%,rgba(120,75,52,.28));box-shadow:-9px 0 20px rgba(45,20,16,.22)}
.ebook-inline .ebook-page.is-dragging-forward,.ebook-inline .ebook-page.is-dragging-back{display:grid;z-index:4;animation:none;transition:none;user-select:none}
.ebook-inline .ebook-page.is-drag-settling{transition:transform .46s cubic-bezier(.25,.78,.28,1);}
.ebook-inline .ebook-shell{touch-action:pan-y}
@keyframes ebook-turn-forward{0%{opacity:1;transform:rotateY(0) translateZ(0);filter:brightness(1);box-shadow:inset 1px 0 rgba(255,255,255,.55),0 0 0 rgba(30,12,8,0)}22%{transform:rotateY(-22deg) translateZ(22px);filter:brightness(1.04);box-shadow:inset 1px 0 rgba(255,255,255,.55),12px 4px 24px rgba(30,12,8,.2)}52%{transform:rotateY(-96deg) translateZ(36px);filter:brightness(.88);box-shadow:inset 1px 0 rgba(255,255,255,.55),22px 5px 32px rgba(30,12,8,.27)}82%{transform:rotateY(-158deg) translateZ(18px);filter:brightness(.94);box-shadow:inset 1px 0 rgba(255,255,255,.55),10px 2px 20px rgba(30,12,8,.18)}100%{opacity:1;transform:rotateY(-180deg) translateZ(0);filter:brightness(1);box-shadow:inset 1px 0 rgba(255,255,255,.55),0 0 0 rgba(30,12,8,0)}}
@keyframes ebook-turn-back{0%{opacity:1;transform:rotateY(0) translateZ(0);filter:brightness(1);box-shadow:inset -1px 0 rgba(255,255,255,.55),0 0 0 rgba(30,12,8,0)}22%{transform:rotateY(22deg) translateZ(22px);filter:brightness(1.04);box-shadow:inset -1px 0 rgba(255,255,255,.55),-12px 4px 24px rgba(30,12,8,.2)}52%{transform:rotateY(96deg) translateZ(36px);filter:brightness(.88);box-shadow:inset -1px 0 rgba(255,255,255,.55),-22px 5px 32px rgba(30,12,8,.27)}82%{transform:rotateY(158deg) translateZ(18px);filter:brightness(.94);box-shadow:inset -1px 0 rgba(255,255,255,.55),-10px 2px 20px rgba(30,12,8,.18)}100%{opacity:1;transform:rotateY(180deg) translateZ(0);filter:brightness(1);box-shadow:inset -1px 0 rgba(255,255,255,.55),0 0 0 rgba(30,12,8,0)}}
@media(max-width:760px){.ebook-inline .ebook-pages{perspective:1500px;perspective-origin:50% 48%}.ebook-inline .ebook-page.is-leaving-forward,.ebook-inline .ebook-page.is-dragging-forward{transform-origin:left center}.ebook-inline .ebook-page.is-leaving-back,.ebook-inline .ebook-page.is-dragging-back{transform-origin:right center}}
@media(prefers-reduced-motion:reduce){.ebook-inline .ebook-page.is-leaving-forward,.ebook-inline .ebook-page.is-leaving-back{animation:none!important}}
/* Titre définitivement retenu par Cucina Mamma. */
.opening .selected-hero-title{position:relative;margin:0 0 20px;font-size:clamp(58px,11.7vw,158px);line-height:.86;letter-spacing:-.035em;color:var(--tomato)}
.opening .selected-hero-title .title-line{display:block;white-space:nowrap;color:#813c32;-webkit-text-stroke:0;text-shadow:0 1px 0 rgba(90,30,20,.08)}
.opening .selected-hero-title .title-heart-line{color:transparent;-webkit-text-stroke:1.5px var(--tomato);text-shadow:none}
.opening .selected-hero-title .mobile-title-break{display:none}
.opening .selected-hero-title .title-heart{display:inline-block;width:.78em;height:.72em;margin:0 .05em -.04em .02em;vertical-align:baseline;overflow:visible;fill:#813c32;stroke:var(--tomato);stroke-width:2.2px;filter:drop-shadow(0 1px 0 rgba(90,30,20,.12))}
.opening .selected-hero-title .title-heart path{vector-effect:non-scaling-stroke}
 .opening .selected-hero-title .title-baby-mark{display:inline-block;width:.76em;height:.76em;margin:0 0 -.12em .08em;vertical-align:baseline;overflow:visible;filter:drop-shadow(0 1px 0 rgba(90,30,20,.12))}
.opening .selected-hero-title .title-heart-photo{position:relative;display:inline-block;width:.98em;height:.9em;margin:0 .035em -.09em .015em;vertical-align:baseline;overflow:hidden;background:#813c32;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 92'%3E%3Cpath fill='black' d='M50 89C42 81 7 59 7 29 7 12 19 3 34 3c8 0 13 4 16 10 3-6 8-10 16-10 15 0 27 9 27 26 0 30-35 52-43 60Z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 92'%3E%3Cpath fill='black' d='M50 89C42 81 7 59 7 29 7 12 19 3 34 3c8 0 13 4 16 10 3-6 8-10 16-10 15 0 27 9 27 26 0 30-35 52-43 60Z'/%3E%3C/svg%3E") center/contain no-repeat;filter:drop-shadow(0 3px 0 rgba(90,30,20,.18))}
.opening .selected-hero-title .title-heart-photo::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(145deg,rgba(255,255,255,.2),transparent 38%);box-shadow:inset 0 0 0 2px rgba(129,60,50,.85)}
.opening .selected-hero-title .title-heart-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 44%;transform:scale(1.08);filter:saturate(.92) contrast(1.04)}
@media(max-width:760px){
 .opening .selected-hero-title{font-size:clamp(42px,12.25vw,88px);line-height:.91;letter-spacing:-.025em;padding-right:4px}
 .opening .selected-hero-title .title-line{white-space:normal}
 .opening .selected-hero-title .title-heart-line{-webkit-text-stroke-width:1.15px}
 .opening .selected-hero-title .mobile-title-break{display:block}
 .opening .selected-hero-title .title-heart{width:.72em;height:.66em;margin-inline:.02em;stroke-width:2.1px}
 .opening .selected-hero-title .title-baby-mark{width:.72em;height:.72em;margin-left:.06em}
 .opening .selected-hero-title .title-heart-photo{width:1em;height:.91em;margin-inline:.015em}
}


/* Plats du jour : lecture immédiate, image puis jour et nom. */
[data-menu-extras] .menu-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
[data-menu-extras] .menu-item.daily-dish{display:flex;min-height:0;flex-direction:column;align-items:stretch;gap:0;padding:0;border-top:0;background:#f8f0e4;overflow:hidden}
[data-menu-extras] .menu-item.daily-dish img{order:-1;width:100%;height:185px;padding:0;border-radius:0;background:#eadac4;object-fit:cover;object-position:center}
[data-menu-extras] .menu-item.daily-dish>div{padding:15px 16px 17px}
[data-menu-extras] .menu-item.daily-dish h3{color:var(--tomato);font-size:29px;line-height:.94}
[data-menu-extras] .menu-item.daily-dish p{margin:7px 0 0;color:var(--ink);font-size:10px;font-weight:850;letter-spacing:.11em;line-height:1.2;text-transform:uppercase}
@media(max-width:760px){
 [data-menu-extras]{padding-top:48px;padding-bottom:56px}
 [data-menu-extras] .section-heading{margin-bottom:25px}
 [data-menu-extras] .section-heading>p{max-width:27ch;margin-top:14px}
 [data-menu-extras] .menu-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
 [data-menu-extras] .menu-item.daily-dish img{height:154px}
 [data-menu-extras] .menu-item.daily-dish>div{padding:12px 12px 14px}
 [data-menu-extras] .menu-item.daily-dish h3{font-size:clamp(22px,7.1vw,31px);line-height:.9;overflow-wrap:anywhere}
 [data-menu-extras] .menu-item.daily-dish p{margin-top:6px;font-size:9px}
}
@media(max-width:360px){[data-menu-extras] .menu-item.daily-dish img{height:132px}}

/* Plats du jour — frise immersive de la semaine */
.menu-note .text-link{background:#813c32;color:#fffaf1;border-color:#813c32}
.menu-note .text-link:hover{background:#fffaf1;color:#813c32;border-color:#813c32}
.weekly-showcase{width:100%;max-width:none!important;margin:0!important;padding:0!important;background:#78372f;color:#fff8ec;overflow:hidden}
.weekly-showcase .weekly-shell{width:min(100% - 72px,1360px);margin:auto;padding:105px 0 118px}
.weekly-heading{display:grid;grid-template-columns:1.4fr .6fr;align-items:end;gap:50px;margin-bottom:56px}
.weekly-heading .eyebrow{margin-bottom:21px;color:#f1c9aa}
.weekly-heading h2{font-size:clamp(68px,8vw,126px);line-height:.79;color:#fff8ec;letter-spacing:-.045em}
.weekly-heading>p{max-width:30ch;margin:0 0 10px auto;color:#f4dfcd;font-size:17px;line-height:1.55}
.weekly-days{display:grid;grid-template-columns:repeat(6,1fr);border-top:1px solid #f4dfcd55;border-bottom:1px solid #f4dfcd55}
.weekly-days button{position:relative;min-height:92px;padding:22px 16px;border:0;border-right:1px solid #f4dfcd33;background:transparent;color:#f4dfcd;text-align:center;cursor:pointer;transition:color .25s ease,background .25s ease}
.weekly-days button:last-child{border-right:0}.weekly-days button span{display:none}.weekly-days button strong{font-size:16px;letter-spacing:.1em;text-transform:uppercase}
.weekly-days button::after{content:"";position:absolute;right:0;bottom:-1px;left:0;height:4px;background:#f1c9aa;transform:scaleX(0);transform-origin:left;transition:transform .45s cubic-bezier(.22,1,.36,1)}
.weekly-days button[aria-selected="true"]{background:#fff8ec;color:#78372f}.weekly-days button[aria-selected="true"]::after{transform:scaleX(1)}
.weekly-stage{display:grid;grid-template-columns:.62fr 1.38fr;min-height:0;align-items:stretch}
.weekly-copy{display:flex;flex-direction:column;padding:65px 50px 25px 0}
.weekly-count{font-size:12px;letter-spacing:.15em;color:#f1c9aa}.weekly-count b{font-size:34px;font-weight:500;color:#fff8ec;font-variant-numeric:tabular-nums}
.weekly-active-day{margin-top:auto;margin-bottom:16px;font-size:13px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:#f1c9aa}
.weekly-copy h3{max-width:14ch;color:#fff8ec;font-size:clamp(38px,3.7vw,58px);line-height:.94;text-wrap:balance}
.weekly-controls{display:grid;grid-template-columns:52px 1fr 52px;align-items:center;gap:18px;margin-top:44px}
.weekly-controls button{width:52px;height:52px;border:1px solid #f4dfcd88;border-radius:50%;background:transparent;color:#fff8ec;font-size:22px;cursor:pointer;transition:background .25s,color .25s,transform .2s}
.weekly-controls button:hover{background:#fff8ec;color:#78372f;transform:scale(1.05)}.weekly-controls button:active{transform:scale(.96)}
.weekly-progress{height:1px;background:#f4dfcd55;overflow:hidden}.weekly-progress i{display:block;width:100%;height:100%;background:#fff8ec;transform-origin:left;animation:weeklyProgress 5.2s linear infinite}
.weekly-visual{position:relative;min-width:0;margin:0;overflow:hidden;background:#ead8c0;cursor:grab;touch-action:pan-y}.weekly-visual:active{cursor:grabbing}
.weekly-visual img{display:block;width:100%;height:100%;min-height:0;padding:24px;object-fit:contain;object-position:center;transition:transform .8s cubic-bezier(.22,1,.36,1),opacity .35s ease}
.weekly-visual:hover img{transform:scale(1.025)}
.weekly-visual figcaption{position:absolute;right:22px;bottom:20px;padding:9px 12px;background:#78372fe8;color:#fff8ec;font-size:9px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.weekly-visual.is-changing img{animation:weeklyReveal .72s cubic-bezier(.22,1,.36,1)}
@keyframes weeklyReveal{0%{opacity:.25;transform:scale(1.06)}100%{opacity:1;transform:scale(1)}}
@keyframes weeklyProgress{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media(max-width:760px){
 .weekly-showcase .weekly-shell{width:100%;padding:42px 0 34px}
 .weekly-heading{display:block;padding:0 22px;margin-bottom:25px}
 .weekly-heading .eyebrow{margin-bottom:15px;font-size:9px}
 .weekly-heading h2{font-size:clamp(48px,13.5vw,66px);line-height:.84}
 .weekly-heading>p{max-width:28ch;margin:17px 0 0;font-size:13px;line-height:1.45}
 .weekly-days{display:flex;overflow-x:auto;padding-left:14px;border-color:#f4dfcd55;scrollbar-width:none;scroll-snap-type:x mandatory}
 .weekly-days::-webkit-scrollbar{display:none}
 .weekly-days button{flex:0 0 104px;min-height:64px;padding:12px 8px;text-align:center;scroll-snap-align:start}
 .weekly-days button span{display:none}
 .weekly-days button strong{display:block;font-size:11px;letter-spacing:.08em}
 .weekly-stage{display:flex;min-height:0;flex-direction:column-reverse}
 .weekly-visual{height:min(84vw,420px)}
 .weekly-visual img{min-height:0;height:100%;padding:10px;object-fit:contain}
 .weekly-visual figcaption{right:14px;bottom:13px;font-size:8px}
 .weekly-copy{min-height:0;padding:22px 22px 0}
 .weekly-count{display:none}
 .weekly-active-day{margin:0 0 10px;font-size:11px}
 .weekly-copy h3{max-width:18ch;font-size:clamp(28px,7.8vw,39px);line-height:.98}
 .weekly-controls{grid-template-columns:40px 1fr 40px;gap:13px;margin-top:25px;padding-bottom:0}
 .weekly-controls button{width:40px;height:40px;font-size:18px}
 .weekly-showcase+#pizzas{padding-top:36px}
}
@media(prefers-reduced-motion:reduce){.weekly-progress i,.weekly-visual.is-changing img{animation:none}.weekly-visual img{transition:none}}

/* Mobile density pass — preserve the art direction while removing dead space. */
@media(max-width:760px){
 :root{--space:16px}
 .wrap{padding-inline:var(--space)}
 .header-inner{display:grid;grid-template-columns:52px minmax(0,1fr) 52px;align-items:center;gap:8px;min-height:76px!important;padding-block:7px}
 .header .brand{grid-column:1;grid-row:1}.header .brand img{width:50px;height:50px}.header .brand-name{display:none}
 .header .menu-toggle{grid-column:3;grid-row:1;width:52px;height:52px;padding:9px}
 .header .shop-actions{grid-column:2;grid-row:1;display:flex;width:auto;margin:0;gap:5px;justify-self:end;align-items:center}
 .header .shop-actions button{min-height:40px;padding:8px 11px;font-size:11px;white-space:nowrap}
 .header .shop-actions .action-label{display:inline}
 body:has(.opening) .header-inner{grid-template-columns:52px 1fr 52px}
 .page-intro{padding-top:21px!important;padding-bottom:21px!important}
 .page-intro .eyebrow{margin-bottom:13px!important}
 .page-intro h1,.shop-intro h1{font-size:clamp(39px,11vw,58px)!important;line-height:.92!important}
 .page-intro .intro-row>p{margin-top:13px!important;font-size:12.5px!important;line-height:1.5!important}
 .section{padding-top:34px;padding-bottom:34px}
 .section-heading{margin-bottom:23px}.section-heading .eyebrow{margin-bottom:13px}.section-heading>p{margin-top:13px}
 .pickup-intro{margin-bottom:12px!important;padding-block:15px!important;gap:13px!important}
 .pickup-intro .eyebrow{margin-bottom:9px!important;font-size:8px!important}
 .pickup-intro h2{font-size:clamp(31px,9vw,42px)!important;line-height:.94!important}
 .pickup-intro p{margin-top:10px!important;font-size:11.5px!important;line-height:1.45!important}
 .pickup-intro .pickup-open{min-height:42px!important;padding:9px 15px!important;font-size:11px!important}
 body:not(:has(.opening)) .uber-banner-shop.wrap{margin-block:10px 16px!important;border-radius:14px}
 body:not(:has(.opening)) .uber-banner-shop .uber-banner-photo{height:auto!important;aspect-ratio:16/7!important}
 body:not(:has(.opening)) .uber-banner-shop .uber-banner-photo img{width:100%;height:100%!important;aspect-ratio:auto!important;object-fit:cover!important}
 body:not(:has(.opening)) .uber-banner-shop .uber-banner-copy{padding:19px 16px 20px!important}
 body:not(:has(.opening)) .uber-banner-shop .eyebrow{margin-bottom:10px!important}
 body:not(:has(.opening)) .uber-banner-shop h2{margin:0 0 11px!important;font-size:clamp(29px,8.5vw,40px)!important;line-height:.94!important}
 body:not(:has(.opening)) .uber-banner-shop p:not(.eyebrow){margin-bottom:12px!important;font-size:11.5px!important;line-height:1.45!important}
 body:not(:has(.opening)) .uber-banner-shop .order-choice{gap:6px;margin-top:10px!important}
 body:not(:has(.opening)) .uber-banner-shop .order-choice>a:is(.pickup-order,.delivery-order){height:45px;min-height:45px;font-size:10px!important}
 body:not(:has(.opening)) .uber-banner-shop small{display:block;margin-top:10px;font-size:8.5px;line-height:1.35}
 .weekly-showcase .weekly-shell{padding-top:34px;padding-bottom:26px}
 .weekly-heading{margin-bottom:20px;padding-inline:16px}.weekly-heading h2{font-size:clamp(43px,12vw,58px)}.weekly-heading>p{margin-top:12px}
 .weekly-days button{flex-basis:96px;min-height:58px;padding-block:10px}
 .weekly-visual{height:min(78vw,390px)}.weekly-visual img{padding:8px}
 .weekly-copy{padding:18px 16px 0}.weekly-copy h3{font-size:clamp(27px,7.4vw,36px)}
 .weekly-controls{margin-top:19px}.weekly-showcase+#pizzas{padding-top:26px}
 .opening{padding-top:16px!important}.opening-heading{padding-bottom:14px!important}
 .opening h1{font-size:clamp(45px,12.5vw,64px)!important;padding-bottom:4px!important}
 .opening-copy{padding-bottom:16px!important}.opening-copy>p{margin:13px 0!important;font-size:12.5px!important;line-height:1.52!important}
 .opening .hero-actions{gap:7px}.opening .hero-actions .btn,.opening .hero-actions .text-link{min-height:42px;padding:8px 12px;font-size:10px}
 .opening-address{margin-top:13px!important}.opening-photo{height:min(78vw,390px)!important}
 .opening-bottom{margin:0!important;padding-block:9px!important}
 .family-teaser{gap:15px;padding-top:25px;padding-bottom:29px}.family-teaser img{height:185px}.family-teaser h2{margin:9px 0 11px;font-size:31px}.family-teaser p:not(.eyebrow){margin-bottom:17px;font-size:12.5px;line-height:1.5}
 body:has(.opening) .uber-banner-shop .uber-banner-copy{padding:22px 16px!important}
 body:has(.opening) .uber-banner-shop h2{margin-block:11px!important;font-size:clamp(30px,8.5vw,40px)!important}
 body:has(.opening) .uber-banner-shop p:not(.eyebrow){font-size:11.5px;line-height:1.48}
 body:has(.opening) .uber-banner-shop .uber-banner-photo{aspect-ratio:4/3!important}
 body:has(.opening) .order-choice{margin-top:13px;gap:6px}.scroll-ribbon{padding-block:10px}
 #gourmand{padding-block:32px}.menu-discovery{margin-bottom:20px}.review-section.review-premium{padding-block:30px}
 .review-premium .review-head{margin-bottom:16px}.review-premium .review-rating{margin-top:12px}.review-premium .review-bottom{margin-top:11px}
 .services-bridge{padding-top:5px;padding-bottom:24px}.services-bridge .service-card{min-height:260px;padding:22px 16px}
 .drinks-section{padding-block:34px}.scene-gallery-track img{height:275px}
 .internal-banner{gap:15px!important;padding-top:24px!important;padding-bottom:30px!important}
 .internal-banner figure img{height:240px!important;max-height:240px!important}
 .internal-banner .photo-credit{margin-top:7px}.internal-banner .eyebrow{margin-bottom:14px!important}
 .internal-banner h2{margin-bottom:15px!important;font-size:clamp(42px,12.5vw,58px)!important}
 .internal-banner p{margin-bottom:14px!important;font-size:12.5px!important;line-height:1.5}
 .gallery-pair{gap:10px;margin-top:22px}.gallery-pair>figure{flex-basis:82%}.gallery-pair img{height:250px}
 .catering-section{padding-top:23px!important;padding-bottom:28px!important}.catering-heading{margin-bottom:15px}.catering-layout{gap:18px;padding:14px}
 .shop-toolbar{margin-block:18px 12px}.shop-grid{gap:18px 10px}.shop-card-body{padding-block:10px}.shop-title{margin:5px 0 8px}
 .shop-explainer{padding-bottom:30px}.shop-explainer .shop-step{padding:14px;column-gap:12px}.shop-explainer .shop-step-icon{width:48px;height:48px}.shop-explainer p{font-size:12px}
 .contact-block{gap:20px!important;padding-top:27px!important;padding-bottom:31px!important}
 .contact-block h2{margin-bottom:17px!important;font-size:clamp(44px,13vw,60px)!important}.contact-block address{margin-bottom:17px;font-size:17px;line-height:1.45}
 .contact-block .call-number{margin:19px 0;font-size:36px}.contact-block .practical{padding-top:16px}
 .contact-visuals{gap:7px}.contact-visuals-full figure{min-height:0!important}.contact-visuals-full img{max-height:330px!important;object-fit:cover!important}
 .visit-strip{padding:25px 16px;gap:14px}.visit-strip .number{font-size:62px}.visit-strip .btn{min-height:44px}
 footer{padding-top:37px}.footer-main{gap:20px 14px;padding-bottom:26px}.footer-main .small-label{margin-bottom:10px}.footer-main p,.footer-main a{line-height:1.6}.footer-bottom{padding-block:15px 82px}
}

/* Desktop: keep the whole plate and its controls in one balanced view. */
@media(min-width:761px){
 .weekly-showcase .weekly-shell{width:min(100% - 64px,1240px);padding:48px 0}
 .weekly-heading{gap:32px;margin-bottom:28px}
 .weekly-heading .eyebrow{margin-bottom:14px}
 .weekly-heading h2{font-size:clamp(56px,6vw,86px);line-height:.88}
 .weekly-heading>p{font-size:15px}
 .weekly-days button{min-height:60px;padding:16px 12px}
 .weekly-days button strong{font-size:13px}
 .weekly-stage{grid-template-columns:minmax(260px,.85fr) minmax(0,1.15fr);height:clamp(360px,38vw,520px)}
 .weekly-copy{padding:30px 36px 26px 0;justify-content:center}
 .weekly-count{margin-bottom:24px}
 .weekly-active-day{margin:0 0 14px}
 .weekly-copy h3{font-size:clamp(34px,3.1vw,48px);max-width:17ch}
 .weekly-controls{margin-top:28px;max-width:340px}
 .weekly-visual{height:100%;min-height:0}
 .weekly-visual img{height:100%;max-height:100%;min-height:0;padding:18px;object-fit:contain}
}

/* Compact delivery layout: all content retained, tighter rhythm at both sizes. */
@media(min-width:761px){
 .header-inner{min-height:82px!important;padding-block:8px}.header .brand img{width:64px;height:64px}
 .page-intro{padding-block:28px!important}.page-intro .eyebrow{margin-bottom:16px!important}.page-intro h1{font-size:clamp(62px,7vw,100px)!important;line-height:.92}
 .section{padding-block:40px!important}.section-heading{margin-bottom:24px}.section-heading .eyebrow{margin-bottom:14px}.section-heading h2{font-size:clamp(42px,5vw,70px)}
 .pickup-intro{padding-block:18px!important;margin-block:0 12px!important}.pickup-intro h2{font-size:34px!important}.pickup-intro p{margin-top:8px!important}
 .opening{padding-top:22px!important}.opening-heading{padding-bottom:18px!important}.opening-copy>p{margin-block:20px!important}.opening-bottom{margin-block:14px!important}
 .opening-photo{max-height:520px!important}.family-teaser{padding-block:32px!important;gap:32px}.family-teaser img{max-height:330px;object-fit:cover}
 .uber-banner-shop.wrap{margin-block:16px!important}.uber-banner-shop .uber-banner-copy{padding:30px!important}.uber-banner-shop .uber-banner-photo{min-height:0!important;max-height:370px!important}.uber-banner-shop .uber-banner-photo img{height:100%!important;max-height:370px;object-fit:cover}
 .uber-banner-shop h2{font-size:clamp(34px,4vw,58px)!important;margin-block:14px!important}.uber-banner-shop .order-choice{margin-top:16px!important}
 .weekly-showcase .weekly-shell{padding-block:28px}.weekly-heading{margin-bottom:20px}.weekly-heading h2{font-size:clamp(48px,5vw,68px)}.weekly-days button{min-height:48px;padding-block:10px}
 .weekly-stage{height:clamp(320px,29vw,420px)}.weekly-copy{padding:20px 28px 20px 0}.weekly-count{margin-bottom:16px}.weekly-controls{margin-top:20px}.weekly-copy h3{font-size:clamp(32px,2.7vw,42px)}
 .menu-toolbar{margin-top:16px;gap:14px}.menu-list{column-gap:28px}.menu-item{padding-block:14px!important;min-height:0!important}.menu-item h3{font-size:clamp(24px,2.1vw,32px)}.menu-item p{margin-block:5px;line-height:1.45}.menu-note{margin-top:20px!important}.menu-group-title{margin-top:24px}
 .internal-banner{padding-block:32px!important;gap:32px!important}.internal-banner figure img{height:360px!important;max-height:360px!important;object-fit:cover}.internal-banner h2{font-size:clamp(46px,5vw,70px)!important;margin-bottom:18px!important}
 .catering-section{padding-block:30px!important}.catering-heading{margin-bottom:20px}.catering-layout{gap:24px;padding:24px}.gallery-pair{margin-top:24px;gap:18px}.gallery-pair img{height:320px;object-fit:cover}
 .review-section.review-premium{padding-block:34px}.review-premium .review-head{margin-bottom:22px}.services-bridge{padding-block:16px 28px}.services-bridge .service-card{min-height:300px;padding:26px}.drinks-section{padding-block:30px}
 .shop-toolbar{margin-block:18px}.shop-grid{gap:22px 18px}.shop-card-body{padding:12px}.shop-title{margin-block:6px}.shop-explainer{padding-block:28px}
 .contact-block{padding-block:30px!important;gap:32px!important}.contact-block h2{margin-bottom:20px!important;font-size:clamp(46px,5vw,70px)!important}.contact-block address{margin-bottom:20px}.contact-block .call-number{margin-block:20px}.contact-block .practical{padding-top:18px}
 .visit-strip{padding-block:24px}.footer-main{padding-bottom:26px;gap:28px}footer{padding-top:32px}.footer-bottom{padding-block:18px}.footer-main .small-label{margin-bottom:14px}
}
@media(max-width:760px){
 :root{--space:12px}
 .header-inner{min-height:64px!important;padding-block:5px;grid-template-columns:44px minmax(0,1fr) 44px!important;gap:5px}.header .brand img{width:44px;height:44px}.header .menu-toggle{width:44px;height:44px}.header .shop-actions button{padding:8px;font-size:11px;min-height:40px}.nav{top:100%}
 .page-intro{padding-block:16px!important}.page-intro .eyebrow{margin-bottom:10px!important}.page-intro h1,.shop-intro h1{font-size:clamp(36px,10vw,48px)!important}.page-intro .intro-row>p{margin-top:10px!important}
 .section{padding-block:22px!important}.section-heading{margin-bottom:16px}.section-heading .eyebrow{margin-bottom:10px}.section-heading>p{margin-top:10px}
 .pickup-intro{padding-block:12px!important;margin-bottom:8px!important;gap:10px!important}.pickup-intro h2{font-size:29px!important}.pickup-intro p{margin-top:7px!important}
 .opening{padding-top:12px!important}.opening-heading{padding-bottom:10px!important}.opening-copy{padding-bottom:12px!important}.opening-copy>p{margin-block:10px!important}.opening-photo{height:min(68vw,320px)!important}.opening-bottom{padding-block:7px!important}
 .family-teaser{padding-block:20px!important;gap:12px}.family-teaser img{height:165px}.family-teaser h2{margin-block:8px;font-size:29px}.family-teaser p:not(.eyebrow){margin-bottom:12px}
 .uber-banner-shop .uber-banner-copy{padding:16px 12px!important}.uber-banner-shop .order-choice{margin-top:10px!important}.uber-banner-shop h2{margin-block:9px!important}
 .weekly-showcase .weekly-shell{padding-block:22px 18px}.weekly-heading{padding-inline:12px;margin-bottom:14px}.weekly-heading h2{font-size:clamp(38px,10.5vw,48px)}.weekly-heading>p{margin-top:10px}.weekly-days button{min-height:46px;flex-basis:82px;padding:8px}.weekly-visual{height:min(67vw,310px)}.weekly-copy{padding:12px 12px 0}.weekly-copy h3{font-size:27px}.weekly-active-day{margin-bottom:7px}.weekly-controls{margin-top:12px}
 .menu-toolbar{margin-top:12px;gap:10px}.menu-item{padding-block:12px!important;min-height:0!important}.menu-item h3{font-size:24px}.menu-item p{margin-block:5px}.menu-note{margin-top:18px!important}.menu-note a{margin-top:12px}.menu-group-title{margin-top:22px}
 #gourmand{padding-block:22px}.menu-discovery{margin-bottom:14px}.editorial-gallery-head{margin-bottom:14px;padding-bottom:12px}.editorial-gallery .cm-swiper .swiper-slide img{aspect-ratio:1!important}.review-section.review-premium{padding-block:22px}.services-bridge{padding-bottom:20px}.services-bridge .service-card{min-height:225px;padding:18px 12px}.drinks-section{padding-block:22px}
 .internal-banner{padding-block:20px!important;gap:12px!important}.internal-banner figure img{height:200px!important;max-height:200px!important}.internal-banner h2{font-size:clamp(36px,10.5vw,48px)!important;margin-bottom:12px!important}
 .catering-section{padding-block:18px!important}.catering-layout{padding:12px;gap:14px}.gallery-pair{margin-top:16px}.gallery-pair img{height:215px}.shop-toolbar{margin-block:12px 10px}.shop-grid{gap:14px 8px}.shop-card-body{padding:8px}.shop-explainer{padding-bottom:22px}
 .contact-block{padding-block:22px!important;gap:16px!important}.contact-block h2{font-size:42px!important;margin-bottom:14px!important}.contact-block .call-number{margin-block:14px}.contact-block .practical{padding-top:12px}.contact-visuals-full img{max-height:270px!important}
 .visit-strip{padding:20px 12px;gap:10px}.footer-main{gap:18px 12px;padding-bottom:20px}footer{padding-top:26px}.footer-bottom{padding-top:12px;padding-bottom:76px}
}

/* Square photographs keep the complete plate without a second padded frame. */
.weekly-visual{background:transparent}
.weekly-visual img{padding:0;object-fit:contain}
@media(min-width:761px){
 .weekly-stage{grid-template-columns:minmax(0,1fr) minmax(0,420px);height:auto;gap:clamp(24px,4vw,64px);align-items:center;padding-top:20px}
 .weekly-copy{padding:12px 0;min-width:0}
 .weekly-copy h3{max-width:19ch;font-size:clamp(32px,3vw,44px)}
 .weekly-count{margin-bottom:18px}.weekly-active-day{margin-bottom:10px}
 .weekly-visual{width:100%;height:auto;aspect-ratio:1;justify-self:end;border-radius:8px}
 .weekly-visual img{width:100%;height:100%;max-height:none;padding:0}
 .weekly-controls{max-width:300px;margin-top:22px}
}
@media(max-width:760px){
 .weekly-stage{gap:0}
 .weekly-visual{width:min(100% - 24px,300px);height:auto;aspect-ratio:1;margin:12px auto 0;border-radius:6px}
 .weekly-visual img{width:100%;height:100%;padding:0;object-fit:contain}
 .weekly-copy{padding-top:14px}
}
@media(min-width:761px){
 .weekly-showcase .weekly-shell{width:min(100% - 64px,1080px)}
 .weekly-stage{grid-template-columns:minmax(0,1fr) minmax(0,420px);gap:32px}
}

/* Contact content fills its container; booking options are directly selectable. */
.contact-block.wrap{max-width:var(--max);width:100%;display:block!important}
.contact-details-layout{display:grid;grid-template-columns:1fr 1fr;gap:18px 40px;align-items:start}
.contact-details-layout>.eyebrow,.contact-details-layout>h2{grid-column:1/-1}
.contact-details-layout>.eyebrow{margin:0!important}
.contact-details-layout>h2{margin:0!important;font-size:clamp(42px,4.8vw,66px)!important;line-height:.98}
.contact-details-layout>h2 br{display:none}
.contact-address-group address{font-size:20px;line-height:1.5;margin:0 0 14px!important}
.contact-call-group .call-number{margin:0 0 14px!important;font-size:clamp(28px,3vw,44px);line-height:1.1}
.contact-call-group .practical{padding-top:14px!important;font-size:14px}
.live-slot-picker{grid-column:1/-1;min-width:0;margin:0;padding:0;border:0}
.live-slot-picker legend{padding:0;margin-bottom:10px;font-size:13px;font-weight:750;color:#514034}
.slot-period>p{margin:10px 0 8px;font-size:12px;font-weight:750;color:#813c32}
.slot-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(68px,1fr));gap:7px}
.shop-live-fields .slot-option{display:block;position:relative;cursor:pointer;margin:0}
.shop-live-fields .slot-option input{position:absolute;width:1px!important;height:1px!important;opacity:0;padding:0!important;min-height:0!important}
.shop-live-fields .slot-option span{display:flex;align-items:center;justify-content:center;min-height:44px;padding:8px;border:1px solid #cbb49d;border-radius:10px;background:#fffaf2;color:#813c32;font-size:13px;font-weight:700;transition:background .15s,color .15s,transform .15s}
.shop-live-fields .slot-option input:checked+span{background:#813c32;border-color:#813c32;color:#fffaf2;box-shadow:inset 0 0 0 2px #fffaf2}
.shop-live-fields .slot-option input:focus-visible+span{outline:2px solid #813c32;outline-offset:3px}
.slot-option:hover span{transform:translateY(-1px)}.slot-hint{margin:0;font-size:13px;color:#665344}
.shop-modal-content:has(input[name="demo-delivery"][value="ship"]:checked) .live-schedule{display:none}
@media(min-width:761px){
 body .uber-banner-shop.wrap{display:grid!important;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:stretch;gap:0!important;padding:0!important;margin-block:14px!important}
 body .uber-banner-shop .uber-banner-photo{height:300px!important;max-height:300px!important;aspect-ratio:auto!important;min-height:0!important}
 body .uber-banner-shop .uber-banner-photo img{height:100%!important;object-fit:cover!important;object-position:center!important}
 body .uber-banner-shop .uber-banner-copy{padding:22px 28px!important;display:flex;flex-direction:column;justify-content:center}
 body .uber-banner-shop h2{font-size:clamp(32px,3vw,46px)!important;line-height:.98!important;margin:10px 0!important}
 body .uber-banner-shop p:not(.eyebrow){font-size:14px;line-height:1.5;margin-block:0 12px!important}
 body .uber-banner-shop .eyebrow{margin:0!important;font-size:11px}
 body .uber-banner-shop .order-choice{margin:0!important;gap:8px;display:grid;grid-template-columns:1fr 1fr}
 body .uber-banner-shop .order-choice a{min-height:44px!important;height:auto!important;padding:10px 12px!important;font-size:12px!important;white-space:normal;line-height:1.2}
 body .uber-banner-shop small{margin-top:10px!important;font-size:11px;line-height:1.4}
 .shop-live-fields{gap:12px 16px!important}.checkout-customer{padding:20px!important}
}
@media(max-width:760px){
 .contact-details-layout{grid-template-columns:1fr;gap:14px}.contact-details-layout>h2{font-size:38px!important}.contact-details-layout>h2 br{display:block}
 .contact-address-group address{font-size:17px}.contact-call-group .call-number{font-size:32px}.contact-call-group .practical{padding-top:10px!important}
 body .uber-banner-shop .uber-banner-photo{height:180px!important;aspect-ratio:auto!important;min-height:0!important}
 body .uber-banner-shop .uber-banner-copy{padding:16px 12px!important}
 .shop-live-fields{grid-template-columns:1fr 1fr!important;gap:12px 10px!important}
 .shop-live-fields>label:has(#live-name),.shop-live-fields>label:has(#live-email),.shop-live-fields>label:has(#live-phone),.shop-live-fields>.live-address,.shop-live-fields>label:has(#live-date){grid-column:1/-1}
 .shop-live-fields input{min-height:44px!important;padding:10px!important;font-size:16px!important}
 .slot-options{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
 .checkout-customer{padding:16px 12px!important}.shop-live-fields .slot-option span{font-size:12px}
}
.slot-period{margin-top:8px;border-top:1px solid #ddcdb9;padding-top:8px}.slot-period summary{cursor:pointer;padding:8px 0;font-size:13px;font-weight:750;color:#813c32}.slot-period .slot-options{padding-block:4px 8px}
@media(min-width:761px){
 body:has(.opening) .uber-banner-shop.wrap{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)!important}
 body:has(.opening) .uber-banner-shop .uber-banner-photo{height:300px!important;aspect-ratio:auto!important}
 .contact-visuals-full .contact-storefront{min-height:0!important;max-height:none!important;height:340px;aspect-ratio:auto!important}
 .contact-visuals-full .contact-storefront img{height:100%!important;max-height:none!important}
 .contact-visuals-full .contact-brand-visual{min-height:0!important;height:340px;padding:16px 24px!important;gap:8px!important}
 .contact-visuals-full .contact-brand-visual picture{min-height:0;height:270px}.contact-visuals-full .contact-brand-visual img{height:100%!important;max-height:none!important;object-fit:contain!important}
}
@media(max-width:760px){
 body:has(.opening) .uber-banner-shop .uber-banner-photo{height:180px!important;aspect-ratio:auto!important}
 body:has(.opening) .uber-banner-shop .uber-banner-copy{padding:16px 12px!important}
 body:has(.opening) .uber-banner-shop h2{font-size:32px!important}
 .contact-visuals-full .contact-storefront{min-height:0!important;height:240px;max-height:none!important;aspect-ratio:auto!important}
 .contact-visuals-full .contact-storefront img{height:100%!important;max-height:none!important}
 .contact-visuals-full .contact-brand-visual{padding:14px 12px!important;gap:8px!important}
 .contact-visuals-full .contact-brand-visual img{max-height:230px!important;object-fit:contain!important}
}
