/* Client care guidance, using the approved Sweet Memory palette. */
.panna-care{background:var(--sm-ivory);padding:72px 5vw 68px;color:var(--sm-cocoa)}
.panna-care__inner{max-width:1320px;margin:auto;display:grid;grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);gap:28px clamp(56px,7vw,112px);align-items:start}
.panna-care__intro h2{font-size:clamp(38px,3.6vw,56px);line-height:1.08;max-width:440px;margin:18px 0 24px;text-wrap:balance}
.panna-care__intro>p:not(.eyebrow){max-width:410px;font-size:16px;line-height:1.75}
.panna-care__accent{display:block;color:var(--sm-yellow);font-size:30px;margin-top:22px}
.panna-care__sequence{list-style:none;margin:0;padding:0}
.panna-care__sequence li{display:grid;grid-template-columns:42px minmax(0,1fr);gap:10px;padding:20px 0;border-bottom:1px solid rgba(238,47,104,.18)}
.panna-care__sequence li:first-child{padding-top:0}
.panna-care__number{color:var(--sm-pink);font:500 19px/1.4 var(--serif);position:relative}
.panna-care__number:after{content:"";display:block;width:14px;border-top:1px solid var(--sm-yellow);margin-top:5px}
.panna-care h3{font-size:27px;line-height:1.2;margin-bottom:9px}
.panna-care__sequence p,.panna-care__bag>p:last-child{font-size:16px;line-height:1.7}
.panna-care__bag{background:var(--sm-pale-pink);border-left:2px solid var(--sm-yellow);padding:20px 24px;margin-top:22px}
.panna-care__bag h3{margin-top:9px}.panna-care__bag h3 span{color:var(--sm-pink);white-space:nowrap}
.panna-care__closing{font:italic 22px/1.35 var(--serif);color:var(--sm-cocoa);margin:28px 0 0;max-width:300px}

/* Remove viewport-width arithmetic: these sections already occupy a full-width parent. */
.hero-fullbleed,#menu,.story{width:100%;margin-left:0;margin-right:0}
@media(min-width:1101px){.story{min-height:56.02vw}}
@media(min-width:801px) and (max-width:1100px){
 .story{display:block;min-height:0;padding:56.02vw 0 0;background-size:100% auto;background-position:center top}
 .story-copy{width:100%;max-width:none;margin:0;padding:36px 5vw 44px;transform:none;background:var(--sm-cream);border:0;border-radius:0;box-shadow:none;backdrop-filter:none}
 .story-copy>p:not(.eyebrow){font-size:16px;max-width:760px}
}
@media(min-width:769px) and (max-width:1599px){.pickup-detail{grid-template-columns:minmax(0,1fr)}.pickup-map{min-width:0;max-width:100%}}
img{max-width:100%}
.hero-fullbleed__content>.eyebrow{color:var(--sm-pink)}
.moments-row>.reviews>.review-controls[hidden]{display:none}
.review-empty-title{font:32px/1.2 var(--serif);color:var(--sm-chocolate)}
.review-empty-copy{font-size:16px;line-height:1.7;color:var(--sm-cocoa)}
.moments-row>.reviews>.review-content:has(.review-empty-title){display:flex;align-items:center;justify-content:center}
.moments-row>.reviews>.review-content:has(.review-empty-title):before{content:none}
/* Dialog scrolling is local; page scrolling is locked only while a modal is open. */
html:has(dialog[open]),body:has(dialog[open]){overflow:hidden}
#order-dialog{width:min(620px,calc(100% - 32px));max-width:calc(100% - 32px);max-height:calc(100dvh - 32px);overflow-y:auto;overscroll-behavior:contain;color:var(--sm-cocoa);background:var(--sm-ivory)}
#order-dialog .dialog-close{position:sticky;top:0;display:block;margin-left:auto;background:var(--sm-ivory);z-index:2}
#order-dialog h2{overflow-wrap:break-word;padding-right:0}
#order-dialog .dialog-actions{flex-wrap:wrap}
#order-dialog .order-options label{min-height:44px;display:flex;align-items:center;gap:8px}
#order-dialog .order-quantity button{width:44px;height:44px;flex:0 0 44px}
#order-dialog textarea{max-width:100%}
/* Keep the approved editorial offset only where its content has room. */
@media(min-width:1101px) and (max-width:1599px){
 .moments-row>.preorder>.section-heading,.moments-row>.preorder>.booking-layout,
 .moments-row>.reviews>.section-heading,.moments-row>.reviews>.review-content,
 .moments-row>.reviews>.review-controls{transform:none}
 .moments-row>.preorder{grid-template-columns:minmax(0,.8fr) minmax(0,1.5fr);column-gap:40px}
 .moments-row>.preorder>.booking-layout{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:24px}
}
@media(max-width:1024px){
 .panna-care__inner{grid-template-columns:minmax(0,1fr);max-width:720px;gap:30px}
 .panna-care__intro h2,.panna-care__intro>p:not(.eyebrow){max-width:620px}
 .panna-care__accent{display:none}
 .panna-care__closing{margin-top:26px}
}
@media(min-width:641px) and (max-width:900px){
 #menu .menu-grid--panna,#menu .menu-grid--savory{grid-template-columns:minmax(0,1fr);gap:36px}
 #menu .menu-grid--panna .menu-item,#menu .menu-grid--savory .menu-item{grid-template-columns:210px minmax(0,1fr);max-width:100%;width:100%;gap:32px;transform:none}
 #menu .menu-grid--panna .menu-copy{min-width:0}
}
@media(max-width:800px){
 .site-header .brand{overflow:visible;flex-shrink:0}
 .site-header .brand img{object-fit:contain;transform:none}
 .site-header .menu-toggle{min-width:44px;width:44px;height:44px;flex-shrink:0}
 .site-header .header-actions>.button{min-height:44px}
 .site-header nav a{min-height:44px;display:flex;align-items:center}
 .hero-fullbleed__content{max-width:100%}
 /* Stack the existing content and cover on narrow screens, so neither obscures the other. */
 .hero-fullbleed{display:flex;flex-direction:column;height:auto;min-height:0}
 .hero-fullbleed__content{position:relative;left:auto;top:auto;transform:none;order:0;padding:32px 20px;width:100%;background:var(--sm-ivory)}
 .hero-fullbleed__image{position:relative;inset:auto;order:1;width:100%;height:auto;object-fit:contain;object-position:center}
 .hero-fullbleed__overlay{display:none}
 .hero-fullbleed__content .hero-service{color:var(--sm-cocoa);line-height:1.7}
 .moments-row>.preorder>.booking-layout{min-width:0}
}
@media(max-width:640px){
 .panna-care{padding:56px 20px}
 .panna-care__inner{gap:28px}
 .panna-care__intro h2{font-size:38px;margin:16px 0 20px}
 .panna-care__sequence li{grid-template-columns:26px minmax(0,1fr);gap:12px;padding:22px 0}
 .panna-care h3{font-size:26px}
 .panna-care__bag{padding:20px 18px}
 .panna-care__closing{font-size:21px;text-wrap:balance;margin-top:24px}
 .eyebrow{letter-spacing:.16em;overflow-wrap:break-word}
 #menu{padding-inline:20px}
 #menu .menu-tabs{justify-content:flex-start;max-width:100%;gap:26px;overflow-x:auto;white-space:nowrap;scrollbar-width:none}
 #menu .menu-tabs::-webkit-scrollbar{display:none}
 #menu .menu-tabs button{flex:0 0 auto;min-height:44px}
 #menu .menu-grid{display:grid;grid-template-columns:minmax(0,1fr);width:100%;max-width:100%;gap:32px}
 #menu .menu-grid .menu-item{display:grid;grid-template-columns:minmax(0,1fr);width:100%;max-width:100%;gap:18px;transform:none;padding:24px 0;min-width:0}
 #menu .menu-grid .menu-media{display:block;grid-column:1;grid-row:auto;width:100%;max-width:100%;height:240px;margin:0;aspect-ratio:auto}
 #menu .menu-grid .menu-media img{height:100%;max-height:100%;min-height:0;width:100%;max-width:100%;object-fit:contain;transform:none}
 #menu .menu-grid .menu-copy{grid-column:1;grid-row:auto;min-width:0;width:100%;text-align:left}
 #menu .menu-grid .menu-description{font-size:16px;line-height:1.7}
 #menu .menu-grid .menu-item h3{font-size:32px;overflow-wrap:normal;text-wrap:balance}
 #menu .menu-grid .menu-order{min-height:44px}
 #menu .menu-grid .menu-prices{max-width:100%;margin-inline:0}
 #menu .menu-grid .menu-interlude{width:100%;max-width:100%;margin:24px 0;grid-column:1}
 .moments-row>.preorder,.moments-row>.reviews{padding-inline:20px}
 .moments-row>.preorder .calendar{padding:16px 12px}
 .moments-row>.preorder .calendar-heading h3{font-size:24px}
 .moments-row>.preorder .calendar-days{gap:2px}
 .moments-row>.preorder .calendar-days button{min-height:44px;font-size:16px}
 .moments-row>.preorder .weekdays{font-size:12px;letter-spacing:0}
 .moments-row>.preorder>.section-heading h2{font-size:clamp(38px,10.6vw,44px);text-wrap:balance}
 .moments-row>.reviews>.section-heading h2{font-size:clamp(38px,10.6vw,44px)}
 .story-copy{padding-inline:20px}
 .story-copy h2 br{display:none}
 .story-copy h2{line-height:1.12;text-wrap:balance}
 .delivery-section{padding-inline:20px}
 .reviews-background-word,.gallery-bg-word{display:none!important}
 .footer-main{padding-inline:20px}
 .payment-methods-strip{height:auto;flex-wrap:wrap;max-width:100%;overflow:visible}
 .footer-main a[data-email]{overflow-wrap:anywhere}
 .footer-bottom #year{display:inline;margin:0}
 #order-dialog{padding:20px}
 #order-dialog .dialog-actions>.button{width:100%;white-space:normal}
}

/* Lower-half editorial rhythm inspired by the approved mockup. */
.delivery-section{width:100%;max-width:none;margin:0;padding:54px max(24px,calc((100vw - 1460px)/2));display:grid;grid-template-columns:minmax(270px,.92fr) minmax(300px,1fr) minmax(270px,.82fr);gap:38px;align-items:center;background:var(--sm-soft-pink);overflow:hidden}
.delivery-copy h2{font-size:clamp(44px,4vw,68px);line-height:.98;margin:16px 0 18px}.delivery-copy>p:not(.eyebrow){font:17px/1.55 var(--serif);max-width:360px}.delivery-detail{margin-top:24px;padding-top:0;border-top:0}.delivery-detail span{color:var(--sm-pink)}.delivery-detail strong{font-size:24px}.delivery-detail p{font-size:14px;line-height:1.45}.delivery-detail .button{margin-top:12px}
.delivery-visual{height:auto;min-height:250px;overflow:visible;display:flex;align-items:center;justify-content:center;background:transparent;border:0;box-shadow:none}.delivery-visual img{display:block;width:clamp(450px,38vw,600px);max-width:none;height:auto;object-fit:contain;border-radius:0;background:transparent;box-shadow:none}.pickup-detail{padding:28px 28px 30px;border:0;border-left:1px solid var(--sm-border-pink);background:rgba(252,229,236,.76);min-height:210px}.pickup-detail:after{display:none}.pickup-detail h3{font-size:34px;margin:12px 0 14px}.pickup-detail p{font-size:14px;line-height:1.45}.pickup-detail .button{margin-top:12px}
.delivery-section{grid-template-columns:minmax(270px,.92fr) minmax(300px,1fr) minmax(270px,.82fr)}
.pickup-detail{display:block;min-width:0;width:100%;padding:26px 24px 28px;overflow:visible}
.pickup-info{display:block;min-width:0;width:100%}
.pickup-detail h3{max-width:none;overflow-wrap:normal;word-break:normal}
.pickup-detail .pickup-info>p{max-width:none;overflow-wrap:normal;word-break:normal}
.pickup-map{width:100%;max-width:320px;aspect-ratio:16/9;height:auto;min-width:0;margin-top:20px;overflow:hidden;border:1px solid rgba(197,164,109,.3);border-radius:10px;background:transparent}
.pickup-map iframe{display:block;width:100%;height:100%;min-height:0;border:0}
.panna-care{padding:58px max(24px,calc((100vw - 1320px)/2)) 52px}.panna-care__inner{grid-template-columns:minmax(260px,.65fr) minmax(0,1.35fr);gap:42px}.panna-care__guide{min-width:0}.panna-care__sequence{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:28px;row-gap:0}.panna-care__sequence li{grid-template-columns:42px minmax(0,1fr);padding:14px 0 18px;min-width:0}.panna-care__sequence li:nth-child(-n+2){padding-top:0}.panna-care__sequence p{font-size:14px;line-height:1.55}.panna-care h3{font-size:22px}.panna-care__bag{margin-top:20px}.panna-care__closing{font-size:22px}
.panna-care__sequence li:before{content:"";grid-column:1;grid-row:1 / span 2;width:38px;height:38px;border-radius:50%;background:var(--sm-soft-pink);position:absolute;margin-left:-1px;z-index:0}.panna-care__sequence li{position:relative}.panna-care__number,.panna-care__sequence li>div{position:relative;z-index:1}.panna-care__number:after{margin-top:3px}
.moments-row{display:block;max-width:none;padding:0;margin:0}.moments-row>.preorder{display:grid;grid-template-columns:minmax(250px,.72fr) minmax(380px,1.1fr) minmax(230px,.7fr);gap:36px;align-items:center;padding:72px max(24px,calc((100vw - 1460px)/2));background:var(--sm-cream)}.moments-row>.preorder>.section-heading{margin:0;text-align:left;max-width:330px}.moments-row>.preorder>.section-heading h2{font-size:clamp(44px,4vw,64px);line-height:.98}.moments-row>.preorder>.section-heading p:not(.eyebrow){font-size:17px}.moments-row>.preorder>.section-heading .preorder-note{font-size:14px;line-height:1.55;margin-top:20px}.moments-row>.preorder>.booking-layout{display:contents}.moments-row>.preorder .calendar{grid-column:2;padding:22px 24px;border-radius:14px;background:var(--sm-ivory);border:1px solid rgba(238,47,104,.35)}.moments-row>.preorder .calendar-days{gap:5px}.moments-row>.preorder .calendar-days button{min-height:44px}.moments-row>.preorder .booking-steps{grid-column:3;padding:0}.moments-row>.preorder .booking-steps ol{display:flex;flex-direction:column;gap:10px}.moments-row>.preorder .booking-steps li{font-size:20px;line-height:1.1;min-height:58px;gap:14px}.moments-row>.preorder .booking-steps li span{width:42px;height:42px;flex-basis:42px;background:var(--sm-soft-yellow)}.moments-row>.preorder .booking-steps .button{min-height:52px;margin-top:12px}.moments-row>.preorder:before{display:none}
.moments-row>.reviews{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(340px,1.2fr) minmax(180px,.65fr);gap:42px;align-items:center;padding:62px max(24px,calc((100vw - 1320px)/2));background:var(--sm-soft-pink)}.moments-row>.reviews>.section-heading{grid-column:1;grid-row:1;text-align:left;margin:0}.moments-row>.reviews>.section-heading h2{font-size:clamp(44px,3.8vw,60px);line-height:1.02}.moments-row>.reviews>.section-heading p{font-size:16px;line-height:1.45;max-width:300px}.moments-row>.reviews>.review-content{grid-column:2;grid-row:1;min-height:220px;width:100%;padding:54px 36px;border:1px solid rgba(238,47,104,.5);border-radius:14px;background:var(--sm-ivory)}.moments-row>.reviews>.review-controls{grid-column:3;grid-row:1;display:flex;flex-wrap:wrap;gap:14px;margin:0;justify-content:center}.moments-row>.reviews:before{right:4%;top:15px;font-size:clamp(120px,12vw,220px);opacity:.065}.review-empty-title{font-size:25px}
.gallery.section-pad{max-width:none;padding:54px max(24px,calc((100vw - 1400px)/2));background:var(--sm-ivory)}.gallery-heading{display:grid;grid-template-columns:220px 1fr;align-items:end;gap:34px}.gallery-heading .section-heading{text-align:left;margin:0}.gallery-heading .section-heading h2{font-size:clamp(38px,3.2vw,56px);line-height:.98}.gallery-heading .section-heading p{font-size:15px}.gallery-heading>a{grid-column:1;margin:12px 0 0;color:var(--sm-pink)}.gallery-grid{grid-column:2;grid-row:1 / span 2;display:grid;grid-template-columns:1.4fr 1fr 1fr;grid-template-rows:170px 170px;gap:10px;margin:0;max-width:none}.gallery-grid a:first-child{grid-row:span 2;grid-column:1}.gallery-grid a:nth-child(2){grid-column:2}.gallery-grid a:nth-child(3){grid-column:3}.gallery-grid a:nth-child(4){grid-column:2 / span 2;grid-row:2}.gallery-heading{position:relative}.gallery-grid img{object-fit:cover}.gallery-bottom-ornament{display:none}
.final-cta{min-height:300px;padding:60px max(24px,calc((100vw - 1320px)/2));background:var(--sm-soft-pink);display:flex;align-items:center;justify-content:center}.final-cta>div{text-align:center}.final-cta>div>.eyebrow{color:var(--sm-pink);margin-bottom:8px}.final-cta h2{font-size:clamp(42px,4vw,64px);line-height:1}.final-cta .button{margin-top:16px}
.final-cta{width:100%;margin-inline:0}
.gallery.section-pad{display:grid;grid-template-columns:minmax(190px,.28fr) minmax(0,1fr);column-gap:34px;align-items:start}
.gallery-heading{grid-column:1;grid-row:1}
.gallery-grid{grid-column:2;grid-row:1;min-width:0}
footer{background:var(--sm-pale-pink)}.footer-main{max-width:1400px;padding:54px 5vw 34px;grid-template-columns:1.15fr 1fr 1fr 1fr}.footer-logo img{width:150px;height:auto}.footer-bottom{background:rgba(255,249,243,.7);padding:14px 5vw;font-size:14px}
@media(max-width:1200px){.delivery-section{grid-template-columns:minmax(260px,.9fr) minmax(360px,1fr);}.delivery-visual{grid-column:2;grid-row:1;}.delivery-copy{grid-column:1;grid-row:1}.pickup-detail{grid-column:1 / -1;grid-row:2;display:block}.pickup-map{max-width:340px}}
@media(max-width:1024px){.delivery-section{grid-template-columns:1fr 1fr}.delivery-visual{grid-column:1 / -1;grid-row:1;order:0;min-height:220px}.delivery-visual img{width:min(100%,430px)}.delivery-copy{order:1}.pickup-detail{order:2}.panna-care__inner{grid-template-columns:.7fr 1.3fr}.moments-row>.preorder{grid-template-columns:1fr 1.2fr}.moments-row>.preorder>.section-heading{grid-column:1}.moments-row>.preorder .calendar{grid-column:2}.moments-row>.preorder .booking-steps{grid-column:1 / -1}.moments-row>.reviews{grid-template-columns:1fr 1.4fr}.moments-row>.reviews>.review-controls{grid-column:1 / -1;grid-row:2}.gallery-heading{grid-template-columns:180px 1fr}.gallery-grid{grid-template-rows:145px 145px}}
@media(max-width:640px){.delivery-section{display:flex;flex-direction:column;align-items:stretch;padding:54px 20px;gap:26px}.delivery-visual{order:1;min-height:0}.delivery-visual img{width:min(88vw,390px);max-width:100%;height:auto}.delivery-copy{order:0}.pickup-detail{order:2;padding:24px 20px;border-left:0;border-top:1px solid var(--sm-border-pink)}.pickup-map{max-width:100%;margin-top:20px}.panna-care{padding:52px 20px}.panna-care__inner{grid-template-columns:1fr;gap:20px}.panna-care__closing{margin-top:20px}.panna-care__sequence{display:block}.panna-care__sequence li,.panna-care__sequence li:nth-child(-n+2){padding:20px 0}.moments-row>.preorder{display:flex;flex-direction:column;align-items:stretch;padding:56px 20px;gap:26px}.moments-row>.preorder>.section-heading{max-width:none}.moments-row>.preorder .calendar{order:1}.moments-row>.preorder .booking-steps{order:2}.moments-row>.reviews{display:flex;flex-direction:column;align-items:stretch;padding:54px 20px;gap:24px}.moments-row>.reviews>.section-heading{order:0}.moments-row>.reviews>.review-content{order:1}.moments-row>.reviews>.review-controls{order:2}.gallery.section-pad{display:block;padding:52px 20px}.gallery-heading{display:block}.gallery-heading .section-heading{margin-bottom:16px}.gallery-heading>a{display:inline-block;margin-bottom:22px}.gallery-grid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:180px 140px 140px;gap:8px}.gallery-grid a:first-child{grid-column:1 / -1;grid-row:1}.gallery-grid a:nth-child(2){grid-column:1;grid-row:2 / span 2}.gallery-grid a:nth-child(3){grid-column:2;grid-row:2}.gallery-grid a:nth-child(4){grid-column:2;grid-row:3}.final-cta{min-height:300px;padding:54px 20px}.final-cta>.handwritten{display:none}.footer-main{grid-template-columns:1fr;padding:52px 20px 34px}.footer-main>div,.footer-logo{border-left:0;padding-left:0}.footer-bottom{padding:14px 20px;text-align:center;display:block}}

/* Panna Cotta Care polish: editorial note, lighter dividers, and a quieter bag highlight. */
.panna-care{padding-bottom:48px}
.panna-care__intro>p:not(.eyebrow){line-height:1.62}
.panna-care__note{margin-top:22px;display:flex;align-items:center;flex-wrap:wrap;column-gap:10px;max-width:320px}
.panna-care__accent{display:inline-block;margin:0;color:var(--sm-yellow);font-size:24px;line-height:1}
.panna-care__note-line{display:inline-block;width:24px;border-top:1px solid var(--sm-yellow);opacity:.9}
.panna-care__closing{flex-basis:100%;margin:10px 0 0 1px;font-size:17px;line-height:1.55}
.panna-care__sequence li{border-bottom-color:rgba(238,47,104,.15)}
.panna-care__sequence li:nth-child(odd){padding-right:10px}
.panna-care__sequence li:nth-child(even){padding-left:10px}
.panna-care__sequence li:before{width:36px;height:36px;background:rgba(252,229,236,.72);opacity:.9}
.panna-care__number{font-size:17px;line-height:1.35}
.panna-care__number:after{width:14px;border-top-width:2px;margin-top:4px}
.panna-care__sequence p{line-height:1.62}
.panna-care__bag{position:relative;width:88%;margin-top:18px;padding:23px 64px 24px 26px;border-radius:4px;background:#fff1f5}
.panna-care__bag h3{margin-top:8px}
.panna-care__bag-icon{position:absolute;right:22px;top:50%;width:40px;height:40px;transform:translateY(-50%);fill:none;stroke:var(--sm-pink);stroke-width:1.5;opacity:.42}
.panna-care__bag>p:last-of-type{max-width:540px}
.preorder-product-art{width:clamp(230px,17vw,330px);max-width:100%;margin:18px auto 0;pointer-events:none;line-height:0}
.preorder-product-art img{display:block;width:100%;height:auto;object-fit:contain;-webkit-mask-image:radial-gradient(ellipse 68% 64% at 48% 54%,#000 0%,#000 50%,rgba(0,0,0,.95) 63%,rgba(0,0,0,.6) 78%,rgba(0,0,0,.15) 91%,transparent 100%);mask-image:radial-gradient(ellipse 68% 64% at 48% 54%,#000 0%,#000 50%,rgba(0,0,0,.95) 63%,rgba(0,0,0,.6) 78%,rgba(0,0,0,.15) 91%,transparent 100%);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%}
.moments-row>.preorder{position:relative;overflow-x:clip}
.moments-row>.preorder>.preorder-product-art{position:absolute;right:clamp(-72px,-4vw,-34px);bottom:10px;width:clamp(280px,19vw,390px);max-width:none;margin:0;z-index:0}
.moments-row>.preorder>.section-heading,.moments-row>.preorder>.booking-layout{position:relative;z-index:1}
@media(max-width:1024px){.panna-care__bag{width:92%}}
@media(max-width:1024px){.moments-row>.preorder>.preorder-product-art{position:relative;grid-column:1 / -1;right:auto;bottom:auto;justify-self:end;width:clamp(220px,28vw,280px);margin:18px 0 0}}
@media(max-width:640px){.panna-care{padding-bottom:42px}.panna-care__note{margin-top:18px}.panna-care__sequence li:nth-child(odd),.panna-care__sequence li:nth-child(even){padding-left:0;padding-right:0}.panna-care__bag{width:100%;padding:20px 56px 21px 20px}.panna-care__bag-icon{right:16px;width:34px;height:34px}.preorder-product-art{width:min(72vw,260px);margin:20px auto 0}}
@media(max-width:640px){.moments-row>.preorder{overflow-x:clip}.moments-row>.preorder>.preorder-product-art{position:relative;right:auto;bottom:auto;width:min(75vw,280px);margin:24px auto 0;order:3}.moments-row>.preorder>.section-heading,.moments-row>.preorder>.booking-layout{z-index:auto}}

/* Final desktop track placement takes precedence over legacy edge-position rules. */
@media(min-width:1366px){
  .moments-row>.preorder>.preorder-product-art{position:relative;right:auto;bottom:auto;width:100%;height:auto;overflow:visible;justify-self:stretch;align-self:end}
  .moments-row>.preorder>.preorder-product-art img{width:125%;height:auto;object-fit:contain;object-position:64% 50%}
}

@media(min-width:1366px){
  .moments-row>.preorder>.preorder-product-art{transform:translate(-16px,-18px) scale(1.15);transform-origin:center bottom}
}

/* Desktop artwork breakout: only the product zone reaches the viewport edge. */
@media(min-width:1366px){
  .moments-row{overflow-x:clip}
  .moments-row>.preorder{overflow:visible}
  .moments-row>.preorder>.preorder-product-art{
    width:calc(100% + clamp(40px,6.25vw,120px));
    margin-right:calc(-1 * clamp(40px,6.25vw,120px));
    overflow:visible;
  }
}
@media(max-width:1365px){.moments-row>.preorder{overflow-x:clip}}

/* Reviews invitation treatment: public-facing feedback prompt, no CMS empty-state copy. */
.moments-row>.reviews{position:relative;isolation:isolate;overflow:hidden}
.moments-row>.reviews>.review-content{position:relative;min-height:260px;padding:42px 46px;background:var(--sm-ivory);border:1px solid rgba(238,47,104,.35);border-radius:18px;overflow:hidden}
.moments-row>.reviews>.review-content:before{content:'“';position:absolute;left:22px;top:-28px;color:var(--sm-pink);font:220px/.8 var(--serif);opacity:.1;pointer-events:none}
.feedback-invite{position:relative;z-index:1;max-width:440px}
.feedback-invite .eyebrow{color:var(--sm-pink);margin-bottom:10px}
.feedback-invite h3{font:500 clamp(30px,2.4vw,36px)/1.08 var(--serif);color:var(--sm-chocolate);margin:0 0 16px}
.feedback-invite>p:not(.eyebrow){font-size:16px;line-height:1.65;color:var(--sm-cocoa);max-width:420px}
.feedback-invite .button{margin-top:24px;background:var(--sm-pink);border-color:var(--sm-pink);color:var(--sm-ivory);min-height:46px}
.moments-row>.reviews:after{content:'✦   ♡';position:absolute;right:8%;bottom:28px;color:var(--sm-pink);font:34px/1 var(--serif);letter-spacing:.35em;opacity:.42;pointer-events:none;z-index:0}
.moments-row>.reviews:before{right:2%;top:18px;font-size:clamp(150px,14vw,270px);opacity:.08;z-index:-1;pointer-events:none}
@media(max-width:1024px){.moments-row>.reviews{grid-template-columns:1fr 1.25fr}.moments-row>.reviews>.review-content{min-height:240px;padding:36px 34px}}
@media(max-width:640px){.moments-row>.reviews{display:flex;flex-direction:column;align-items:stretch;padding:52px 20px;gap:22px}.moments-row>.reviews>.section-heading{order:0}.moments-row>.reviews>.review-content{order:1;min-height:0;padding:32px 24px;border-radius:14px}.moments-row>.reviews>.review-controls{display:none}.moments-row>.reviews:before{display:none}.moments-row>.reviews:after{right:22px;bottom:18px;font-size:26px}.feedback-invite h3{font-size:30px}.feedback-invite>p:not(.eyebrow){font-size:15px;line-height:1.6}}
.moments-row>.reviews>.review-controls[hidden]{display:none!important}

/* Desktop preorder rebuild: four real visual tracks (intro, calendar, controls, art). */
@media(min-width:1366px){
  .moments-row>.preorder{width:min(94vw,1680px);margin-inline:auto;display:grid;grid-template-columns:minmax(220px,.8fr) minmax(430px,1.55fr) minmax(250px,.78fr) minmax(280px,.9fr);gap:clamp(22px,1.6vw,34px);align-items:center;position:relative;overflow-x:clip}
  .moments-row>.preorder>.booking-layout{display:contents}
  .moments-row>.preorder>.section-heading{grid-column:1;grid-row:1;min-width:0;z-index:1}
  .moments-row>.preorder .calendar{grid-column:2;grid-row:1;min-width:0;width:100%;z-index:1}
  .moments-row>.preorder .booking-steps{grid-column:3;grid-row:1;min-width:0;width:100%;z-index:1}
  .moments-row>.preorder>.preorder-product-art{grid-column:4;grid-row:1;position:relative;right:auto;bottom:auto;justify-self:stretch;align-self:end;width:100%;height:auto;min-width:0;margin:0;z-index:1;overflow:visible}
  .moments-row>.preorder>.preorder-product-art img{width:135%;height:auto;max-width:none;object-fit:contain;object-position:64% 50%}
  .moments-row>.preorder .booking-steps .button{max-width:300px}
}

/* Newest preorder artwork: crop the supplied negative space while preserving its feathered blend. */
.moments-row>.preorder .booking-steps .button{max-width:300px}

@media(min-width:1366px){
  .moments-row>.preorder{overflow:visible}
  .moments-row>.preorder>.preorder-product-art{width:calc(100% + clamp(160px,18vw,300px));margin-right:calc(-1 * clamp(160px,18vw,300px));overflow:visible}
  .moments-row>.preorder>.preorder-product-art img{width:135%;transform:translateX(-90px) scale(.82);transform-origin:center bottom}
}

/* Transparent replacement artwork: preserve the four-zone layout while letting
   the supplied cutout carry its own clean edges and right-side bleed. */
.preorder-product-art img{-webkit-mask-image:none;mask-image:none;filter:none;opacity:1}
@media(min-width:1366px){
  .moments-row>.preorder{position:relative;overflow:hidden}
  .moments-row>.preorder>.preorder-product-art{position:absolute;width:clamp(700px,40vw,780px);max-width:none;right:0;bottom:20px;margin:0;z-index:0;transform:none;pointer-events:none}
  .moments-row>.preorder>.preorder-product-art img{width:100%;max-width:none;height:auto;object-fit:contain;object-position:right bottom;transform:none}
  .moments-row>.preorder>.section-heading,.moments-row>.preorder>.booking-layout{position:relative;z-index:1}
}
@media(min-width:1025px) and (max-width:1365px){
  .moments-row>.preorder>.preorder-product-art{width:clamp(520px,45vw,650px);justify-self:end;transform:translate(100px,42px)}
  .moments-row>.preorder>.preorder-product-art img{width:100%;height:auto;object-fit:contain;object-position:right center}
}

/* A restrained warm diffusion softens the transparent cutout edges without
   blurring or altering the supplied product artwork. */
.moments-row>.preorder>.preorder-product-art{isolation:isolate}
.moments-row>.preorder>.preorder-product-art::before{content:"";position:absolute;inset:-88px -96px -96px -130px;background:radial-gradient(ellipse at 58% 55%,rgba(249,201,215,.30) 0%,rgba(255,237,223,.22) 42%,rgba(255,243,230,.10) 64%,rgba(255,243,230,0) 82%),radial-gradient(ellipse at 48% 52%,rgba(255,249,243,.40) 0%,rgba(255,243,230,.12) 48%,rgba(255,243,230,0) 86%);filter:blur(30px);pointer-events:none;z-index:0}
.moments-row>.preorder>.preorder-product-art img{position:relative;z-index:1}

/* Footer polish: balanced editorial columns and readable contact/payment rows. */
footer{position:relative;overflow:hidden;background:var(--sm-pale-pink);color:var(--sm-cocoa)}
footer::after{content:"SWEET MEMORY";position:absolute;left:50%;bottom:-.15em;transform:translateX(-50%);white-space:nowrap;pointer-events:none;user-select:none;z-index:0;color:rgba(117,67,51,.055);font:500 clamp(130px,13vw,250px)/.8 var(--serif);letter-spacing:.04em}
footer .footer-main{position:relative;z-index:2;width:min(92%,1480px);max-width:none;margin-inline:auto;padding:54px 0 58px;display:grid;grid-template-columns:minmax(210px,1.05fr) minmax(220px,.95fr) minmax(250px,1fr) minmax(330px,1.45fr);gap:48px;font-size:16px}
footer .footer-main>div,.footer-logo{border-left:1px solid rgba(238,47,104,.18);padding-left:34px}
footer .footer-logo{border-left:0;padding-left:0;text-align:center;display:flex;flex-direction:column;align-items:center}
footer .footer-logo img{width:140px;height:auto;object-fit:contain;mix-blend-mode:multiply}
footer .footer-logo::after{content:"A little sweetness,\\A a lasting memory.\\A\\A ◇ ───";white-space:pre;text-align:center;font:20px/1.45 var(--serif);color:var(--sm-cocoa);margin-top:24px}
footer .footer-logo::after{content:none}
footer .footer-tagline{display:block;max-width:220px;margin:24px auto 0;text-align:center;color:var(--sm-cocoa);font:20px/1.45 var(--serif)}
footer .footer-brand-decoration{display:flex;align-items:center;justify-content:center;gap:8px;width:78px;margin:10px auto 0;color:var(--sm-cocoa);font:16px/1 var(--serif)}
footer .footer-brand-decoration .line{display:block;width:48px;border-top:1px solid currentColor;opacity:.7}

footer .footer-main h3{display:flex;align-items:center;gap:12px;margin:0 0 20px;color:var(--sm-chocolate);font-size:20px}
footer .footer-icon{width:36px;height:36px;flex:none;display:grid;place-items:center;border-radius:50%;background:var(--sm-soft-yellow);color:var(--sm-chocolate)}
footer .footer-icon svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.6}
footer .hours{display:grid;grid-template-columns:110px minmax(0,1fr);column-gap:16px;row-gap:8px;margin:0}
footer .hours dt,footer .hours dd{margin:0;white-space:nowrap}
footer .hours dd{color:var(--sm-cocoa)}
footer .footer-main a[data-email]{display:block;white-space:nowrap;margin-bottom:16px;color:var(--sm-cocoa)}
footer .footer-main a[data-facebook]{display:block;color:var(--sm-cocoa)}
footer .payment-logos{display:inline-flex;align-items:center;gap:0;height:40px;margin:2px 0 12px;background:rgba(255,249,243,.72);border:1px solid rgba(238,47,104,.22);border-radius:9px;overflow:hidden}
footer .payment-logos img{width:92px;height:38px;object-fit:contain;padding:7px 12px}
footer .payment-logos img+img{border-left:1px solid rgba(238,47,104,.16)}
footer .footer-main>div:last-child>p:last-child{margin:0;color:var(--sm-cocoa);white-space:nowrap}
footer .footer-bottom{position:relative;z-index:2;padding:14px max(4%,calc((100% - 1480px)/2));background:rgba(255,249,243,.7);font-size:14px}
footer .footer-bottom{background:var(--sm-pink);color:var(--sm-ivory);border-top:1px solid rgba(255,249,243,.22)}
@media(max-width:1100px){footer .footer-main{grid-template-columns:1fr 1fr;gap:36px 0}footer .footer-main>div:nth-child(odd){border-left:0;padding-left:0}footer .footer-main>div:nth-child(even){padding-left:32px}footer .footer-main>div:last-child{grid-column:2}}
@media(max-width:640px){footer::after{font-size:82px;bottom:48px}footer .footer-main{grid-template-columns:1fr;width:auto;padding:52px 24px 42px;gap:28px;text-align:left}footer .footer-main>div,footer .footer-main>div:nth-child(even){border-left:0;border-top:1px solid rgba(238,47,104,.18);padding:24px 0 0}footer .footer-logo{border-top:0!important;padding-top:0!important;text-align:center}footer .footer-logo img{width:140px}footer .footer-logo::after{font-size:19px}footer .footer-main a[data-email]{white-space:normal;overflow-wrap:anywhere}footer .footer-main>div:last-child{grid-column:auto}footer .footer-bottom{padding:14px 24px;text-align:center;display:block}}
@media(max-width:1024px){
  .moments-row>.preorder>.preorder-product-art img{width:100%;height:auto;object-fit:contain;object-position:center}
}

/* Final CTA wide editorial artwork replacement. */
.final-cta{
  position:relative;
  width:100%;
  min-height:420px;
  overflow:hidden;
  background-color:var(--sm-soft-pink);
  background-image:url("../assets/final-cta-wide.jpg");
  background-repeat:no-repeat;
  background-position:center center;
  background-size:cover;
}
.final-cta::before{display:none}
.final-cta>div{position:relative;z-index:1;max-width:700px;margin-inline:auto;text-align:center}
.final-cta>.handwritten{display:none}
.final-cta>div::after{display:none}
.final-cta h2{color:var(--sm-chocolate)}
.final-cta p{color:var(--sm-cocoa)}
@media(max-width:1024px){.final-cta{min-height:400px;background-position:center center}}
@media(max-width:768px){.final-cta{min-height:420px;background-size:auto 100%;background-position:center center;padding:54px 20px}.final-cta>div{max-width:360px}.final-cta h2{font-size:clamp(38px,10vw,48px)}}

/* Keep the baked-in logo clear of the top crop while retaining the wide banner composition. */
@media(min-width:1280px){.final-cta{background-position:center top}}
@media(min-width:769px) and (max-width:1279px){.final-cta{background-position:52% 8%}}
@media(max-width:768px){.final-cta{background-position:50% 8%}}
