.product-hero{position:relative;overflow:hidden;background:var(--cream)}
.product-hero-inner{display:flex;align-items:end;justify-content:space-between;gap:40px;padding-top:64px;padding-bottom:78px}
.product-hero-copy{position:relative;z-index:1}
.product-hero .eyebrow{margin-bottom:24px}
.product-hero h1{font-size:clamp(66px,7.5vw,112px);margin:0 0 24px}
.product-hero-copy>p:last-child{max-width:590px;margin:0;color:var(--muted);font-size:19px;line-height:1.6}
.product-hero-aside{position:relative;flex:none;width:245px;height:205px;align-self:end;text-align:right}
.product-hero-aside span{display:block;font-family:Fredoka,sans-serif;font-size:245px;font-weight:600;line-height:.85;letter-spacing:-.09em;color:var(--pink-pale)}
.product-hero-aside p{position:absolute;right:4px;bottom:5px;margin:0;color:var(--pink);font-size:12px;font-weight:700;letter-spacing:.17em;line-height:1.55;transform:rotate(-7deg)}
.product-gallery{background:var(--paper);padding:68px 0 130px}
.product-gallery-top{display:flex;align-items:end;justify-content:space-between;gap:36px;margin-bottom:30px;border-top:1px solid var(--line);padding-top:30px}
.product-gallery-top h2{font-size:clamp(37px,4vw,56px);font-weight:600;line-height:1.05;letter-spacing:-.04em;margin:0}
.product-gallery-top h2 em{font-style:normal;color:var(--pink)}
.product-gallery-top p{margin:0 0 3px;color:var(--muted);font-size:14px;font-weight:600;text-align:right}
.product-gallery-top p span{color:var(--pink);font-size:21px;vertical-align:-2px;margin-left:5px}
.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:26px;row-gap:52px}
.product-card{display:block;width:100%;padding:0;border:0;background:transparent;color:var(--cocoa);text-align:left;cursor:pointer}
.product-card-art{position:relative;display:grid;place-items:center;height:335px;overflow:hidden;border-radius:var(--radius);background:#f7eee8;transition:background .25s,box-shadow .25s}
.product-card:nth-child(3n+2) .product-card-art{background:#faedef}
.product-card:nth-child(3n) .product-card-art{background:#f6f0e8}
.product-card:hover .product-card-art,.product-card:focus-visible .product-card-art{box-shadow:0 18px 36px #3c211912}
.product-card-art::after{content:"";position:absolute;inset:18px;border:1px solid #fff9;border-radius:calc(var(--radius) - 10px);pointer-events:none}
.product-card-art img{width:93%;height:93%;object-fit:contain;filter:drop-shadow(0 12px 10px #3c21191c);transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.product-card:hover .product-card-art img,.product-card:focus-visible .product-card-art img{transform:translateY(-9px) scale(1.07)}
.product-card-bottom{display:grid;grid-template-columns:60px 1fr auto;gap:12px;align-items:center;margin-top:18px}
.product-card-index{color:var(--pink);font-size:11px;font-weight:700;letter-spacing:.1em}
.product-card-name{font-family:Fredoka,sans-serif;font-size:27px;font-weight:500;line-height:1.1;letter-spacing:-.02em}
.product-card-arrow{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--pink-pale);color:var(--pink);font-size:19px;transition:transform .25s,background .25s,color .25s}
.product-card:hover .product-card-arrow{transform:rotate(45deg);background:var(--pink);color:white}
.product-card-teaser{display:block;margin:4px 0 0 72px;color:var(--muted);font-size:14px}
.product-order{padding:88px 0 95px;background:#f8efe9}
.product-order-inner{display:flex;align-items:end;justify-content:space-between;gap:60px}
.product-order .section-index{color:var(--pink);margin-bottom:25px}
.product-order h2{font-size:clamp(49px,5vw,72px);font-weight:600;line-height:1.03;letter-spacing:-.04em;margin:0 0 18px}
.product-order h2 em{font-style:normal;color:var(--pink)}
.product-order p:last-child{max-width:520px;color:var(--muted);font-size:17px;margin:0}
.product-order .button{flex:none;margin-bottom:9px}
.flavour-dialog{position:fixed;width:min(1040px,calc(100% - 44px));max-height:calc(100dvh - 44px);padding:0;border:0;border-radius:32px;background:var(--cream);color:var(--cocoa);box-shadow:0 35px 100px #160d0a55;overflow:auto;overscroll-behavior:contain}
.flavour-dialog::backdrop{background:#27140fc9;backdrop-filter:blur(6px)}
.flavour-dialog[open]{animation:dialog-in .35s cubic-bezier(.16,1,.3,1) both}
.dialog-close{position:absolute;z-index:5;top:22px;right:22px;display:grid;place-items:center;width:48px;height:48px;border:1px solid var(--line);border-radius:50%;background:#fffc;color:var(--cocoa);font-size:31px;line-height:1;cursor:pointer;transition:background .2s,transform .2s}
.dialog-close:hover{background:var(--pink-pale);transform:rotate(90deg)}
.dialog-grid{display:grid;grid-template-columns:52% 48%;min-height:590px}
.dialog-art{position:relative;display:grid;place-items:center;min-width:0;overflow:hidden;background:#fbe9e8}
.dialog-art-ring{position:absolute;width:78%;aspect-ratio:1;border:1px solid #d52b6038;border-radius:50%;box-shadow:0 0 0 48px #fff6,0 0 0 49px #d52b6018}
.dialog-art img{position:relative;z-index:1;width:95%;height:95%;object-fit:contain;filter:drop-shadow(0 24px 16px #3c21191f);transform:scale(1.06)}
.flavour-dialog[open] .dialog-art img{animation:donut-enter .48s cubic-bezier(.16,1,.3,1) both}
.dialog-art-note{position:absolute;z-index:2;left:35px;bottom:28px;font-family:Fredoka,sans-serif;font-size:16px;font-weight:500;transform:rotate(-7deg)}
.dialog-art-note span{color:var(--pink);font-size:30px;vertical-align:-4px}
.dialog-copy{display:flex;flex-direction:column;justify-content:center;min-width:0;padding:74px 66px 58px 58px}
.dialog-eyebrow{font-size:12px;font-weight:700;letter-spacing:.17em;color:var(--pink);margin:0 0 24px}
.dialog-copy h2{font-size:clamp(50px,5vw,72px);font-weight:600;line-height:.98;letter-spacing:-.05em;margin:0 0 13px}
.dialog-tagline{font-family:Fredoka,sans-serif;font-size:23px;line-height:1.25;color:var(--pink);margin:0}
.dialog-rule{width:58px;height:2px;background:var(--gold);margin:29px 0}
.dialog-story{max-width:380px;font-size:17px;line-height:1.7;color:var(--muted);margin:0}
.dialog-actions{display:flex;flex-direction:column;align-items:flex-start;gap:17px;margin-top:36px}
.dialog-next{padding:8px 0;min-height:44px;border:0;border-bottom:1px solid var(--cocoa);background:transparent;color:var(--cocoa);font-size:14px;font-weight:700;cursor:pointer;transition:color .2s}
.dialog-next:hover{color:var(--pink)}
.dialog-next span{margin-left:12px}
.flavour-dialog.is-changing .dialog-art img{animation:donut-enter .4s cubic-bezier(.16,1,.3,1) both}
.flavour-dialog.is-changing .dialog-copy>*{animation:copy-enter .35s ease-out both}
@keyframes dialog-in{from{opacity:0;transform:translateY(18px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes donut-enter{from{opacity:.45;transform:translateY(34px) scale(.78) rotate(-8deg)}to{opacity:1;transform:translateY(0) scale(1.06) rotate(0)}}
@keyframes copy-enter{from{opacity:.3;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:900px){.product-grid{gap:35px 16px}.product-card-art{height:260px}.product-card-bottom{grid-template-columns:48px 1fr auto;gap:6px}.product-card-name{font-size:22px}.product-card-teaser{margin-left:54px;font-size:13px}.dialog-grid{grid-template-columns:50% 50%}.dialog-copy{padding:68px 35px 42px}.dialog-copy h2{font-size:51px}}
@media(max-width:760px){.product-hero-inner{padding-top:52px;padding-bottom:55px}.product-hero h1{font-size:clamp(55px,9.5vw,78px)}.product-hero-copy>p:last-child{font-size:17px}.product-hero-aside{display:none}.product-gallery{padding:50px 0 86px}.product-gallery-top{display:block;margin-bottom:25px;padding-top:25px}.product-gallery-top h2{font-size:43px}.product-gallery-top p{text-align:left;margin-top:14px}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:14px;row-gap:36px}.product-card-art{height:250px;border-radius:20px}.product-card-bottom{grid-template-columns:1fr auto;gap:5px}.product-card-index{grid-column:1/-1}.product-card-name{font-size:22px}.product-card-teaser{margin-left:0}.product-order{padding:70px 0}.product-order-inner{display:block}.product-order h2{font-size:53px}.product-order .button{margin-top:28px}.dialog-grid{display:block}.dialog-art{height:330px}.dialog-art img{width:70%;height:94%}.dialog-art-note{left:20px;bottom:15px;font-size:13px}.dialog-copy{padding:30px 35px 38px}.dialog-copy h2{font-size:51px}.dialog-eyebrow{margin-bottom:14px}.dialog-rule{margin:20px 0}.dialog-actions{margin-top:26px}.dialog-close{top:14px;right:14px}}
@media(max-width:520px){.product-hero-inner{padding-top:45px;padding-bottom:48px}.product-hero h1{font-size:clamp(48px,11vw,60px)}.product-gallery-top h2{font-size:38px}.product-card-art{height:177px;border-radius:17px}.product-card-art::after{inset:10px;border-radius:10px}.product-card-art img{width:98%;height:98%}.product-card-bottom{margin-top:13px}.product-card-name{font-size:19px}.product-card-arrow{width:30px;height:30px;font-size:17px}.product-card-teaser{font-size:12px;line-height:1.35}.product-order h2{font-size:45px}.flavour-dialog{width:calc(100% - 20px);max-height:calc(100dvh - 20px);border-radius:23px}.dialog-art{height:290px}.dialog-art img{width:83%}.dialog-art-note{display:none}.dialog-copy{padding:24px 24px 32px}.dialog-copy h2{font-size:46px}.dialog-tagline{font-size:19px}.dialog-story{font-size:15px}.dialog-actions .button{font-size:14px}}
@media(prefers-reduced-motion:reduce){.flavour-dialog[open],.flavour-dialog.is-changing .dialog-art img,.flavour-dialog.is-changing .dialog-copy>*,.flavour-dialog[open] .dialog-art img{animation:none}}

@media(max-width:520px){.dialog-close{position:sticky;top:max(14px,env(safe-area-inset-top));margin-left:auto;margin-bottom:-48px}.dialog-story{font-size:16px}.product-card-teaser{font-size:13px}}
@media(max-width:380px){.product-grid{grid-template-columns:1fr;row-gap:34px}.product-card-art{height:auto;aspect-ratio:1}.product-card-name{font-size:23px}.product-card-teaser{font-size:14px}.product-card-arrow{width:38px;height:38px}.dialog-art{height:250px}}
