/* Motion inspired by layered editorial websites. */
.hero-line{display:block;overflow:hidden;padding:0 .12em .065em 0;margin-right:-.12em;margin-bottom:-.065em}
.hero-line>span{display:block;transform-origin:0 100%}
.product-hero{--pointer-x:0;--pointer-y:0}
.motion-heart{position:absolute;pointer-events:none;z-index:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 95'%3E%3Cpath fill='%23fff6f8' d='M50 91C42 83 5 58 5 30C5 4 36-3 50 19C64-3 95 4 95 30C95 58 58 83 50 91Z'/%3E%3C/svg%3E") center/contain no-repeat;width:80%;height:80%;left:8%;top:3%;opacity:.52;transform:rotate(-16deg);animation:heart-drift 10s ease-in-out infinite;translate:calc(var(--pointer-x)*-8px) calc(var(--pointer-y)*-8px);transition:translate .6s ease-out}
.motion-heart.heart-small{width:24%;height:24%;left:auto;right:0;top:6%;opacity:.6;transform:rotate(18deg);animation-delay:-4s;animation-duration:8s}
.hero-art.product-hero>img.hero-pack{animation:pack-drift 7s ease-in-out infinite;rotate:calc(var(--pointer-x)*2deg);transition:transform .8s cubic-bezier(.2,.75,.2,1),rotate .7s ease-out;will-change:translate}
.hero-art.product-hero>img.hero-pack.front-pack{animation-delay:-3.5s;animation-duration:8s}
.product-hero .hero-orbit{animation:orbit-breathe 12s ease-in-out infinite}
.product-hero .seal{animation:seal-rock 9s ease-in-out infinite}
.product-card .product-visual::before{transition:transform .8s cubic-bezier(.2,.75,.2,1),opacity .6s}
.product-card:hover .product-visual::before,.product-card:focus-visible .product-visual::before{transform:rotate(-5deg) scale(1.05)}
.product-card:nth-child(even):hover .product-visual::before,.product-card:nth-child(even):focus-visible .product-visual::before{transform:rotate(4deg) scale(1.05)}
.product-card .card-arrow{transition:transform .4s,background .4s,color .4s}
.product-card:hover .card-arrow,.product-card:focus-visible .card-arrow{transform:rotate(45deg);background:var(--pink);color:white}
.product-card:focus-visible .product-visual img{transform:translateY(-7px) rotate(-3deg) scale(1.035)}
.motion-reveal{opacity:0;transform:translateY(28px);transition:opacity .85s cubic-bezier(.2,.75,.2,1) var(--reveal-delay,0ms),transform 1.05s cubic-bezier(.2,.75,.2,1) var(--reveal-delay,0ms)}
.motion-reveal.motion-visible,.motion-reveal:focus-within,.motion-reveal:focus-visible{opacity:1;transform:none}
.product-card.motion-reveal{transform:translateY(35px) scale(.98)}
.product-card.motion-visible{transform:none}
.motion-paused .hero-pack,.motion-paused .motion-heart,.motion-paused .hero-orbit,.motion-paused .seal,.page-motion-paused *{animation-play-state:paused!important}
@keyframes pack-drift{0%,100%{translate:0 0}50%{translate:0 -12px}}
@keyframes heart-drift{0%,100%{scale:1;rotate:0deg}50%{scale:1.045;rotate:5deg}}
@keyframes orbit-breathe{0%,100%{scale:1;opacity:.6}50%{scale:1.08;opacity:1}}
@keyframes seal-rock{0%,100%{rotate:0deg}50%{rotate:8deg}}
@media(max-width:600px){.hero-art.product-hero>img.hero-pack{animation-duration:9s}.motion-reveal{transform:translateY(18px)}.product-card.motion-reveal{transform:translateY(22px)}.product-card.motion-visible{transform:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.motion-reveal,.product-card.motion-reveal{opacity:1;transform:none;transition:none}.hero-pack,.motion-heart,.hero-orbit,.seal{animation:none!important;translate:none!important;rotate:none!important}.product-card:hover .product-visual img,.product-card:focus-visible .product-visual img{transform:none}.product-card:hover .product-visual::before,.product-card:nth-child(even):hover .product-visual::before{transform:rotate(-12deg)}.hero-line>span{transform:none!important;opacity:1!important}.motion-heart{transition:none}}
@media(max-width:600px){.detail-visual{position:relative}}

/* Open hero composition with a continuous stream of rising pink hearts. */
.hero-art.product-hero{background:transparent;overflow:hidden}
.product-hero::after{display:none}
.product-hero .hero-orbit{display:none}
.heart-sky{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}
.rising-heart{position:absolute;top:0;left:var(--heart-x);width:var(--heart-size);height:100%;opacity:0;animation:heart-rise var(--heart-duration) linear var(--heart-delay) infinite;pointer-events:none}
.rising-heart::before{content:"";display:block;width:100%;aspect-ratio:100/95;background:#e379a0;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 95'%3E%3Cpath d='M50 91C42 83 5 58 5 30C5 4 36-3 50 19C64-3 95 4 95 30C95 58 58 83 50 91Z'/%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 95'%3E%3Cpath d='M50 91C42 83 5 58 5 30C5 4 36-3 50 19C64-3 95 4 95 30C95 58 58 83 50 91Z'/%3E%3C/svg%3E") center/contain no-repeat}
.rising-heart:nth-child(3n)::before{background:#F890A5}
.rising-heart:nth-child(3n+1)::before{background:#F890A5}
.motion-paused .rising-heart{animation-play-state:paused!important}
@keyframes heart-rise{0%{transform:translate3d(0,110%,0) rotate(var(--heart-angle));opacity:0}12%{opacity:var(--heart-opacity)}48%{transform:translate3d(var(--heart-sway),40%,0) rotate(calc(var(--heart-angle) + 12deg))}78%{opacity:var(--heart-opacity)}100%{transform:translate3d(calc(var(--heart-sway)*-.4),-36%,0) rotate(calc(var(--heart-angle) - 8deg));opacity:0}}
@media(max-width:600px){.rising-heart{width:calc(var(--heart-size)*.75)}.rising-heart:nth-child(n+19){display:none}}
@media(prefers-reduced-motion:reduce){.heart-sky{display:none}.rising-heart{animation:none}}
.heart-sky{-webkit-mask-image:linear-gradient(to top,transparent,black 13%,black 78%,transparent);mask-image:linear-gradient(to top,transparent,black 13%,black 78%,transparent)}
.rising-heart{left:calc(var(--heart-x)*.78)}
/* Hearts rise across both columns of the opening section. */
.hero{position:relative;isolation:isolate}
.hero>.heart-sky{z-index:-1;inset:0}
.hero>.heart-sky .rising-heart{left:calc(var(--heart-x)*.92)}
@media(max-width:600px){.hero>.heart-sky .rising-heart{left:calc(var(--heart-x)*.74)}.hero>.heart-sky .rising-heart:nth-child(n+19){display:block}.hero>.heart-sky .rising-heart:nth-child(n+27){display:none}}
/* Separate lanes and phases keep hearts distributed without vertical piles. */
.hero>.heart-sky .rising-heart{left:var(--heart-x)}
@keyframes heart-rise{0%{transform:translate3d(0,110%,0);opacity:0}12%{opacity:var(--heart-opacity)}48%{transform:translate3d(var(--heart-sway),40%,0)}78%{opacity:var(--heart-opacity)}100%{transform:translate3d(0,-36%,0);opacity:0}}
.rising-heart::before{transform:rotate(var(--heart-angle))}
@media(max-width:600px){.hero>.heart-sky .rising-heart{left:calc(var(--heart-x)*.91);width:calc(var(--heart-size)*.62)}.hero>.heart-sky .rising-heart:nth-child(n){display:block}.hero>.heart-sky .rising-heart:nth-child(4n){display:none}}

/* Hero badge in the site's pink palette. */
.product-hero .seal{background:#f9e3eb;color:var(--pink);outline-color:var(--pink)}

/* Keep both labels inside the badge's inner ring. */
.product-hero .seal{width:112px;height:112px;padding:16px 12px;gap:5px;flex-shrink:0;box-sizing:border-box}
.product-hero .seal span{display:block;max-width:100%;font-family:'Myriad Pro',sans-serif;font-size:8px;font-weight:600;letter-spacing:1px;line-height:1.2;text-align:center;white-space:nowrap;color:#084781}
.product-hero .seal b{font-size:34px;line-height:1;font-weight:400}
@media(max-width:900px){.product-hero .seal{width:100px;height:100px;padding:15px 10px;gap:4px}.product-hero .seal span{font-size:7px;letter-spacing:.8px}.product-hero .seal b{font-size:30px}}
@media(max-width:600px){.product-hero .seal{width:96px;height:96px;padding:14px 10px;gap:4px}.product-hero .seal span{font-size:6.5px;letter-spacing:.7px}.product-hero .seal b{font-size:28px}}

.hero-slideshow-toggle{position:absolute;top:15px;right:16px;z-index:5;display:grid;place-items:center;width:30px;height:30px;padding:0;border:1px solid #24254940;border-radius:50%;background:var(--cream);color:var(--ink);font-family:'Myriad Pro',sans-serif;font-size:12px;line-height:1;transition:background .2s,border-color .2s}
.hero-slideshow-toggle:hover{background:#f9e3eb;border-color:var(--pink)}
.hero-slideshow-toggle:disabled{opacity:.5;cursor:default}
@media(max-width:600px){.hero-slideshow-toggle{top:15px;right:9px;width:28px;height:28px}.product-hero .image-tag{max-width:calc(100% - 65px);font-size:8px;line-height:1.5}}

/* Editorial styling for the hero's supporting copy. */
.hero-copy>.eyebrow{color:#242549;font-size:10px;font-weight:600;letter-spacing:1.7px}
.hero-bottom>p{font-family:'Montauk Pro',Georgia,serif;font-style:italic;font-weight:500;font-size:17px;line-height:1.75;letter-spacing:-.2px;color:#414367}
.product-hero .photo-note>span{display:inline-flex;align-items:center;gap:10px;font-family:'Myriad Pro',sans-serif;font-size:9px;font-weight:600;letter-spacing:1.8px;color:#084781;line-height:1.5}
.product-hero .photo-note>span::before{content:"";display:block;width:24px;height:1px;background:var(--pink)}
.product-hero .photo-note p{margin-top:12px;font-family:'Montauk Pro',Georgia,serif;font-weight:500;font-size:28px;line-height:1.2;letter-spacing:-.7px;color:var(--ink)}
.product-hero .photo-note p>span,.product-hero .photo-note p>em{display:block}
.product-hero .photo-note p>em{font-size:1em;letter-spacing:-.5px;color:var(--pink);margin-top:3px}
.hero-foot{color:#68667b;font-size:8px;letter-spacing:1.2px}
@media(max-width:900px){.hero-bottom>p{font-size:16px}.product-hero .photo-note p{font-size:24px}.product-hero .photo-note>span{font-size:8px;letter-spacing:1.2px}}
@media(max-width:600px){.hero-copy>.eyebrow{font-size:8px;letter-spacing:1.2px}.hero-bottom>p{font-size:16px}.product-hero .photo-note p{font-size:24px}.product-hero .photo-note>span{font-size:8px;letter-spacing:1.1px}.product-hero .photo-note>span::before{width:18px}.hero-foot{font-size:7px;letter-spacing:1px}}
@media(max-width:900px){.product-hero .photo-note{max-width:calc(100% - 132px)}.product-hero .photo-note p{font-size:22px}}
@media(max-width:600px){.product-hero .photo-note{max-width:calc(100% - 124px)}.product-hero .photo-note p{font-size:20px}}

/* Stable headline area: all five messages share the same four-line layout. */
.hero-copy h1{height:clamp(254px,28.62vw,463px);display:flex;flex-direction:column;justify-content:center}
.hero-copy h1[data-headline="1"]{font-size:clamp(45px,5vw,78px);letter-spacing:-3.5px}
.hero-copy h1[data-headline="2"]{font-size:clamp(52px,5.9vw,92px);letter-spacing:-4px}
.hero-copy h1[data-headline="3"]{font-size:clamp(56px,6.2vw,98px);letter-spacing:-4px}
.hero-copy h1[data-headline="4"]{font-size:clamp(56px,6.3vw,100px);letter-spacing:-4px}
@media(max-width:600px){
 .hero-copy h1{height:clamp(254px,62.72vw,376px)}
 .hero-copy h1[data-headline="1"]{font-size:clamp(32px,10.6vw,58px);letter-spacing:-2px}
 .hero-copy h1[data-headline="2"]{font-size:clamp(39px,12.6vw,69px);letter-spacing:-2.5px}
 .hero-copy h1[data-headline="3"]{font-size:clamp(42px,13.6vw,75px);letter-spacing:-2.8px}
 .hero-copy h1[data-headline="4"]{font-size:clamp(42px,13.5vw,74px);letter-spacing:-2.8px}
}

/* Uniform typography across all five rotating headlines. */
.hero-copy h1,.hero-copy h1[data-headline]{font-family:'Myriad Pro',sans-serif;font-size:clamp(40px,5vw,80px);font-style:normal;font-weight:500;letter-spacing:-.05em;line-height:1.08;height:4.32em}
.hero-copy h1 em{font-family:inherit;font-size:1em;font-style:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit}
@media(max-width:600px){.hero-copy h1,.hero-copy h1[data-headline]{font-size:clamp(30px,10.2vw,56px);letter-spacing:-.045em;height:4.32em}}

/* Balanced editorial hero, matching the header typography. */
.hero{align-items:center;padding-top:32px}
.hero-copy{display:flex;flex-direction:column;justify-content:center;padding:20px 0 40px;min-width:0}
.hero-copy>.eyebrow{margin-bottom:28px}
.hero-copy h1,.hero-copy h1[data-headline]{font-family:'Montauk Pro',Georgia,serif;font-style:italic;font-weight:600;font-size:clamp(40px,5vw,80px);letter-spacing:-.035em;line-height:1.15;height:4.6em;margin:0}
.hero-copy h1 em{font:inherit;letter-spacing:inherit;line-height:inherit}
.hero-art.product-hero{min-height:540px;width:100%;margin:0}
.hero-foot{padding-top:18px}
@media(min-width:1600px){.hero-art.product-hero{min-height:640px}}
@media(max-width:900px){.hero-art.product-hero{min-height:470px}.hero-copy>.eyebrow{margin-bottom:22px}}
@media(max-width:600px){.hero{padding-top:24px;gap:10px}.hero-copy{padding:12px 0 0}.hero-copy>.eyebrow{margin-bottom:22px}.hero-copy h1,.hero-copy h1[data-headline]{font-size:clamp(30px,10.2vw,56px);height:4.6em;letter-spacing:-.035em}.hero-art.product-hero{min-height:420px}.hero-foot{padding-top:12px}}

/* Lower the product caption slightly beneath the packs. */
.hero-art.product-hero .photo-note{bottom:10px}

/* Each format has its own card, including formats awaiting a supplied visual. */
.product-visual>.missing-visual{position:relative;z-index:1;min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--ink);text-align:center}
.product-visual>.missing-visual>span{font-family:'Montauk Pro',Georgia,serif;font-size:48px;font-style:italic;color:#084781}
.product-visual>.missing-visual>p{font-size:14px;line-height:1.6}
.product-card-meta>span:first-child{max-width:75%;line-height:1.5}

/* Product typography follows the header's editorial font. */
.product-card h3,.product-card>p,.product-card-meta,.product-category,.filters button,[data-category]{font-family:'Montauk Pro',Georgia,serif;font-style:italic}
.product-card-meta>span:first-child{font-size:22px;font-weight:600;letter-spacing:0;text-transform:none;color:var(--pink);max-width:100%;line-height:1.35}
.product-category{font-size:16px;font-weight:600;letter-spacing:.02em;text-transform:none}
@media(max-width:600px){.product-card-meta>span:first-child{font-size:20px}.product-category{font-size:15px}}

/* Pink product category labels. */
.product-category{color:var(--pink)}
[data-category]{color:var(--pink)}
[data-category].active{color:#fff;background:var(--pink);border-color:var(--pink)}

/* Compact catalogue introduction and unified controls. */
#produits{padding-top:48px;padding-bottom:64px}
#produits .section-top{align-items:center;margin-bottom:22px}
#produits .section-top>.eyebrow{color:var(--pink);font-size:10px;letter-spacing:1.5px}
#produits .section-top>p:not(.eyebrow){font-family:'Montauk Pro',Georgia,serif;font-style:italic;font-size:15px;letter-spacing:0;line-height:1.35;text-align:right}
#produits .heading-row{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(240px,1fr);align-items:center;gap:32px;margin-bottom:28px}
#produits h2{font-family:'Montauk Pro',Georgia,serif;font-style:italic;font-weight:500;font-size:clamp(36px,4.3vw,66px);line-height:1.08;letter-spacing:-.035em;margin:0}
#produits h2 em{font:inherit;color:var(--pink)}
#produits .heading-row>p{font-size:13px;line-height:1.7;max-width:320px;margin:0;padding:0;justify-self:end}
#produits .catalogue-tools{align-items:center;gap:20px;padding:18px 0;border-top:1px solid #dbd1d3;border-bottom:1px solid #dbd1d3}
#produits .filters{gap:8px}
#produits .filters button{font-size:15px;padding:9px 18px;line-height:1.3;color:var(--pink)}
#produits .filters button.active,#produits .filters button:hover{background:var(--pink);color:white;border-color:var(--pink)}
#produits .filters button:focus-visible{outline:2px solid var(--pink);outline-offset:3px}
#produits .product-search{min-width:0;width:260px;padding:10px 14px;border:1px solid #dbd1d3;border-radius:30px}
#produits .catalogue-status{margin:16px 0}
@media(max-width:700px){#produits{padding-top:32px;padding-bottom:40px}#produits .section-top{margin-bottom:20px}#produits .section-top>p:not(.eyebrow){font-size:12px}#produits .heading-row{grid-template-columns:1fr;gap:16px;margin-bottom:22px}#produits .heading-row>p{justify-self:start;max-width:none;font-size:12px}#produits .heading-row>p br{display:none}#produits .filters{gap:6px}#produits .filters button{font-size:13px;padding:8px 12px}#produits .product-search{width:100%}#produits .catalogue-tools{gap:14px}}

/* Streamlined product introduction. */
#produits{padding-top:28px}
#produits .heading-row{margin-bottom:20px;gap:24px}
#produits .heading-row>p{font-family:'Montauk Pro',Georgia,serif;font-style:italic;font-weight:500;font-size:18px;line-height:1.5;color:var(--ink)}
@media(max-width:700px){#produits{padding-top:24px}#produits .heading-row{gap:12px;margin-bottom:18px}#produits .heading-row>p{font-size:16px}}

/* Flowing pink marquee ribbon with soft parallel wave edges. */
.ribbon{padding:44px 0;margin:8px 0 0;mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201440%20140%22%20preserveAspectRatio%3D%22none%22%3E%3Cpath%20fill%3D%22white%22%20d%3D%22M0%2020%20C240%20-20%20480%2060%20720%2020%20S1200%20-20%201440%2020%20L1440%20120%20C1200%2080%20960%20160%20720%20120%20S240%2080%200%20120%20Z%22%2F%3E%3C%2Fsvg%3E");mask-size:100% 100%;mask-repeat:no-repeat;-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201440%20140%22%20preserveAspectRatio%3D%22none%22%3E%3Cpath%20fill%3D%22white%22%20d%3D%22M0%2020%20C240%20-20%20480%2060%20720%2020%20S1200%20-20%201440%2020%20L1440%20120%20C1200%2080%20960%20160%20720%20120%20S240%2080%200%20120%20Z%22%2F%3E%3C%2Fsvg%3E");-webkit-mask-size:100% 100%;-webkit-mask-repeat:no-repeat}
@media(max-width:600px){.ribbon{padding:34px 0}}

/* Satin ribbon with dimensional edges and curved travelling lettering. */
.ribbon.ribbon-sculpted{padding:0;margin:0;background:transparent;overflow:hidden;mask:none;-webkit-mask:none;height:clamp(140px,14.6vw,230px)}
.ribbon-sculpted>svg{display:block;width:100%;height:100%;overflow:visible}
@media(max-width:600px){.ribbon.ribbon-sculpted{height:140px}.ribbon-sculpted>svg{width:960px;max-width:none;position:relative;left:50%;transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.ribbon-sculpted animate{display:none}}

/* The ribbon rises from the lower left toward the upper right. */
.ribbon.ribbon-sculpted{height:clamp(170px,20vw,300px)}
@media(max-width:600px){.ribbon.ribbon-sculpted{height:170px}.ribbon-sculpted>svg{width:800px}}

/* Bring the ribbon directly beneath the hero artwork. */
.hero{padding-bottom:0}
.ribbon.ribbon-sculpted{margin-top:-38px;position:relative;z-index:1;pointer-events:none}
@media(max-width:600px){.ribbon.ribbon-sculpted{margin-top:-20px}}

/* Tighter transition from the ribbon into the catalogue. */
#produits{padding-top:0;margin-top:-38px;position:relative}
@media(max-width:700px){#produits{padding-top:0;margin-top:-20px}}
/* Orange-blossom recipe window. */
dialog.recipe-dialog{max-width:1080px;width:calc(100% - 36px);padding:0;border-radius:24px;max-height:92dvh;overscroll-behavior:contain}
.recipe-dialog[open]{animation:recipe-enter .35s ease-out}
.recipe-dialog .dialog-close{position:sticky;float:right;top:14px;margin:14px 14px -50px 0;z-index:5;background:var(--cream);width:36px;height:36px;box-shadow:0 2px 12px #24254920}
.recipe-cover{position:relative;height:300px;overflow:hidden}.recipe-cover>img{width:100%;height:100%;object-fit:cover}
.recipe-cover-label{position:absolute;bottom:20px;left:32px;background:var(--cream);border-radius:30px;padding:9px 18px;font:italic 18px 'Montauk Pro',Georgia,serif;color:var(--pink)}
.recipe-body{padding:32px 38px}.recipe-intro{display:grid;grid-template-columns:1fr 170px;gap:28px;align-items:center;margin-bottom:30px}
.recipe-intro h2{font:italic 500 clamp(32px,4vw,48px)/1.1 'Montauk Pro',Georgia,serif;letter-spacing:-1px;margin:12px 0}.recipe-intro h2 em{font:inherit;letter-spacing:inherit}
.recipe-intro>.eyebrow,.recipe-intro .eyebrow{color:var(--pink);font-size:9px}.recipe-intro p{color:#636272}
.recipe-product{text-align:center}.recipe-product img{width:125px;height:160px;object-fit:contain}.recipe-product span{display:block;font:italic 17px 'Montauk Pro',Georgia,serif}.recipe-product small{display:block;color:var(--pink);font-size:14px;margin-top:5px}
.recipe-facts{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}.recipe-facts>span{background:#f9e3eb;color:var(--pink);padding:9px 14px;border-radius:30px;font-size:12px}.recipe-facts b{margin-left:5px}
.recipe-columns{display:grid;grid-template-columns:1fr 1.55fr;gap:32px;align-items:start}.recipe-ingredients{background:#f9e8ed;border-radius:18px;padding:24px}.recipe-dialog h3{font:italic 26px 'Montauk Pro',Georgia,serif;letter-spacing:-.5px;margin:0 0 20px}.recipe-dialog h4{font:italic 600 19px 'Montauk Pro',Georgia,serif;color:var(--pink);margin:20px 0 10px}.recipe-ingredients ul{padding:0;list-style:none;margin:0}.recipe-ingredients li{padding:7px 0;border-bottom:1px solid #F890A515;font-size:13px;line-height:1.6}
.recipe-method ol{list-style:none;counter-reset:recipe;padding:0;margin:0}.recipe-method li{position:relative;padding:0 0 20px 42px;counter-increment:recipe}.recipe-method li:before{content:counter(recipe,decimal-leading-zero);position:absolute;left:0;top:0;color:var(--pink);font:italic 21px 'Montauk Pro',Georgia,serif}.recipe-method li h4{margin:0 0 7px}.recipe-dialog .recipe-method p{font-size:13px;line-height:1.8;color:#57566b}.recipe-icing{border-top:1px solid #F890A530;padding-top:4px}.recipe-source{font-size:10px!important;color:#777182;margin-top:28px;border-top:1px solid var(--line);padding-top:16px}.recipe-source a{color:var(--pink);text-decoration:underline}
@keyframes recipe-enter{from{opacity:0;transform:translateY(15px) scale(.98)}to{opacity:1;transform:none}}
@media(max-width:650px){dialog.recipe-dialog{width:calc(100% - 20px);border-radius:18px}.recipe-cover{height:210px}.recipe-cover-label{left:18px;font-size:15px}.recipe-body{padding:24px 20px}.recipe-intro{grid-template-columns:1fr 90px;gap:10px}.recipe-product img{width:85px;height:120px}.recipe-product span{font-size:14px}.recipe-product small{font-size:12px}.recipe-intro h2{font-size:31px}.recipe-intro p{font-size:12px}.recipe-columns{grid-template-columns:1fr;gap:26px}.recipe-ingredients{padding:20px}.recipe-facts{gap:6px}.recipe-facts>span{font-size:11px;padding:8px 10px}}
@media(prefers-reduced-motion:reduce){.recipe-dialog[open]{animation:none}}
#product-dialog.recipe-dialog{padding:0;width:calc(100% - 36px)}
@media(max-width:650px){#product-dialog.recipe-dialog{width:calc(100% - 20px)}}
/* Match the visible packaging size across recipe windows. */
.recipe-product{overflow:visible}
.milkshake-recipe .recipe-product img{transform:scale(1.8);transform-origin:50% 50%}
/* Centre the visible pack above its product name and format. */
.recipe-product{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.recipe-product>span{width:100%;text-align:center}
.milkshake-recipe .recipe-product img{position:relative;left:-10px}
@media(max-width:650px){.milkshake-recipe .recipe-product img{left:-7px}}
/* Show each recipe photograph in full, without banner cropping. */
.recipe-cover{height:auto;background:#f9e8ed}
.recipe-cover>img{display:block;width:100%;height:auto;object-fit:contain}
@media(max-width:650px){.recipe-cover{height:auto}.recipe-cover-label{bottom:12px;left:12px;max-width:calc(100% - 24px);font-size:14px;padding:8px 12px}}
/* Keep the original compact banner while fitting the complete photograph. */
.recipe-cover{height:300px;background:#f5e3e8}
.recipe-cover>img{width:100%;height:100%;object-fit:contain;object-position:center}
@media(max-width:650px){.recipe-cover{height:210px}}
/* Panoramic recipe imagery fills the compact banner edge to edge. */
.recipe-cover>img{object-fit:cover;object-position:center}

/* More readable product filters. */
#produits .filters button{font-size:19px;padding:10px 20px}
#produits .filters button span{font-size:12px}
@media(max-width:700px){#produits .filters button{font-size:17px;padding:9px 13px}}
.ice-tart-recipe .recipe-product img{transform:scale(1.6);transform-origin:center;position:relative;left:-8px}
@media(max-width:650px){.ice-tart-recipe .recipe-product img{left:-5px}}

/* Alsa heritage: a compact editorial timeline. */
.alsa-history{background:#fce7ed;padding:64px 6%;scroll-margin-top:30px}
.history-intro{display:grid;grid-template-columns:1fr 220px;gap:50px;align-items:center;max-width:1100px;margin:auto auto 42px}
.history-intro .eyebrow{color:#242549;letter-spacing:1.5px;font-size:11px}
.alsa-history h2{font:400 clamp(38px,5vw,70px)/1.08 'Montauk Pro',Georgia,serif;letter-spacing:-1px;margin:16px 0}
.alsa-history h2 em{font:inherit;letter-spacing:inherit;color:#d76d86}
.history-lead{font-family:'Myriad Pro',Arial,sans-serif;font-size:18px;line-height:1.65;max-width:580px;color:#57566b}
.history-emblem{width:100%;height:220px;object-fit:contain;filter:drop-shadow(0 10px 15px #a5436412)}
.history-timeline{max-width:1100px;margin:auto;position:relative;border-top:1px solid #24254920}
.history-event{display:grid;grid-template-columns:200px 1fr;gap:40px;padding:30px 0;border-bottom:1px solid #24254920}
.history-date{font:400 32px/1.25 'Montauk Pro',Georgia,serif;color:#ad4666;position:relative}
.history-event h3{font:400 29px/1.2 'Montauk Pro',Georgia,serif;margin:0 0 10px;letter-spacing:0}
.history-event p{font:400 17px/1.75 'Myriad Pro',Arial,sans-serif;max-width:740px;color:#57566b}
.history-footer{max-width:1100px;margin:30px auto 0;display:flex;align-items:center;justify-content:space-between;gap:20px}
.history-footer>span{font:400 25px 'Montauk Pro',Georgia,serif}
.history-cta{border:1px solid #24254940;border-radius:40px;padding:12px 22px;font:400 22px 'Montauk Pro',Georgia,serif;display:inline-flex;gap:22px;align-items:center;transition:background .2s}
.history-cta:hover{background:var(--pink)}
.history-source{max-width:1100px;margin:25px auto 0;font-size:11px;color:#706572}.history-source a{text-decoration:underline}
@media(max-width:650px){.alsa-history{padding:40px 6%}.history-intro{grid-template-columns:1fr 90px;gap:15px;margin-bottom:25px}.history-emblem{height:110px}.history-lead{font-size:16px}.history-event{grid-template-columns:1fr;gap:10px;padding:24px 0}.history-date{font-size:27px}.history-event h3{font-size:25px}.history-event p{font-size:16px}.history-footer{align-items:flex-start;flex-direction:column}.history-footer>span{font-size:23px}}

/* Full Alsa logo in the brand-history introduction. */
.history-intro{grid-template-columns:minmax(0,1fr) 300px}
.history-emblem{height:180px}
@media(max-width:650px){.history-intro{grid-template-columns:1fr}.history-emblem{width:220px;height:110px;justify-self:start}}

/* Exact supplied logo artwork with its complete pink ribbon. */
.history-emblem{height:auto;aspect-ratio:1881/836;object-fit:contain;filter:none;mix-blend-mode:multiply}
@media(max-width:650px){.history-emblem{width:min(100%,300px);height:auto}}
/* Give the full heritage logo more presence beside the introduction. */
.history-intro{grid-template-columns:minmax(0,1fr) minmax(320px,43%);gap:30px}
.history-emblem{width:100%;height:auto}
@media(max-width:650px){.history-intro{grid-template-columns:1fr;gap:20px}.history-emblem{width:min(100%,420px);justify-self:center}}
/* Visual brand story: alternating illustrated chapters. */
.history-chapters{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin:0 auto 30px;max-width:1100px}
.history-chapters a{border:1px solid #d76d8660;padding:9px 20px;border-radius:30px;font:24px 'Montauk Pro',Georgia,serif;transition:background .25s,color .25s,transform .25s}
.history-chapters a:hover,.history-chapters a[aria-current="step"]{background:var(--pink);color:var(--ink);transform:translateY(-2px)}
.history-timeline{border:0;position:relative}
.history-timeline:before{content:"";position:absolute;top:0;bottom:0;left:50%;width:1px;background:linear-gradient(transparent,#F890A5 10%,#F890A5 90%,transparent);pointer-events:none}
.history-event{grid-template-columns:1fr 1fr;gap:80px;align-items:center;padding:38px 0;min-height:350px;border:0;scroll-margin-top:35px}
.history-event:nth-child(even) .history-event-copy{grid-column:2;grid-row:1}
.history-event:nth-child(even) .history-visual{grid-column:1;grid-row:1}
.history-event-copy{position:relative}.history-date{display:inline-block;margin-bottom:14px;background:#fff6f9;border:1px solid #F890A570;border-radius:30px;padding:5px 18px;font-size:30px}
.history-event h3{font-size:36px;margin-bottom:16px}.history-event p{font-size:18px;line-height:1.7}
.history-visual{position:relative;display:flex;align-items:center;justify-content:center;height:320px;margin:0;isolation:isolate;perspective:900px}
.history-visual-halo{position:absolute;width:260px;height:260px;background:#F890A538;border-radius:49% 51% 62% 38% / 45% 35% 65% 55%;z-index:-1;transform:rotate(-12deg)}
.history-visual>img{max-width:90%;max-height:270px;width:auto;height:auto;object-fit:contain;filter:drop-shadow(0 14px 14px #71374b24);transform:translateY(0) rotate(-3deg);transition:transform .65s cubic-bezier(.2,.7,.2,1)}
.history-visual:hover>img{transform:translateY(-10px) rotate(2deg)}
.history-visual figcaption{position:absolute;bottom:0;background:#fff8f9;padding:7px 18px;border-radius:30px;font:21px 'Montauk Pro',Georgia,serif;color:#ad4666}
.history-modern>img{max-width:51%;height:240px;object-fit:contain;transform:rotate(-10deg)}.history-modern>img:nth-of-type(2){transform:rotate(10deg);margin-left:-32px;margin-top:25px}
.history-event.history-in-view .history-visual-halo{animation:history-breathe 8s ease-in-out infinite}
.history-emblem{animation:history-logo-float 8s ease-in-out infinite}
@keyframes history-breathe{50%{transform:rotate(9deg) scale(1.07);border-radius:60% 40% 38% 62% / 50% 60% 40% 50%}}
@keyframes history-logo-float{50%{transform:translateY(-8px)}}
@media(max-width:700px){.history-timeline:before{display:none}.history-event{grid-template-columns:1fr;gap:12px;padding:24px 0;min-height:0;border-bottom:1px solid #24254915}.history-event:nth-child(even) .history-event-copy,.history-event:nth-child(even) .history-visual{grid-column:auto;grid-row:auto}.history-visual{height:270px}.history-visual>img{max-height:220px}.history-visual-halo{width:220px;height:220px}.history-event h3{font-size:30px}.history-event p{font-size:17px}.history-chapters{gap:7px}.history-chapters a{font-size:20px;padding:8px 13px}.history-date{font-size:25px}}
@media(prefers-reduced-motion:reduce){.history-emblem,.history-event.history-in-view .history-visual-halo{animation:none}.history-visual>img,.history-chapters a{transition:none}.history-visual:hover>img{transform:none}}

/* Longer heritage chapters retain a comfortable reading rhythm. */
.history-event-copy p+p{margin-top:16px}
.history-event{padding-top:44px;padding-bottom:44px}
.history-visual{height:360px}
.history-visual>img{max-height:310px}
@media(max-width:700px){.history-event{padding-top:28px;padding-bottom:28px}.history-visual{height:280px}.history-visual>img{max-height:230px}}
/* Larger floating archive visuals with a refined pink backdrop. */
.history-event{column-gap:64px}
.history-visual{height:430px}
.history-visual>img{max-width:100%;max-height:380px;filter:drop-shadow(0 22px 18px #71374b24);transform:rotate(-4deg)}
.history-visual-halo{width:330px;height:330px;background:radial-gradient(circle at 35% 30%,#fff4f7,#F890A54d 75%);border:1px solid #ffffff80;box-shadow:0 20px 50px #d76d8610}
.history-visual:after{content:'♡';position:absolute;right:3%;top:9%;font:54px 'Myriad Pro',sans-serif;color:#F890A5;transform:rotate(16deg);z-index:-1}
.history-visual figcaption{bottom:0;border:1px solid #ffffffa0;box-shadow:0 5px 18px #71374b0a}
.history-modern>img{width:57%;height:300px;max-width:57%;max-height:320px}
@media(max-width:700px){.history-visual{height:340px}.history-visual>img{max-width:92%;max-height:290px}.history-visual-halo{width:270px;height:270px}.history-modern>img{width:52%;height:250px;max-width:52%}.history-visual:after{font-size:40px}}
/* The girl and heart travel through the brand story like a floating guide. */
.alsa-history{position:relative}
.history-flight{position:fixed;left:0;top:0;z-index:24;width:150px;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .5s,visibility .5s;will-change:transform}
.history-flight.is-flying{opacity:1;visibility:visible}
.history-flight-body{position:relative;transform-style:preserve-3d;will-change:transform}
.history-flight-body>img{display:block;width:100%;height:auto;filter:drop-shadow(0 14px 10px #6e284836)}
.history-flight-glow{position:absolute;inset:15%;background:#fff3f66b;border-radius:50%;filter:blur(22px);z-index:-1;transform:translateZ(-15px)}
.history-flight-toggle{display:flex;align-items:center;gap:8px;position:absolute;right:6%;top:18px;border:1px solid #ad466640;background:#fff6f9bb;border-radius:25px;padding:7px 12px;font:13px 'Myriad Pro',Arial,sans-serif;color:var(--ink);z-index:2}
.history-flight-toggle:hover{background:#fff}
@media(max-width:700px){.history-flight-toggle{top:8px;font-size:11px;padding:5px 9px}.history-flight{z-index:21}}
@media(prefers-reduced-motion:reduce){.history-flight,.history-flight-toggle{display:none!important}}

/* A dedicated landing space keeps the final mascot clear of the closing copy. */
.history-landing{height:190px;max-width:1100px;margin:15px auto 0;display:grid;place-items:center;position:relative}
.history-landing>span{width:110px;height:16px;border-radius:50%;background:#d76d861c;filter:blur(5px);transform:translateY(65px)}
@media(max-width:700px){.history-landing{height:120px}.history-landing>span{width:65px;transform:translateY(34px)}}
@media(prefers-reduced-motion:reduce){.history-landing{display:none}}
