@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Caslon+Display&display=swap');
:root{--cream:#fbf8e8;--green:#00634f;--yellow:#f7df48;--red:#a62e39;--ink:#222a24}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--cream);color:var(--ink);font:13px 'DM Sans',Arial,sans-serif}button,a,input{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}button{border:0;background:none;color:inherit}button:focus-visible,a:focus-visible{outline:2px solid var(--red);outline-offset:5px}[hidden]{display:none!important}.announcement{background:var(--green);color:#fff9d4;text-align:center;padding:9px;font-size:10px;letter-spacing:.7px}.announcement span{margin-left:25px;opacity:.7}header{height:85px;display:flex;align-items:center;justify-content:space-between;padding:0 6%;border-bottom:1px solid #e6e1c9;background:var(--cream);position:relative;z-index:5}.logo{display:flex;align-items:center;color:var(--green);gap:7px}.logo>b{font:bold 57px Georgia;color:#e6cb32;line-height:.8}.logo>div{font:29px Georgia;line-height:.9}.logo small{display:block;font:8px Arial;letter-spacing:2px}.logo em{display:block;font:6px Arial;letter-spacing:3px;margin-top:6px}nav{display:flex;gap:29px;font-size:11px;font-weight:600}nav a:nth-child(4){color:var(--green)}.tools{display:flex;gap:16px;align-items:center;font-size:24px}.tools span{font-size:10px}.tools sup{font-size:9px;background:var(--red);color:white;border-radius:50%;padding:2px 4px}.hero{position:relative;overflow:hidden;border-radius:0 0 24px 24px}.hero img{display:block;width:100%;aspect-ratio:1.97;object-fit:cover}.hero-link{position:absolute;left:13.5%;top:39%;width:9%;height:6%}.hero.generated img{aspect-ratio:1.97;object-fit:cover}.hero-copy{position:absolute;left:10%;top:12%;color:var(--cream)}.hero-copy h1{font:clamp(32px,4.8vw,76px)/1.04 'Libre Caslon Display',Georgia;margin:18px 0 25px}.eyebrow{color:var(--yellow);font-size:11px;letter-spacing:2px;font-weight:700}.yellow-button{background:var(--yellow);padding:13px 24px;font-weight:700;font-size:11px;border-radius:3px}.slider-dots{display:flex;justify-content:center;gap:4px;padding:12px}.slider-dots button{height:5px;width:5px;border-radius:8px;background:#dbd2a1;padding:0}.slider-dots .active{width:19px;background:var(--green);box-shadow:0 0 0 4px var(--yellow)}h2{font:32px 'Libre Caslon Display',Georgia;text-align:center;margin:0}section>h2:before,section>h2:after{content:'❖';color:var(--red);font-size:16px;margin:0 17px;vertical-align:middle}.categories{padding:31px 8% 45px}.categories>div{display:flex;justify-content:space-between;gap:18px;max-width:1050px;margin:32px auto 0}.category{width:110px;transition:transform .2s}.category:hover{transform:translateY(-5px)}.category img{width:100%;height:85px;object-fit:contain;mix-blend-mode:multiply}.category span{display:block;font-size:12px;font-weight:600;line-height:1.3;margin-top:8px}.category i{font-style:normal;background:var(--yellow);display:block;font-size:8px;width:max-content;margin:-2px auto 2px;padding:1px 5px}.shop-panel{background:#fff;border-radius:28px;padding:45px max(7%,calc((100% - 1100px)/2))}.subtitle{text-align:center;font-size:11px;color:#707469;margin:9px 0 28px}.collections,.products{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.collection img{width:100%;border-radius:14px;display:block;transition:transform .25s}.collection:hover img{transform:translateY(-4px)}.collection span{display:block;text-align:center;font-weight:600;margin:14px 0}.best-title{margin:42px 0 27px}.product{text-align:left;min-width:0}.product-photo{position:relative;background:#f2f3f0;border-radius:12px;overflow:hidden;aspect-ratio:1}.product-photo>button:first-child{padding:0;width:100%;height:100%}.product img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.product:hover img{transform:scale(1.04)}.badge{position:absolute;left:10px;top:11px;font-size:8px;background:var(--green);color:white;padding:5px 7px;border-radius:2px;pointer-events:none}.heart{position:absolute;right:8px;top:8px;background:#fff9;border-radius:50%;font-size:22px}.product h3{font-size:13px;font-weight:600;margin:13px 0 7px;cursor:pointer}.product p{font-size:11px;margin:0 0 12px}.product p span{font-size:9px;color:#777;margin-left:6px}.product-bottom{display:flex;align-items:center;gap:8px}.product select{max-width:75px;border:1px solid #ddd9c7;border-radius:4px;padding:6px 4px;font-size:10px;background:var(--cream)}.add{background:var(--yellow);border-radius:4px;flex:1;padding:9px 2px;font-size:10px;font-weight:700}.green-button{display:block;background:var(--green);color:white;padding:12px 25px;border-radius:3px;margin:27px auto 0;font-size:11px}.green-button span{margin-left:18px}.filter-row{display:flex;justify-content:space-between;margin-bottom:15px;color:var(--green)}.values{padding:55px 9%}.values>div{display:flex;justify-content:space-between;gap:25px;margin-top:32px}.values article{text-align:center;flex:1}.values b{color:var(--red);font-size:39px}.values h3{font-size:12px;margin:13px 0 7px}.values article p{font-size:10px;color:#777}.gifting{display:grid;grid-template-columns:1fr 1.1fr;margin:5px 7%;background:var(--green);border-radius:20px;overflow:hidden;color:var(--cream)}.gifting>div{padding:42px}.gifting h2{text-align:left;font-size:45px;margin:18px 0}.gifting p{line-height:1.8;color:#e3e8cb;font-size:12px;margin-bottom:22px}.gifting img{width:100%;height:100%;object-fit:cover}.testimonials{padding:55px 10% 30px}.quote{text-align:center;border:1px solid #e8e2c8;border-radius:10px;max-width:650px;margin:auto;padding:15px 20px 25px}.quote>span{font:45px Georgia;color:#d9bd25}.quote p{font:27px/1.4 'Libre Caslon Display',Georgia;margin:0 0 15px}.quote small{font-size:10px;color:#777}.stories{padding:35px 10% 65px}.stories>div{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.story{text-align:left;padding:0}.story img{width:100%;aspect-ratio:1.6;object-fit:cover;border-radius:12px}.story h3{font:18px/1.25 'Libre Caslon Display',Georgia;margin:12px 0}.story span{font-size:8px;color:var(--green);letter-spacing:1px}footer{background:var(--green);color:#d9e5cf;border-radius:28px 28px 0 0;padding:40px 10% 18px}.social-strip>span{font-size:11px;color:#e2d65d}.social-strip>div{display:flex;gap:10px;margin-top:13px;overflow:hidden}.social-strip img{width:calc((100% - 50px)/6);aspect-ratio:1;object-fit:cover;border-radius:10px}.footer-brand{display:flex;gap:45px;align-items:center;margin:30px 0}.footer-brand .logo{color:#fff5cf}.footer-brand p{font-size:11px;line-height:1.5;border-left:1px solid #5d9478;padding-left:24px}.divider{display:flex;align-items:center;gap:15px;color:var(--yellow)}.divider:before,.divider:after{content:'';height:1px;background:#277e67;flex:1}.footer-links{display:grid;grid-template-columns:1fr 1fr 1.3fr 1.6fr;gap:25px;margin:30px 0}.footer-links h4{font-size:9px;letter-spacing:1.5px;color:#a4bca0}.footer-links a{display:block;font-size:10px;line-height:2.2}.help{background:#ffffff08;padding:15px 20px;border-radius:10px}.help h3{font:25px 'Libre Caslon Display',Georgia;color:var(--yellow);margin:0}.help p{font-size:11px}.help small{display:block;font-size:9px;margin-top:14px}.copyright{border-top:1px solid #277e67;padding-top:15px;font-size:8px}.copyright span{float:right}dialog{border:0;color:var(--ink);padding:28px;background:var(--cream);border-radius:16px;max-width:580px;width:92%}dialog::backdrop{background:#00291ed0}.drawer-head{display:flex;justify-content:space-between;align-items:center}.drawer-head h2{font-size:29px}.drawer-head button,#closeArticle{font-size:28px}.cart-row{display:flex;gap:16px;align-items:center;border-bottom:1px solid #e4dec6;padding:20px 0}.cart-row img{width:75px;height:75px;object-fit:cover;border-radius:8px}.cart-row>div{flex:1}.cart-row h3{font-size:13px}.cart-row button{padding:7px}.cart-row small{display:block;margin-bottom:8px}#cartTotal{font-weight:600;margin-top:20px;text-align:right}.demo-note{font-size:10px;text-align:center;color:#777}#toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,20px);background:var(--green);color:white;padding:14px 28px;border-radius:6px;z-index:20;opacity:0;transition:.2s;pointer-events:none}#toast.show{opacity:1;transform:translate(-50%,0)}#searchBox{display:flex;padding:20px 10%;gap:10px;background:#f2eed5}#search{flex:1;border:1px solid #d6cfb1;padding:13px;background:#fffdf4;border-radius:5px}.detail-wrap{max-width:1100px;margin:40px auto 80px;padding:0 25px}.breadcrumb{font-size:10px;margin-bottom:25px}.detail-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:55px}.detail-image{width:100%;border-radius:16px}.detail-info h1{font:43px 'Libre Caslon Display',Georgia;margin:15px 0}.detail-info .stars{color:var(--green)}.detail-price{font-size:23px;margin:22px 0}.detail-info>p{line-height:1.8}.detail-info .add{width:100%;margin-top:18px;padding:14px}.detail-info select{padding:10px;background:var(--cream);border:1px solid #ccc}.detail-info details{border-bottom:1px solid #ded8bf;padding:15px 0;font-size:11px}.detail-info summary{cursor:pointer}.detail-info details p{line-height:1.8}.benefits{display:flex;gap:20px;margin:25px 0;font-size:10px;color:var(--green)}#articleContent h2{text-align:left;font-size:35px}#articleContent p{line-height:1.8}#closeArticle{float:right}a:hover{opacity:.8}
@media(min-width:1500px){body{max-width:1700px;margin:auto}}@media(max-width:800px){header{padding:0 5%;height:72px}nav{gap:14px;font-size:10px}nav a:nth-child(4){display:none}.tools{gap:6px}.tools span{display:none}.logo>div{font-size:23px}.logo>b{font-size:45px}.announcement span{display:none}.categories{padding:25px 5%}.categories>div{gap:8px;overflow-x:auto}.category{min-width:80px}.category img{height:60px}.category span{font-size:10px}h2{font-size:27px}.shop-panel{padding:32px 5%}.collections,.products{gap:12px}.product-bottom{flex-wrap:wrap}.add{min-width:70px}.gifting{margin:10px 5%}.gifting>div{padding:25px}.gifting h2{font-size:32px}.values{padding:40px 5%}.values>div{gap:10px}.values h3{font-size:10px}.stories{padding:35px 5%}.footer-links{gap:15px}footer{padding:35px 6%}.detail-grid{gap:25px}.hero-copy h1{font-size:5vw}.hero-copy .yellow-button{padding:9px 14px;font-size:9px}.hero-copy .eyebrow{font-size:8px}}
@media(max-width:520px){nav{display:none}.hero img,.hero.generated img{aspect-ratio:1.35;object-position:62% center}.hero-copy{left:7%;top:10%}.hero-copy h1{font-size:32px}.hero-copy .eyebrow{font-size:8px}.hero-link{left:0;top:0;width:100%;height:100%}.categories>div{justify-content:flex-start}.collections,.products{grid-template-columns:repeat(2,1fr)}.collection span{font-size:11px}.best-title{margin:28px 0 20px}.values>div{flex-wrap:wrap;justify-content:center}.values article{flex:0 0 28%}.values h2{font-size:24px}section>h2:before,section>h2:after{margin:0 9px;font-size:12px}.gifting{grid-template-columns:1fr}.gifting img{height:200px;grid-row:1}.gifting>div{padding:28px}.gifting h2{font-size:36px}.stories>div{grid-template-columns:1fr}.story img{aspect-ratio:2}.story h3{font-size:22px}.testimonials{padding:35px 5%}.footer-links{grid-template-columns:1fr 1fr}.footer-brand{gap:15px}.footer-brand p{font-size:9px;padding-left:12px}.social-strip img{min-width:90px}.copyright span{float:none;display:block;margin-top:8px}.detail-grid{grid-template-columns:1fr}.detail-wrap{margin-top:25px}.detail-info h1{font-size:36px}}
/* A little movement, like the joy of opening a box of sweets. */
.reading-progress{position:fixed;left:0;top:0;width:100%;height:3px;background:var(--yellow);transform:scaleX(0);transform-origin:left;z-index:30;pointer-events:none}
.back-to-top{position:fixed;right:24px;bottom:24px;width:44px;height:44px;border-radius:50%;background:var(--green);color:var(--yellow);font-size:24px;box-shadow:0 4px 18px #003e3026;z-index:10;transition:transform .25s,box-shadow .25s}
.back-to-top:hover{transform:translateY(-5px);box-shadow:0 8px 24px #003e3040}
.green-button,.yellow-button,.add{position:relative;overflow:hidden;transition:transform .25s,box-shadow .25s,background .25s}
.green-button:hover,.yellow-button:hover,.add:hover{transform:translateY(-3px);box-shadow:0 6px 16px #003e3020}
.green-button:active,.yellow-button:active,.add:active{transform:translateY(0) scale(.97)}
.green-button span{display:inline-block;transition:transform .25s}.green-button:hover span{transform:translateX(5px)}
.category img{transition:transform .45s cubic-bezier(.2,.8,.2,1)}
.category:hover img{transform:translateY(-5px) rotate(-5deg) scale(1.08)}
.collection img{transition:transform .4s,box-shadow .4s}.collection:hover img{transform:translateY(-6px) rotate(-1.5deg);box-shadow:0 12px 24px #57371425}
.product-photo{transition:box-shadow .3s}.product:hover .product-photo{box-shadow:0 10px 25px #003e3015}
.heart{transition:color .2s,background .2s,transform .25s}.heart:hover{transform:scale(1.16);color:var(--red);background:#fff}.heart[aria-pressed=true]{color:var(--red)}
.story img{transition:transform .4s,box-shadow .4s}.story:hover img{transform:translateY(-5px) rotate(1deg);box-shadow:0 10px 22px #57371420}
.values b{display:inline-block;transition:transform .4s}.values article:hover b{transform:rotate(15deg) scale(1.15)}
nav a{position:relative}nav a:after{content:'';position:absolute;left:0;bottom:-8px;height:2px;width:100%;background:var(--green);transform:scaleX(0);transform-origin:left;transition:transform .25s}nav a:hover:after{transform:scaleX(1)}
.social-strip img{transition:transform .35s}.social-strip img:hover{transform:translateY(-4px) rotate(-3deg)}
@media(prefers-reduced-motion:no-preference){
.hero{animation:hero-arrive .85s ease-out both}
dialog[open]{animation:dialog-arrive .3s cubic-bezier(.2,.8,.2,1)}
dialog[open]::backdrop{animation:backdrop-arrive .25s ease-out}
#detail:not([hidden]){animation:detail-arrive .4s ease-out}
#searchBox:not([hidden]){animation:detail-arrive .25s ease-out}
@keyframes hero-arrive{from{opacity:0;translate:0 12px}to{opacity:1;translate:0 0}}
@keyframes dialog-arrive{from{opacity:0;transform:translateY(22px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes backdrop-arrive{from{opacity:0}to{opacity:1}}
@keyframes detail-arrive{from{opacity:0;translate:0 14px}to{opacity:1;translate:0 0}}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.category:hover,.category:hover img,.collection:hover img,.story:hover img,.values article:hover b,.social-strip img:hover,.product:hover img,.back-to-top:hover,.green-button:hover,.yellow-button:hover,.add:hover{transform:none}}
/* French patisserie photography and longer French labels. */
.french-hero{background:#002d22;isolation:isolate}
.french-hero>img{height:auto;aspect-ratio:1.97;object-fit:cover}
.french-hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#00281ee6 0%,#00281e8c 28%,transparent 60%);z-index:0;pointer-events:none}
.french-hero .hero-copy{z-index:1;left:9%;top:14%}
.french-hero h1{font-size:clamp(36px,5.2vw,82px);margin:18px 0 32px}
.hero-cta{display:inline-block}.hero-cta:hover{opacity:1}
.slider-dots>a{height:5px;width:5px;border-radius:8px;display:block}
.logo>div{font-size:33px}.logo em{letter-spacing:1.5px;font-size:6px}
.category img{height:90px;mix-blend-mode:multiply;border-radius:50%}
.collection img{aspect-ratio:1;object-fit:cover}
.product h3 button{text-align:left;font:inherit;padding:0}
.product-bottom select{max-width:100px}
.detail-image{height:auto;aspect-ratio:1;object-fit:cover}
.product-note{color:var(--green);font-size:11px}
.cart-line-total{font-size:11px;white-space:nowrap;flex:0!important}
.gifting{align-items:stretch}.gifting>img{min-height:330px;max-height:430px;object-fit:cover}
@media(max-width:800px){.french-hero .hero-copy{left:7%;top:12%}.french-hero h1{font-size:5.3vw;margin:13px 0 23px}.french-hero .eyebrow{font-size:8px}.french-hero .yellow-button{font-size:10px;padding:10px 17px}.category img{height:70px}.values>h2{font-size:27px}}
@media(max-width:520px){.french-hero>img{aspect-ratio:.95;object-position:68% center}.french-hero:after{background:linear-gradient(90deg,#00281ed9, #00281e65 60%,transparent)}.french-hero .hero-copy{top:15%;left:7%}.french-hero h1{font-size:43px;line-height:1.04;margin:19px 0 28px}.french-hero .eyebrow{font-size:7px;letter-spacing:1.5px}.french-hero .yellow-button{padding:13px 19px;font-size:10px}.categories h2,.values>h2{font-size:25px}.category{min-width:85px}.category img{height:70px}.gifting>img{min-height:0;height:240px}.cart-row{gap:8px}.cart-row img{width:50px;height:50px}.cart-line-total{font-size:10px}.product-bottom select{max-width:100%;width:100%}.product .add{padding:10px}.detail-price{font-size:21px}}
