:root{--pink:#ffd2f3;--ink:#50372f;--accent:#a22273;--line:#d9bfcf;--paper:#fffafd}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:20px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:3px solid #a22273;outline-offset:5px}.topline{background:var(--ink);color:white;padding:11px 5%;font-size:.75rem;letter-spacing:.14em;display:flex;justify-content:space-between}header{min-height:124px;padding:16px 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:20px}.brand img{display:block;width:218px;height:auto}nav{display:flex;align-items:center;gap:32px;font-size:.9rem}nav a:hover{color:var(--accent)}.nav-order{border:1px solid var(--ink);border-radius:30px;background:transparent;color:var(--ink);padding:14px 21px;display:flex;gap:22px;align-items:center}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:760px}.hero-copy{background:var(--pink);padding:58px 9% 36px 10%;display:flex;flex-direction:column;align-items:flex-start}.eyebrow{font-size:.75rem;letter-spacing:.18em;font-weight:600;margin:0 0 28px}h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.055em}h1{font-size:clamp(3.5rem,5.4vw,6.5rem);line-height:1.01;margin:0 0 26px}em{font-weight:400;color:var(--accent)}.intro{font-size:1rem;line-height:1.75;margin:0 0 26px;max-width:410px}.actions{display:flex;flex-wrap:wrap;gap:16px;align-items:center}.primary{background:var(--ink);border:1px solid var(--ink);color:white;padding:17px 22px;border-radius:30px;display:flex;gap:25px;font-size:.875rem}.primary:hover{background:#6a473d}.secondary{border:0;border-bottom:1px solid var(--ink);background:transparent;color:var(--ink);font-size:.875rem;padding:10px 0}.locations{margin-top:auto;padding-top:38px}.locations>span{font-size:.75rem;letter-spacing:.12em}.locations p{font-size:.875rem;line-height:1.7;margin-bottom:0}.locations i{padding:0 9px}.hero-photo{position:relative;overflow:hidden;min-height:700px}.hero-photo>img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:50% 62%}.photo-caption{position:absolute;bottom:0;left:0;right:0;padding:75px 7% 33px;color:white;background:linear-gradient(transparent,#0009)}.photo-caption span{font-size:.75rem;letter-spacing:.15em}.photo-caption p{font-family:Georgia,serif;font-size:1.65rem;margin:12px 0 0}.contact-section{padding:85px 7%;display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}.contact-section .eyebrow{margin-bottom:20px}h2{font-size:clamp(2rem,3.4vw,3.5rem);line-height:1.15;margin:0 0 20px}.contact-section p:not(.eyebrow){line-height:1.75;max-width:420px}.contact-links>a{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:25px 0}.contact-links small{display:block;font-size:.75rem;letter-spacing:.12em}.contact-links strong{display:block;font-family:Georgia,serif;font-weight:400;font-size:1.9rem;margin:8px 0}.contact-links b{font-size:2rem;font-weight:400}.contact-links>a:hover{color:var(--accent)}footer{margin:0 5%;border-top:1px solid var(--line);padding:26px 0 100px;display:flex;justify-content:space-between;font-size:.875rem;gap:20px}.floating{position:fixed;bottom:22px;right:24px;display:flex;align-items:center;gap:10px;background:#146b45;color:white;border:2px solid white;box-shadow:0 4px 20px #0002;border-radius:40px;padding:14px 20px;z-index:5;font-size:.875rem}.floating svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.6}dialog{width:min(460px,calc(100% - 32px));border:1px solid var(--line);border-radius:20px;padding:28px;color:var(--ink);background:var(--paper)}dialog::backdrop{background:#25142080;backdrop-filter:blur(4px)}dialog h2{font-size:2rem;letter-spacing:-.04em}dialog>p{line-height:1.6;font-size:.95rem}.dialog-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;gap:10px}.dialog-head .eyebrow{font-size:.75rem;margin:0}.dialog-head button{background:transparent;border:0;font-size:2rem;line-height:1;padding:4px 8px;color:var(--ink)}.person{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border:1px solid var(--line);border-radius:12px;margin-top:12px;background:var(--pink)}.person strong,.person small{display:block}.person small{font-size:.875rem;margin-top:5px}.person:hover{border-color:var(--accent)}@media(min-width:1600px){.hero-copy{padding-left:14%}.hero{min-height:850px}}@media(max-width:900px){nav{gap:18px}.nav-order{display:none}.hero-copy{padding:40px 7%}.hero{min-height:690px}h1{font-size:3.6rem}.hero-photo{min-height:690px}.contact-section{gap:7%;padding:60px 6%}}@media(max-width:620px){.topline{justify-content:center;font-size:.65rem}.topline span{display:none}header{min-height:95px;padding:12px 5%}.brand img{width:155px}nav{gap:17px;font-size:.875rem}.hero{display:flex;flex-direction:column}.hero-copy{padding:36px 7% 32px}h1{font-size:clamp(3.2rem,12.4vw,4.4rem)}h1 em br{display:none}.eyebrow{margin-bottom:23px}.intro{max-width:100%}.locations{padding-top:26px}.hero-photo{min-height:540px}.hero-photo>img{object-position:50% 70%}.contact-section{grid-template-columns:1fr;gap:14px;padding:50px 7%}.contact-section h2{font-size:2.5rem}footer{flex-direction:column;font-size:.875rem;gap:10px}.floating{bottom:16px;right:16px;padding:12px 16px}.photo-caption p{font-size:1.5rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.section-pad{padding:80px 7%}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:50px;margin-bottom:32px}.section-heading>p{max-width:460px;line-height:1.8}.section-heading h2{margin-bottom:0}.shop{background:#fff}.pickup-notice{padding:20px 24px;background:#fff0fa;border-left:3px solid var(--accent);margin-bottom:32px;line-height:1.65}.pickup-notice strong,.pickup-notice span{display:block}.pickup-notice span{font-size:.875rem;margin-top:6px}.shop-layout{display:grid;grid-template-columns:minmax(0,1fr) 335px;gap:32px;align-items:start}.product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.product-card{padding:25px;border:1px solid var(--line);border-radius:14px;display:flex;flex-direction:column;min-height:240px;background:var(--paper)}.product-card .product-tag{font-size:.75rem;letter-spacing:.1em;color:var(--accent)}.product-card h3{font-family:Georgia,serif;font-weight:400;font-size:1.8rem;margin:18px 0 12px}.product-card p{font-size:.875rem;line-height:1.6;margin:0 0 20px}.product-bottom{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:auto}.product-bottom button{background:var(--ink);color:white;border:0;border-radius:22px;padding:11px 16px;font-size:.875rem}.basket{padding:25px;border:1px solid var(--line);border-radius:16px;position:sticky;top:20px}.basket h3{font-family:Georgia,serif;font-size:1.8rem;font-weight:400;margin:0 0 20px}.basket label{display:block;font-size:.875rem;margin:20px 0 8px;font-weight:bold}.basket input,.basket select{width:100%;min-width:0;font:inherit;font-size:1rem;padding:12px;border:1px solid #99747e;border-radius:7px;background:white;color:var(--ink)}.small-note{font-size:.875rem;line-height:1.65}.basket .eyebrow{margin-bottom:15px}.total{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:20px;margin-top:20px}.cart-row{padding:14px 0;border-top:1px solid var(--line);font-size:.875rem}.cart-row>span{display:block;margin-bottom:10px}.quantity{display:flex;align-items:center;gap:15px}.quantity button{width:34px;height:34px;border:1px solid var(--line);background:var(--paper);border-radius:50%;color:var(--ink)}.quantity strong{margin-left:auto}.pay-button{width:100%;justify-content:center;margin-top:20px}.pay-button:disabled{background:#e9e1e5;color:#62515a;border-color:#e9e1e5;cursor:not-allowed}.date-error{font-size:.875rem;color:#aa1338;line-height:1.5}.custom-section{background:var(--pink);display:grid;grid-template-columns:1.1fr 1fr;gap:10%;align-items:center}.custom-section p{line-height:1.8;max-width:520px}.custom-section .primary{margin-top:25px}.custom-details{border-left:1px solid #b998ae;padding-left:35px}.advance{font-size:.75rem;letter-spacing:.1em;font-weight:bold}.custom-details h3{font-family:Georgia,serif;font-weight:400;font-size:2rem;line-height:1.25}.store-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.store-card{border:1px solid var(--line);border-radius:16px;padding:34px;display:flex;flex-direction:column}.store-card h3{font-family:Georgia,serif;font-size:2rem;font-weight:400;margin:0;line-height:1.2}.store-place{color:var(--accent)}dl{font-size:.95rem;margin-bottom:30px}dl>div{display:flex;justify-content:space-between;gap:12px;line-height:1.7;padding:12px 0;border-bottom:1px solid var(--line)}dd{margin:0}.text-link{font-size:.95rem;text-decoration:underline;text-underline-offset:5px;margin-top:auto}.instagram-section{text-align:center;background:#fbe3f5;padding:65px 7%}.instagram-section p{line-height:1.7}.instagram-section .primary{display:inline-flex;margin-top:12px}nav{gap:20px;flex-wrap:wrap;justify-content:flex-end}nav .nav-order{display:none}@media(max-width:1100px){.shop-layout{grid-template-columns:minmax(0,1fr) 300px}.product-grid{grid-template-columns:1fr}.section-pad{padding:60px 5%}dl>div{flex-direction:column;gap:0}}@media(max-width:760px){header{flex-direction:column;gap:15px}nav{justify-content:center;gap:12px 20px;font-size:.875rem}.section-heading{display:block}.section-heading>p{margin-top:24px}.shop-layout{grid-template-columns:1fr}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.basket{position:static}.custom-section{grid-template-columns:1fr;gap:35px}.custom-details{padding-left:22px}.store-grid{grid-template-columns:1fr}.section-pad{padding:48px 6%}}@media(max-width:420px){.product-grid{grid-template-columns:1fr}.product-card{min-height:210px}.store-card{padding:25px}}
.portion-filters{border:0;padding:0;margin:0 0 22px;min-width:0}.portion-filters legend{font-family:Georgia,serif;font-size:1.65rem;margin-bottom:16px}.portion-options{display:flex;flex-wrap:wrap;gap:10px}.portion-options label{position:relative;cursor:pointer}.portion-options input{position:absolute;opacity:0;width:1px;height:1px}.portion-options span{display:block;padding:12px 17px;border:1px solid var(--line);border-radius:26px;font-size:.875rem;background:var(--paper)}.portion-options input:checked+span{background:var(--ink);color:white;border-color:var(--ink)}.portion-options input:focus-visible+span{outline:3px solid var(--accent);outline-offset:3px}.larger-order{padding:20px;background:#fff0fa;border-radius:12px;margin-bottom:20px}.larger-order p{font-size:.875rem;line-height:1.6;margin:8px 0 4px}.larger-order .secondary{text-align:left}.portion-options label:hover span{border-color:var(--accent)}
.design-gallery-wrap{grid-column:1/-1;margin-top:42px;min-width:0}.design-gallery-wrap>.eyebrow{margin-bottom:18px}.design-gallery-wrap>h3{font-family:Georgia,serif;font-size:clamp(1.8rem,3vw,2.8rem);font-weight:400;line-height:1.2;margin:0 0 14px;letter-spacing:-.035em}.custom-section .gallery-intro{max-width:750px;margin-bottom:28px}.design-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.design-card{margin:0;min-width:0;border-radius:12px;overflow:hidden;background:var(--paper);border:1px solid #e4b5d5}.design-card>img{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:contain;background:#fff0fa}.design-card figcaption{padding:19px 17px 22px}.design-card h4{font-family:Georgia,serif;font-size:1.3rem;font-weight:400;margin:0 0 8px;line-height:1.3}.design-card .secondary{text-align:left;font-size:.875rem;line-height:1.5}.custom-section{row-gap:35px}@media(max-width:1100px){.design-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:480px){.design-gallery{gap:14px}.design-card figcaption{padding:14px 12px 18px}.design-card h4{font-size:1.15rem}.design-card .secondary{font-size:.875rem}.design-gallery-wrap{margin-top:12px}}@media(max-width:340px){.design-gallery{grid-template-columns:1fr}}
.product-photo{display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:contain;background:white;border-radius:9px;margin-bottom:20px}.product-card:has(.product-photo){padding:16px}.product-card:has(.product-photo) .product-bottom{padding-top:6px}.product-card:has(.product-photo) .product-tag{line-height:1.5}

#customer-form input,#customer-form textarea{display:block;width:100%;padding:12px;border:1px solid #cbb8c4;border-radius:8px;font:inherit;background:#fff;box-sizing:border-box}#customer-form h4{margin-top:24px}#customer-form label{display:block;margin:14px 0 6px}#customer-form{margin:20px 0}
.breadcrumbs{justify-content:flex-start;margin:0;padding:24px 7%;gap:10px;font-size:.875rem;line-height:1.6;border-bottom:1px solid var(--line)}.breadcrumbs a{text-decoration:underline;text-underline-offset:3px}.page-title{font-size:clamp(2.4rem,4.5vw,4.6rem);line-height:1.12;max-width:900px}.product-card h3 a:hover{text-decoration:underline;text-underline-offset:5px}.product-card:target{outline:3px solid var(--accent);outline-offset:4px}.detail-intro{max-width:720px;line-height:1.8;margin-bottom:35px}.size-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-bottom:30px}.size-card{border:1px solid var(--line);border-radius:14px;background:white;overflow:hidden;display:flex;flex-direction:column}.size-card>img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain}.size-card>div{padding:24px;flex:1;display:flex;flex-direction:column;align-items:flex-start}.size-card h2{font-size:1.8rem;letter-spacing:-.035em;margin-bottom:0}.size-price{font-size:1.35rem;font-weight:bold}.size-card .primary{margin-top:auto}.product-detail>p{line-height:1.8}.product-detail .text-link{font-size:inherit}.product-detail .pickup-notice{margin-top:32px;max-width:900px}.size-card:target{outline:3px solid var(--accent);outline-offset:4px}@media(max-width:900px){.size-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.size-grid{grid-template-columns:1fr}.breadcrumbs{padding:20px 6%}.page-title{font-size:2.6rem}.size-card .primary{width:100%;justify-content:center}}

/* Home: rotating product photography, delivery information and common questions. */
.hero-carousel{background:#f8eef3;touch-action:pan-y}.hero-slides{position:absolute;inset:0}.hero-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .65s ease,visibility .65s}.hero-slide.is-active{opacity:1;visibility:visible}.hero-slide>img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 70%}.hero-slide .photo-caption{padding-bottom:102px;background:linear-gradient(transparent,rgba(32,15,22,.84));pointer-events:none}.dessert-slide>img{object-fit:contain;background:#f3edf0;padding-bottom:75px}.carousel-controls{position:absolute;bottom:26px;left:7%;right:7%;display:flex;align-items:center;gap:12px;color:white}.carousel-controls[hidden]{display:none}.carousel-controls button{color:white;border:1px solid #ffffffb3;background:#36242cdc;min-width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center}.carousel-controls button:hover{background:#a22273}.carousel-controls button:focus-visible{outline-color:white}.carousel-arrow{font-size:1.5rem}.carousel-dots{display:flex;gap:0}.carousel-dots button{border:0;background:transparent;min-width:32px;width:32px}.carousel-dots button:before{content:'';height:8px;width:8px;border:1px solid white;border-radius:50%;background:transparent}.carousel-dots button[aria-current="true"]:before{background:white;box-shadow:0 0 0 3px #ffffff40}.carousel-dots button:hover{background:#ffffff20}.carousel-controls .carousel-toggle{border-radius:25px;padding:0 18px;margin-left:auto;font-size:.875rem;min-width:94px}.delivery-band{display:grid;grid-template-columns:1.2fr 1fr;gap:8%;background:var(--ink);color:white;padding:48px 7%}.delivery-band .eyebrow{color:var(--pink);margin-bottom:17px;font-size:.875rem}.delivery-band h2{font-size:clamp(2rem,3vw,3rem)}.delivery-band em{color:var(--pink)}.delivery-band p{line-height:1.8;max-width:600px}.delivery-band .primary{display:inline-flex;background:var(--pink);color:var(--ink);border-color:var(--pink);margin-top:10px}.delivery-band .primary:hover{background:white}.delivery-pickup{align-self:center;border-left:1px solid #d9bfcf70;padding-left:35px}.delivery-pickup h3{font-family:Georgia,serif;font-size:1.7rem;font-weight:400;margin:0 0 16px}.delivery-band a:focus-visible,.delivery-band button:focus-visible{outline-color:white}.faq-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:8%;background:#fff}.faq-intro>p:not(.eyebrow){line-height:1.8;max-width:350px}.faq-intro .secondary{text-align:left;line-height:1.6}.faq-list{border-top:1px solid var(--line);min-width:0}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:24px 0;font-size:1.05rem;line-height:1.55;font-weight:600}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:'+';flex-shrink:0;font-size:1.6rem;font-weight:400;color:var(--accent)}.faq-list details[open] summary:after{content:'−'}.faq-list summary:hover{color:var(--accent)}.faq-list summary:focus-visible{outline:3px solid var(--accent);outline-offset:4px}.faq-list details>div{padding:0 30px 24px 0;line-height:1.8}.faq-list details p{margin:0 0 12px}.faq-list details p:last-child{margin-bottom:0}.faq-list a{text-decoration:underline;text-underline-offset:4px}.faq-list .secondary{text-align:left;line-height:1.6}.footer-help{display:flex;gap:22px;flex-wrap:wrap}.footer-help a{text-decoration:underline;text-underline-offset:4px}
@media(max-width:760px){.delivery-band,.faq-section{grid-template-columns:1fr;gap:30px}.delivery-band{padding:38px 6%}.delivery-pickup{border-left:0;border-top:1px solid #d9bfcf70;padding:26px 0 0}.faq-intro>p:not(.eyebrow){max-width:none}.faq-list summary{font-size:1rem;gap:18px}.faq-list details>div{padding-right:0}}
@media(max-width:620px){.hero-carousel{order:-1;min-height:440px}.hero-slide .photo-caption{padding:60px 7% 88px}.carousel-controls{bottom:20px;gap:8px}.carousel-controls .carousel-toggle{padding:0 13px;min-width:90px}.hero-slide>img{object-position:50% 70%}.hero-copy .locations{margin-top:0}.hero-copy h1{font-size:clamp(2.9rem,11vw,4rem)}}
@media(prefers-reduced-motion:reduce){.hero-slide{transition:none}}

/* In-store promotions: informational only; online catalog prices are unchanged. */
.store-promotions{display:grid;grid-template-columns:1fr 1fr;gap:5%;align-items:center;background:#fff4ed}.promotion-copy{min-width:0}.promotion-copy h2{font-size:clamp(2rem,3.4vw,3.4rem)}.promotion-days{display:grid;gap:20px;margin:28px 0}.promotion-days h3{font-size:1.05rem;margin:0 0 8px;color:var(--accent)}.promotion-days p,.promotion-copy>p:not(.eyebrow){line-height:1.7}.promotion-days p{margin:0}.promotion-terms{padding:16px 20px;border-left:4px solid var(--accent);background:white;border-radius:0 8px 8px 0}.promotion-art{display:block;width:100%;height:auto;border-radius:16px}.promotion-copy .primary{display:inline-flex;margin-top:8px}
@media(max-width:900px){.store-promotions{grid-template-columns:1fr;gap:30px}.promotion-art{max-width:700px;margin:auto}.promotion-days{grid-template-columns:1fr 1fr;gap:24px}}
@media(max-width:560px){.promotion-days{grid-template-columns:1fr;gap:20px}.promotion-copy .primary{width:100%;justify-content:center}}

.store-photo{display:block;width:100%;height:auto;max-height:420px;object-fit:contain;border-radius:10px;margin:8px 0 20px;background:var(--paper)}

.welcome-float{position:fixed;left:22px;bottom:22px;z-index:6;width:min(350px,calc(100vw - 32px));border:1px solid var(--accent);border-radius:16px;background:var(--paper);box-shadow:0 6px 30px #50372f26}.welcome-float:not([open]){width:auto;max-width:calc(100vw - 180px)}.welcome-float summary{padding:14px 20px;cursor:pointer;list-style:none;background:var(--pink);border-radius:16px;font-size:.875rem;line-height:1.5}.welcome-float summary strong{font-size:1.1rem}.welcome-float[open] summary{border-radius:16px 16px 0 0}.welcome-content{position:relative;padding:24px;max-height:65vh;overflow:auto}.welcome-content h2{font-size:1.7rem;padding-right:20px}.welcome-content p{line-height:1.6}.welcome-content>button{position:absolute;right:10px;top:8px;border:0;background:transparent;font-size:1.7rem;padding:5px 10px;color:var(--ink)}.welcome-content input[type=email],.coupon-box input{display:block;width:100%;padding:12px;border:1px solid var(--line);border-radius:8px;font:inherit;margin:8px 0 14px}.subscribe-consent{display:flex;gap:10px;font-size:.875rem;line-height:1.5;margin:14px 0}.subscribe-consent input{flex:none;width:18px;height:18px;margin-top:2px}.welcome-content .primary{width:100%}.coupon-box{border-top:1px solid var(--line);padding:20px 0;margin:14px 0}.coupon-box p{line-height:1.6;font-size:.875rem}.coupon-box button{margin-top:6px}#coupon-saving{font-weight:bold;color:var(--accent)}[hidden]{display:none!important}@media(max-width:620px){.welcome-float{left:16px;bottom:82px}.welcome-float:not([open]){max-width:calc(100vw - 32px)}.welcome-content{max-height:55vh}}

.checkout-error{background:#fff0f0!important;color:#8d1828!important;border:2px solid #b52336;border-radius:8px;padding:14px;font-weight:600;line-height:1.6}#coupon-status:empty{display:none}#remove-welcome{width:100%;text-align:center;line-height:1.5;border:1px solid var(--accent);border-radius:8px;padding:12px}#apply-welcome{border:1px solid var(--accent);border-radius:8px;padding:12px;width:100%}
