:root{
  --offwhite:#f7f3e8;
  --paper:#fffdf7;
  --ink:#121214;
  --muted:#706d66;
  --blue:#2e3192;
  --blue-deep:#17195f;
  --yellow:#f8eb07;
  --line:rgba(18,18,20,.16);
  --shadow:0 24px 70px rgba(18,18,20,.14);
  --radius-xl:42px;
  --radius-lg:30px;
  --radius-md:22px;
  --ease:cubic-bezier(.2,.8,.2,1);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--offwhite)}
body{margin:0;background:var(--offwhite);color:var(--ink);font-family:"Quicksand",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;overflow-x:hidden}
body.nav-open,body.chat-open,body.snack-modal-open{overflow:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input{font:inherit}
button{cursor:pointer}
::selection{background:var(--yellow);color:var(--ink)}

.shell{width:min(1240px,calc(100% - 48px));margin-inline:auto}
.section{padding:112px 0}
.kicker{margin:0 0 18px;font-size:.76rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--blue)}
.kicker-light{color:var(--yellow)}
h1,h2,h3,.mood-copy strong,.year-card strong,.quality-card>strong,.chat-title strong{font-family:"Tanker","Arial Black",Impact,sans-serif;font-weight:400;text-transform:uppercase;letter-spacing:.01em}
h1,h2,h3,p{margin-top:0}

.pill{display:inline-flex;align-items:center;justify-content:center;gap:.7rem;min-height:52px;padding:0 22px;border-radius:999px;font-weight:700;border:2px solid transparent;transition:transform .35s var(--ease),box-shadow .35s var(--ease),background .35s var(--ease),color .35s var(--ease)}
.pill:hover{transform:translateY(-4px)}
.pill-blue{background:var(--blue);color:#fff;box-shadow:0 7px 0 rgba(23,25,95,.18)}
.pill-blue:hover{box-shadow:0 12px 0 rgba(23,25,95,.14)}
.pill-yellow{background:var(--yellow);color:var(--ink);box-shadow:0 7px 0 rgba(18,18,20,.14)}
.pill-yellow:hover{box-shadow:0 12px 0 rgba(18,18,20,.1)}
.text-link{display:inline-flex;align-items:center;gap:10px;font-weight:700;border-bottom:2px solid currentColor;padding:4px 0;transition:color .25s ease,gap .25s ease}
.text-link:hover{color:var(--blue);gap:15px}

@keyframes marquee{to{transform:translateX(-50%)}}

.site-header{position:sticky;top:0;z-index:80;background:rgba(247,243,232,.86);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}
.nav-wrap{height:88px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand img{width:168px;height:auto;transition:transform .35s var(--ease)}
.brand:hover img{transform:rotate(-2deg) scale(1.03)}
.desktop-nav{display:flex;align-items:center;gap:26px;font-size:.82rem;font-weight:700;letter-spacing:.075em;text-transform:uppercase}
.desktop-nav a{position:relative;padding:10px 0}
.desktop-nav a::after{content:"";position:absolute;left:0;right:100%;bottom:4px;height:3px;background:var(--yellow);transition:right .3s var(--ease)}
.desktop-nav a:hover::after{right:0}
.nav-actions{display:flex;align-items:center;gap:12px}
.menu-toggle{display:none;width:50px;height:50px;border-radius:50%;border:2px solid var(--ink);background:transparent;position:relative}
.menu-toggle span{position:absolute;left:13px;right:13px;height:2px;background:var(--ink);transition:.3s var(--ease)}
.menu-toggle span:first-child{top:20px}.menu-toggle span:last-child{top:27px}
.menu-toggle[aria-expanded="true"] span:first-child{top:24px;transform:rotate(45deg)}
.menu-toggle[aria-expanded="true"] span:last-child{top:24px;transform:rotate(-45deg)}
.mobile-nav{position:fixed;inset:88px 0 auto;z-index:75;background:var(--offwhite);padding:24px max(24px,calc((100vw - 1240px)/2));border-bottom:1px solid var(--line);display:grid;gap:2px;transform:translateY(-120%);opacity:0;pointer-events:none;transition:.35s var(--ease)}
.mobile-nav.open{transform:translateY(0);opacity:1;pointer-events:auto}
.mobile-nav a{font-family:"Tanker","Arial Black",Impact,sans-serif;text-transform:uppercase;font-size:2.2rem;padding:12px 0;border-bottom:1px solid var(--line)}

.hero{position:relative;min-height:785px;padding:58px 0 68px;display:flex;align-items:center;overflow:hidden;isolation:isolate}
.hero-grid{display:grid;grid-template-columns:.88fr 1.12fr;align-items:center;gap:20px;position:relative;z-index:2}
.hero-copy{padding:32px 0 50px}
.hero h1{font-size:clamp(5.2rem,9.6vw,9.8rem);line-height:.78;margin:0 0 30px;letter-spacing:.005em}
.type-line{display:inline-flex;align-items:flex-end;color:var(--blue);position:relative}
.type-line::after{content:"";position:absolute;height:.14em;left:.02em;right:.06em;bottom:-.08em;background:var(--yellow);z-index:-1;transform:rotate(-1deg)}
.type-caret{width:.06em;height:.72em;background:var(--ink);margin-left:.06em;animation:blink .82s steps(1) infinite}
@keyframes blink{50%{opacity:0}}
.hero-note{font-size:1.1rem;font-weight:600;margin-bottom:26px}
.hero-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.hero-orbit{position:absolute;border-radius:50%;pointer-events:none;z-index:-1}
.orbit-blue{width:460px;height:460px;border:100px solid rgba(46,49,146,.08);left:-250px;top:60px}
.orbit-yellow{width:380px;height:380px;background:rgba(248,235,7,.16);right:-160px;bottom:-150px}

.biscuit-stage{position:relative;min-height:630px;perspective:1200px;isolation:isolate}
.stage-ring{position:absolute;width:520px;height:520px;border-radius:50%;background:var(--yellow);right:5%;top:8%;box-shadow:0 0 0 26px rgba(46,49,146,.07);z-index:-2}
.stage-ring::after{content:"";position:absolute;inset:56px;border-radius:50%;border:2px dashed rgba(18,18,20,.24);animation:spin 28s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.hero-biscuit{position:absolute;filter:drop-shadow(0 28px 25px rgba(54,39,20,.22));transform-origin:center;will-change:transform;transition:filter .4s var(--ease)}
.hero-biscuit:hover{filter:drop-shadow(0 36px 30px rgba(54,39,20,.28))}
.biscuit-cream{width:min(500px,55vw);right:13%;top:3%;z-index:4;animation:floatA 6.4s ease-in-out infinite}
.biscuit-choco{width:min(340px,38vw);right:-2%;bottom:1%;z-index:5;animation:floatB 7.1s ease-in-out infinite}
.biscuit-butter{width:min(390px,43vw);left:0;bottom:-3%;z-index:2;animation:floatC 8s ease-in-out infinite}
.biscuit-fruit{width:min(285px,33vw);left:-1%;top:0;z-index:3;animation:floatB 6.8s ease-in-out -1.2s infinite}
@keyframes floatA{0%,100%{transform:translate3d(0,0,0) rotate(-7deg)}50%{transform:translate3d(0,-15px,0) rotate(-4deg)}}
@keyframes floatB{0%,100%{transform:translate3d(0,0,0) rotate(8deg)}50%{transform:translate3d(0,-18px,0) rotate(5deg)}}
@keyframes floatC{0%,100%{transform:translate3d(0,0,0) rotate(-3deg)}50%{transform:translate3d(0,-12px,0) rotate(1deg)}}
.stage-badge{position:absolute;right:7%;top:1%;z-index:8;width:104px;height:104px;border-radius:50%;display:grid;place-items:center;text-align:center;background:var(--blue);color:#fff;border:6px solid var(--offwhite);box-shadow:0 14px 30px rgba(46,49,146,.2);font-family:"Tanker","Arial Black",Impact,sans-serif;font-size:1.35rem;line-height:.9;text-transform:uppercase;transform:rotate(8deg);animation:badgeBob 4.5s ease-in-out infinite}
@keyframes badgeBob{50%{transform:rotate(3deg) translateY(-7px)}}
.scroll-cue{position:absolute;left:28px;bottom:22px;font-size:.7rem;letter-spacing:.17em;text-transform:uppercase;font-weight:700;display:flex;align-items:center;gap:9px;transform:rotate(-90deg);transform-origin:left bottom}
.scroll-cue span{width:36px;height:1px;background:var(--ink);display:block}

.crunch-strip{border-block:2px solid var(--ink);background:var(--offwhite);overflow:hidden;padding:16px 0}
.crunch-track{display:flex;width:max-content;animation:marquee 32s linear infinite;font-family:"Tanker","Arial Black",Impact,sans-serif;font-size:clamp(2.1rem,4.5vw,4.4rem);line-height:1;text-transform:uppercase;white-space:nowrap}
.crunch-track span{display:flex;align-items:center;gap:25px;margin-right:25px}
.crunch-track b{font-family:"Quicksand",sans-serif;color:var(--blue);font-size:.55em}

.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin-bottom:52px}
.section-heading h2,.quality-heading h2,.contact-card h2{font-size:clamp(4rem,8vw,7.7rem);line-height:.8;margin:0}
.story-copy h2{font-size:clamp(4rem,6.8vw,6.8rem);line-height:.82;margin:0}
.mood-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.mood-card{position:relative;min-height:470px;border:2px solid var(--ink);border-radius:var(--radius-xl);background:var(--paper);overflow:hidden;padding:28px;text-align:left;color:var(--ink);transition:transform .45s var(--ease),box-shadow .45s var(--ease),background .45s var(--ease);box-shadow:0 9px 0 rgba(18,18,20,.12)}
.mood-card:hover{transform:translateY(-10px) rotate(-.45deg);box-shadow:0 18px 0 rgba(18,18,20,.09)}
.mood-card-blue{background:var(--blue);color:#fff;border-color:var(--blue)}
.mood-card-yellow{background:var(--yellow)}
.mood-card img{position:absolute;width:66%;max-width:455px;right:-4%;bottom:-13%;filter:drop-shadow(0 28px 22px rgba(44,30,15,.23));transition:transform .65s var(--ease)}
.mood-card:nth-child(2) img{width:61%;bottom:-8%}
.mood-card:nth-child(3) img{width:71%;right:-8%;bottom:-6%}
.mood-card:nth-child(4) img{width:60%;right:0;bottom:-10%}
.mood-card:hover img{transform:translateY(-14px) rotate(4deg) scale(1.04)}
.mood-index{position:absolute;right:25px;top:24px;font-size:.74rem;font-weight:700;letter-spacing:.15em}
.mood-copy{position:relative;z-index:2;display:flex;flex-direction:column;max-width:48%}
.mood-copy strong{font-size:clamp(3.2rem,6vw,5.6rem);line-height:.85}
.mood-copy small{font-size:.82rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-top:9px;opacity:.7}
.mood-arrow{position:absolute;left:28px;bottom:27px;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;border:2px solid currentColor;font-size:1.35rem;z-index:2;transition:transform .35s var(--ease),background .35s var(--ease),color .35s var(--ease)}
.mood-card:hover .mood-arrow{transform:rotate(45deg);background:var(--yellow);color:var(--ink);border-color:var(--ink)}


section[id]{scroll-margin-top:100px}

.catalogue-section{position:relative;padding-top:92px}
.catalogue-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin-bottom:34px}
.catalogue-heading h2{font-size:clamp(4.4rem,8.6vw,8.4rem);line-height:.78;margin:0}
.catalogue-count{margin:0 0 9px;display:flex;align-items:baseline;gap:12px;white-space:nowrap}
.catalogue-count strong{font-family:"Tanker","Arial Black",Impact,sans-serif;font-size:4rem;font-weight:400;color:var(--blue);line-height:.8}
.catalogue-count span{font-size:.73rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--muted)}
.catalogue-filters{display:flex;gap:9px;flex-wrap:wrap;padding:15px 0 28px;border-top:2px solid var(--ink)}
.catalogue-filter{min-height:42px;padding:0 17px;border:1.5px solid var(--ink);border-radius:999px;background:transparent;color:var(--ink);font-size:.72rem;font-weight:700;letter-spacing:.08em;transition:transform .25s var(--ease),background .25s ease,color .25s ease,border-color .25s ease}
.catalogue-filter:hover{transform:translateY(-3px)}
.catalogue-filter.is-active{background:var(--blue);border-color:var(--blue);color:#fff;box-shadow:0 5px 0 rgba(23,25,95,.14)}
.catalogue-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.catalogue-empty{margin:12px 0 0;padding:34px 28px;border:2px dashed var(--ink);border-radius:var(--radius-lg);text-align:center;font-size:.85rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);background:rgba(255,255,255,.34)}
.catalogue-empty[hidden]{display:none}
.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.product-card{--product-accent:var(--yellow);min-width:0;border:2px solid var(--ink);border-radius:var(--radius-lg);background:var(--paper);overflow:hidden;box-shadow:0 8px 0 rgba(18,18,20,.09);transition:transform .4s var(--ease),box-shadow .4s var(--ease),opacity .25s ease;position:relative}
.product-card:nth-child(even){--product-accent:var(--blue)}
.product-card:hover{transform:translateY(-8px);box-shadow:0 16px 0 rgba(18,18,20,.07)}
.product-card.is-hidden{display:none}
.product-media{position:relative;display:grid;place-items:center;min-height:285px;padding:34px 24px 20px;background:linear-gradient(145deg,rgba(255,255,255,.62),rgba(247,243,232,.72));overflow:hidden;isolation:isolate}
.product-media::before{content:"";position:absolute;width:180px;height:180px;border-radius:50%;background:var(--product-accent);opacity:.2;right:-72px;top:-70px;z-index:-1;transition:transform .55s var(--ease),opacity .35s ease}
.product-media::after{content:"";position:absolute;left:0;right:0;bottom:0;height:7px;background:var(--product-accent)}
.product-card:hover .product-media::before{transform:scale(1.18);opacity:.3}
.product-media img{width:100%;height:220px;object-fit:contain;filter:drop-shadow(0 18px 18px rgba(18,18,20,.14));transform:translateY(4px) rotate(-1deg);transition:transform .6s var(--ease),filter .45s var(--ease)}
.product-card:nth-child(3n+2) .product-media img{transform:translateY(4px) rotate(1.2deg)}
.product-card:hover .product-media img{transform:translateY(-8px) rotate(2deg) scale(1.05);filter:drop-shadow(0 25px 22px rgba(18,18,20,.18))}
.product-category{position:absolute;left:18px;top:18px;z-index:2;border:1.5px solid var(--ink);border-radius:999px;background:var(--yellow);color:var(--ink);padding:7px 10px;font-size:.63rem;font-weight:700;letter-spacing:.1em}
.product-card:nth-child(even) .product-category{background:var(--blue);border-color:var(--blue);color:#fff}
.product-info{min-height:118px;padding:21px 22px 23px;display:flex;align-items:flex-end;justify-content:space-between;gap:18px}
.product-info h3{font-size:clamp(1.9rem,3vw,2.7rem);line-height:.9;margin:0;max-width:78%}
.product-info>span{font-size:.69rem;font-weight:700;letter-spacing:.12em;color:var(--muted);white-space:nowrap;padding-bottom:3px}

#productGrid{scroll-margin-top:116px}
.catalogue-pagination{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:38px;padding-top:25px;border-top:1px solid var(--line)}
.catalogue-pagination[hidden]{display:none}
.pagination-pages{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap}
.pagination-control,.pagination-page{min-width:44px;height:44px;border:1.5px solid var(--ink);border-radius:999px;font-family:"Quicksand",Arial,sans-serif;font-size:.72rem;font-weight:700;letter-spacing:.07em;background:var(--paper);color:var(--ink);transition:transform .25s var(--ease),background .25s ease,color .25s ease,border-color .25s ease,opacity .25s ease}
.pagination-control{padding:0 17px;background:var(--blue);border-color:var(--blue);color:#fff}
.pagination-page:hover,.pagination-control:hover:not(:disabled){transform:translateY(-3px)}
.pagination-page.is-active{background:var(--yellow);border-color:var(--ink);color:var(--ink);box-shadow:0 4px 0 rgba(18,18,20,.12)}
.pagination-control:disabled{opacity:.35;cursor:not-allowed;transform:none}
.pagination-control:focus-visible,.pagination-page:focus-visible{outline:3px solid var(--yellow);outline-offset:3px}


/* Snack lottery */
.snack-lottery-section{position:relative;overflow:hidden;isolation:isolate;background:var(--offwhite);color:var(--ink);padding-block:118px}
.snack-lottery-section::before{content:"";position:absolute;inset:0;z-index:-3;background:radial-gradient(circle at 15% 24%,rgba(248,235,7,.2),transparent 28%),radial-gradient(circle at 88% 74%,rgba(46,49,146,.08),transparent 28%)}
.snack-lottery-section::after{content:"SNACK / SNACK / SNACK /";position:absolute;left:-2vw;bottom:-.18em;z-index:-2;font-family:"Tanker","Arial Black",Impact,sans-serif;font-size:clamp(8rem,19vw,18rem);line-height:.7;letter-spacing:.025em;white-space:nowrap;color:rgba(18,18,20,.035);pointer-events:none}
.lottery-orbit{position:absolute;border-radius:50%;pointer-events:none;z-index:-1}
.lottery-orbit-one{width:370px;height:370px;border:62px solid rgba(46,49,146,.08);right:-155px;top:-120px}
.lottery-orbit-two{width:220px;height:220px;border:2px dashed rgba(18,18,20,.16);left:-85px;bottom:50px;animation:spin 28s linear infinite}
.snack-lottery-grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(480px,1.08fr);gap:62px;align-items:center;position:relative;z-index:1}
.snack-lottery-copy h2{margin:0 0 26px;font-size:clamp(4.8rem,7.7vw,8rem);line-height:.76;max-width:780px}
.snack-lottery-intro{max-width:590px;margin:0 0 26px;color:var(--muted);font-size:1.04rem;line-height:1.72;font-weight:600}
.snack-lottery-meta{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:30px}
.snack-lottery-meta span{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:999px;padding:9px 13px;background:var(--paper);font-size:.69rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);box-shadow:0 3px 0 rgba(18,18,20,.06)}
.snack-lottery-meta b{color:var(--blue);font-size:.82rem}
.snack-lottery-prompt{display:flex;align-items:center;gap:14px;max-width:570px;padding:14px 16px;border:1.5px dashed rgba(18,18,20,.28);border-radius:22px;background:rgba(255,253,247,.62)}
.snack-prompt-mark{flex:0 0 auto;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:var(--yellow);border:2px solid var(--ink);font-family:"Tanker","Arial Black",Impact,sans-serif;font-size:2rem;line-height:1;transform:rotate(-6deg)}
.snack-lottery-prompt div{display:grid;gap:3px;min-width:0}
.snack-lottery-prompt strong{font-size:.73rem;letter-spacing:.08em}
.snack-lottery-prompt small{color:var(--muted);font-size:.72rem;font-weight:600;line-height:1.4}
.snack-wheel-panel{position:relative;min-width:0;padding:22px 26px 26px;border:2px solid var(--ink);border-radius:42px;background:var(--paper);box-shadow:0 12px 0 rgba(18,18,20,.11),0 34px 70px rgba(18,18,20,.08);overflow:hidden}
.snack-wheel-panel::before{content:"";position:absolute;inset:8px;border:1px solid rgba(18,18,20,.08);border-radius:34px;pointer-events:none}
.snack-wheel-header{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px;padding:0 4px;color:var(--muted);font-size:.67rem;font-weight:700;letter-spacing:.13em;position:relative;z-index:3}
.snack-live-dot{display:inline-flex;align-items:center;gap:7px;color:var(--ink)}
.snack-live-dot i{width:8px;height:8px;border-radius:50%;background:var(--blue);box-shadow:0 0 0 5px rgba(46,49,146,.1);animation:snackPulse 1.8s ease-in-out infinite}
@keyframes snackPulse{50%{box-shadow:0 0 0 9px rgba(46,49,146,0)}}
.snack-wheel-shell{position:relative;width:min(100%,510px);aspect-ratio:1;margin:4px auto 16px;display:grid;place-items:center}
.snack-wheel-shell::before{content:"";position:absolute;inset:2.7%;border-radius:50%;border:2px dashed rgba(18,18,20,.22);animation:spin 40s linear infinite reverse}
.snack-wheel{position:relative;width:89%;aspect-ratio:1;border-radius:50%;border:10px solid #fffdf7;box-shadow:0 0 0 5px #121214,0 28px 50px rgba(18,18,20,.17),inset 0 0 0 3px rgba(18,18,20,.3);will-change:transform;transform:rotate(0deg);overflow:hidden}
.snack-wheel::before{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(circle at 50% 50%,transparent 0 34%,rgba(255,255,255,.15) 34.5% 35.5%,transparent 36% 100%);z-index:1;pointer-events:none}
.snack-wheel-candidates{position:absolute;inset:0;z-index:2}
.snack-wheel-slot{--slot-angle:0deg;position:absolute;left:50%;top:50%;width:58px;height:58px;margin:-29px;display:grid;place-items:center;border-radius:18px;background:#fffdf7;border:2px solid rgba(18,18,20,.82);box-shadow:0 5px 0 rgba(18,18,20,.14);transform:rotate(var(--slot-angle)) translateY(-177px) rotate(calc(-1 * var(--slot-angle)));overflow:hidden}
.snack-wheel-slot img{width:52px;height:52px;object-fit:contain;padding:4px;filter:drop-shadow(0 5px 5px rgba(18,18,20,.16))}
.snack-wheel-center{position:absolute;left:50%;top:50%;z-index:5;width:132px;height:132px;transform:translate(-50%,-50%);display:grid;place-items:center;border-radius:50%;background:var(--blue);border:8px solid #fffdf7;box-shadow:0 0 0 4px var(--ink),0 10px 25px rgba(0,0,0,.2);overflow:hidden;color:#fff;text-align:center}
.snack-wheel-center img{position:absolute;width:86px;opacity:.16;filter:grayscale(1) brightness(4)}
.snack-wheel-center span{position:relative;font-family:"Tanker","Arial Black",Impact,sans-serif;font-size:1.5rem;line-height:.82;letter-spacing:.04em}
.snack-pointer{position:absolute;z-index:10;left:50%;top:-2px;width:72px;height:84px;transform:translateX(-50%);filter:drop-shadow(0 8px 8px rgba(18,18,20,.22));pointer-events:none}
.snack-pointer::before{content:"";position:absolute;left:50%;top:3px;width:52px;height:52px;transform:translateX(-50%);border-radius:50%;background:var(--yellow);border:4px solid var(--ink);box-shadow:inset 0 0 0 4px #fffdf7}
.snack-pointer span{position:absolute;left:50%;top:38px;transform:translateX(-50%);width:0;height:0;border-left:17px solid transparent;border-right:17px solid transparent;border-top:31px solid var(--ink)}
.snack-spin-button{position:relative;width:100%;min-height:72px;border:2px solid var(--ink);border-radius:22px;background:var(--yellow);color:var(--ink);box-shadow:0 8px 0 rgba(18,18,20,.25);display:grid;grid-template-columns:58px 1fr auto;align-items:center;gap:12px;padding:8px 18px;text-align:left;transition:transform .25s var(--ease),box-shadow .25s var(--ease),opacity .2s ease;z-index:3}
.snack-spin-button:hover:not(:disabled){transform:translateY(-4px);box-shadow:0 12px 0 rgba(18,18,20,.2)}
.snack-spin-button:active:not(:disabled){transform:translateY(4px);box-shadow:0 4px 0 rgba(18,18,20,.22)}
.snack-spin-button:disabled{cursor:wait;opacity:.82}
.snack-spin-icon{width:50px;height:50px;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:var(--yellow);font-size:1.7rem;transition:transform .5s ease}
.snack-spin-button.is-spinning .snack-spin-icon{animation:spin .8s linear infinite}
.snack-spin-button strong{font-family:"Tanker","Arial Black",Impact,sans-serif;font-size:2rem;line-height:1;letter-spacing:.03em}
.snack-spin-button small{font-size:.6rem;font-weight:700;letter-spacing:.12em;white-space:nowrap}
.snack-wheel-status{min-height:18px;margin:16px 4px 0;text-align:center;color:var(--muted);font-size:.69rem;font-weight:600;letter-spacing:.03em;position:relative;z-index:3}

.snack-modal[hidden]{display:none}
.snack-modal{position:fixed;inset:0;z-index:140;display:grid;place-items:center;padding:20px;opacity:0;transition:opacity .28s ease}
.snack-modal.is-open{opacity:1}
.snack-modal-backdrop{position:absolute;inset:0;background:rgba(18,18,20,.68);backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px)}
.snack-modal-dialog{position:relative;width:min(760px,100%);max-height:calc(100vh - 40px);overflow:auto;display:grid;grid-template-columns:minmax(230px,.82fr) minmax(0,1.18fr);gap:30px;align-items:center;padding:34px;border:2px solid var(--ink);border-radius:38px;background:var(--paper);box-shadow:0 28px 100px rgba(18,18,20,.36);transform:translateY(24px) scale(.93) rotate(-.8deg);transition:transform .42s var(--ease);outline:none}
.snack-modal.is-open .snack-modal-dialog{transform:translateY(0) scale(1) rotate(0)}
.snack-modal-dialog::before{content:"";position:absolute;inset:9px;border:1px solid rgba(18,18,20,.08);border-radius:30px;pointer-events:none}
.snack-modal-close{position:absolute;right:18px;top:18px;z-index:30;width:46px;height:46px;border-radius:50%;border:2px solid var(--ink);background:var(--offwhite);color:var(--ink);display:grid;place-items:center;font-size:1.8rem;line-height:1;box-shadow:0 4px 0 rgba(18,18,20,.12);transition:transform .2s var(--ease),background .2s ease}
.snack-modal-close:hover{transform:rotate(6deg) translateY(-2px);background:var(--yellow)}
.snack-modal-badge{position:absolute;left:26px;top:24px;z-index:6;width:72px;height:72px;border-radius:50%;display:grid;place-items:center;text-align:center;background:var(--blue);color:#fff;border:4px solid var(--paper);box-shadow:0 0 0 2px var(--ink);font-family:"Tanker","Arial Black",Impact,sans-serif;font-size:1rem;line-height:.8;transform:rotate(-9deg)}
.snack-modal-media{position:relative;min-height:330px;border-radius:28px;background:var(--offwhite);border:1px solid var(--line);display:grid;place-items:center;overflow:hidden}
.snack-modal-media::before{content:"";position:absolute;width:220px;height:220px;border-radius:50%;background:var(--yellow);opacity:.85;transform:rotate(-8deg)}
.snack-modal-media::after{content:"";position:absolute;width:180px;height:180px;border-radius:50%;border:2px dashed rgba(18,18,20,.24);animation:spin 22s linear infinite}
.snack-modal-media img{position:relative;z-index:2;width:100%;height:285px;object-fit:contain;padding:20px;filter:drop-shadow(0 18px 18px rgba(18,18,20,.2));animation:snackResultPop .62s var(--ease)}
@keyframes snackResultPop{0%{opacity:0;transform:scale(.62) rotate(-8deg)}70%{transform:scale(1.05) rotate(2deg)}100%{opacity:1;transform:scale(1) rotate(0)}}
.snack-modal-copy{position:relative;z-index:4;min-width:0;padding:34px 8px 18px 0}
.snack-result-kicker{display:inline-flex;margin-bottom:15px;padding:7px 10px;border-radius:999px;background:var(--yellow);color:var(--ink);font-size:.63rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;border:1px solid var(--ink)}
.snack-modal-eyebrow{margin:0 0 7px;color:var(--blue);font-size:.7rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.snack-modal-copy h3{margin:0 0 11px;font-size:clamp(3.2rem,6.5vw,5.8rem);line-height:.79;color:var(--ink);overflow-wrap:anywhere}
.snack-modal-copy>p:last-of-type{margin:0;color:var(--muted);font-size:.92rem;font-weight:600;line-height:1.55}
.snack-modal-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.snack-modal-primary,.snack-modal-secondary{min-height:50px;border:2px solid var(--ink);border-radius:999px;padding:0 17px;font-size:.67rem;font-weight:700;letter-spacing:.065em;transition:transform .2s var(--ease),box-shadow .2s var(--ease),background .2s ease}
.snack-modal-primary{background:var(--blue);color:#fff;box-shadow:0 5px 0 rgba(23,25,95,.18)}
.snack-modal-secondary{background:var(--paper);color:var(--ink);box-shadow:0 5px 0 rgba(18,18,20,.1)}
.snack-modal-primary:hover,.snack-modal-secondary:hover{transform:translateY(-3px)}
.snack-modal-secondary:hover{background:var(--yellow)}
.snack-confetti{position:absolute;inset:0;z-index:20;pointer-events:none;overflow:hidden;border-radius:inherit}
.snack-confetti i{display:none;position:absolute;left:var(--x);top:0;width:9px;height:16px;border-radius:2px;background:var(--confetti);transform:translate(-50%,-24px) rotate(0)}
.snack-confetti.is-bursting i{display:block;animation:snackConfetti var(--duration) cubic-bezier(.14,.66,.28,1) var(--delay) forwards}
@keyframes snackConfetti{0%{opacity:1;transform:translate(-50%,-24px) rotate(0)}100%{opacity:0;transform:translate(calc(-50% + var(--drift)),var(--fall)) rotate(var(--spin))}}
.product-card.snack-picked{animation:snackPicked 1.05s ease-in-out 2;z-index:3}
@keyframes snackPicked{0%,100%{box-shadow:0 8px 0 rgba(18,18,20,.09)}50%{box-shadow:0 0 0 8px rgba(248,235,7,.72),0 22px 45px rgba(18,18,20,.18);transform:translateY(-8px) rotate(-.8deg)}}

.story-section{position:relative}
.story-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:68px;align-items:center}
.year-card{aspect-ratio:1/1;max-width:500px;border-radius:50%;background:var(--yellow);border:2px solid var(--ink);display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:18px 18px 0 var(--blue);transform:rotate(-4deg);transition:transform .5s var(--ease)}
.year-card:hover{transform:rotate(1deg) translateY(-8px)}
.year-card span,.year-card em{font-style:normal;font-weight:700;letter-spacing:.17em;text-transform:uppercase;font-size:.78rem}
.year-card strong{font-size:clamp(6rem,11vw,10rem);line-height:.78;color:var(--blue)}
.story-copy{max-width:680px}
.story-copy p:not(.kicker){font-size:1.08rem;line-height:1.75;color:var(--muted);font-weight:600;max-width:600px;margin:28px 0 26px}
.stat-row{margin-top:95px;border-top:2px solid var(--ink);border-bottom:2px solid var(--ink);display:grid;grid-template-columns:repeat(3,1fr)}
.stat-row div{padding:26px 20px;display:flex;align-items:baseline;justify-content:center;gap:12px;border-right:1px solid var(--line)}
.stat-row div:last-child{border-right:0}
.stat-row strong{font-family:"Tanker","Arial Black",Impact,sans-serif;font-size:clamp(3rem,5vw,5rem);color:var(--blue);font-weight:400}
.stat-row span{font-size:.76rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}

.quality-section{padding-top:70px}
.quality-heading{display:grid;grid-template-columns:.4fr 1fr;align-items:end;gap:30px;margin-bottom:48px}
.quality-heading .kicker{align-self:start;margin-top:12px}
.quality-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.quality-card{position:relative;min-height:350px;background:var(--paper);border:2px solid var(--ink);border-radius:var(--radius-lg);padding:28px;display:flex;flex-direction:column;justify-content:flex-end;box-shadow:0 8px 0 rgba(18,18,20,.1);transition:transform .4s var(--ease),box-shadow .4s var(--ease)}
.quality-card:hover{transform:translateY(-9px);box-shadow:0 16px 0 rgba(18,18,20,.08)}
.quality-card-blue{background:var(--blue);border-color:var(--blue);color:#fff}
.quality-icon{position:absolute;right:25px;top:22px;font-size:1.6rem;color:var(--blue)}
.quality-card-blue .quality-icon{color:var(--yellow)}
.quality-card>strong{font-size:clamp(4.5rem,7vw,7rem);line-height:.82;color:var(--blue);font-weight:400}
.quality-card-blue>strong{color:var(--yellow)}
.quality-card h3{font-size:1.8rem;margin:24px 0 8px;line-height:.95}
.quality-card p{font-size:.9rem;font-weight:600;line-height:1.6;margin:0;opacity:.68;max-width:250px}

.contact-section{padding-top:40px}
.contact-card{background:var(--blue);color:#fff;border-radius:var(--radius-xl);padding:66px;display:grid;grid-template-columns:1.15fr .85fr;gap:54px;align-items:end;position:relative;overflow:hidden;box-shadow:0 18px 0 rgba(23,25,95,.12)}
.contact-card::before{content:"";position:absolute;width:350px;height:350px;border-radius:50%;border:72px solid rgba(248,235,7,.13);right:-160px;top:-170px}
.contact-card h2{color:#fff;position:relative;z-index:1}
.contact-side{position:relative;z-index:1;border-left:1px solid rgba(255,255,255,.26);padding-left:38px;display:flex;flex-direction:column;gap:10px}
.contact-side p{font-size:.9rem;color:rgba(255,255,255,.68);font-weight:600;margin-bottom:6px}
.contact-side>a{font-size:1.2rem;font-weight:700;transition:color .25s ease,transform .25s ease;transform-origin:left}
.contact-side>a:hover{color:var(--yellow);transform:translateX(5px)}
.socials{display:flex;gap:16px;flex-wrap:wrap;margin-top:22px;font-size:.79rem;font-weight:700;text-transform:uppercase;letter-spacing:.09em}
.socials a{border-bottom:1px solid rgba(255,255,255,.45);padding-bottom:3px}
.socials a:hover{color:var(--yellow)}

.site-footer{padding:34px 0 44px;border-top:1px solid var(--line)}
.footer-row{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:28px;color:var(--muted);font-size:.76rem;font-weight:600}
.footer-brand img{width:120px}
.footer-row p{margin:0}

.chat-fab{position:fixed;right:24px;bottom:24px;z-index:120;height:64px;border:2px solid var(--ink);border-radius:999px;background:var(--blue);color:#fff;padding:0 20px 0 7px;display:flex;align-items:center;gap:11px;font-weight:700;box-shadow:0 12px 0 rgba(18,18,20,.13),0 22px 50px rgba(18,18,20,.14);transition:transform .35s var(--ease),box-shadow .35s var(--ease)}
.chat-fab:hover{transform:translateY(-5px);box-shadow:0 17px 0 rgba(18,18,20,.1),0 28px 56px rgba(18,18,20,.16)}
.chat-fab-dot{width:48px;height:48px;border-radius:50%;background:var(--yellow);color:var(--blue);display:grid;place-items:center;position:relative;overflow:hidden}
.chat-fab-dot::after{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid var(--yellow);animation:pulse 2s ease-out infinite}
.chat-fab-dot span{font-family:"Tanker","Arial Black",Impact,sans-serif;font-size:1.35rem;position:relative;z-index:2}
@keyframes pulse{0%{transform:scale(.8);opacity:.8}80%,100%{transform:scale(1.65);opacity:0}}

.chat-panel{position:fixed;right:24px;bottom:103px;z-index:119;width:min(410px,calc(100vw - 32px));height:min(590px,calc(100vh - 135px));background:var(--paper);border:2px solid var(--ink);border-radius:32px;box-shadow:var(--shadow);display:flex;flex-direction:column;overflow:hidden;opacity:0;pointer-events:none;transform:translateY(24px) scale(.96);transform-origin:bottom right;transition:opacity .3s ease,transform .38s var(--ease)}
.chat-panel.open{opacity:1;pointer-events:auto;transform:translateY(0) scale(1)}
.chat-head{min-height:88px;background:var(--blue);color:#fff;display:flex;align-items:center;gap:12px;padding:14px 16px;position:relative;overflow:hidden}
.chat-head::after{content:"";position:absolute;width:110px;height:110px;border-radius:50%;background:var(--yellow);right:-55px;top:-60px}
.chat-mark{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:var(--yellow);color:var(--blue);border:3px solid #fff;font-family:"Tanker","Arial Black",Impact,sans-serif;font-size:1.5rem;transform:rotate(-4deg);flex:0 0 auto}
.chat-title{position:relative;z-index:1;display:flex;flex-direction:column;min-width:0}
.chat-title strong{font-size:1.45rem;line-height:1}
.chat-title span{font-size:.74rem;color:rgba(255,255,255,.72);font-weight:600;margin-top:4px}
.chat-close{position:relative;z-index:2;margin-left:auto;width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.4);background:rgba(255,255,255,.1);color:#fff;font-size:1.3rem;line-height:1}
.chat-body{flex:1;overflow:auto;padding:18px 16px 10px;background:var(--offwhite);scroll-behavior:smooth}
.chat-msg{display:flex;margin-bottom:11px}.chat-msg.user{justify-content:flex-end}
.chat-bubble{max-width:84%;padding:12px 14px;border-radius:18px;font-size:.9rem;line-height:1.52;font-weight:600}
.chat-msg.bot .chat-bubble{background:var(--paper);border:1.5px solid rgba(18,18,20,.14);border-bottom-left-radius:6px}
.chat-msg.user .chat-bubble{background:var(--blue);color:#fff;border-bottom-right-radius:6px}
.chat-suggestions{display:flex;flex-wrap:wrap;gap:7px;margin:6px 0 12px}
.chat-chip{border:1.5px solid var(--ink);background:var(--paper);color:var(--ink);border-radius:999px;padding:8px 11px;font-size:.74rem;font-weight:700;transition:.2s ease}
.chat-chip:hover{background:var(--yellow);transform:translateY(-2px)}
.typing{display:inline-flex;gap:4px;align-items:center}.typing i{width:6px;height:6px;border-radius:50%;background:var(--blue);opacity:.25;animation:typingDot 1s infinite}.typing i:nth-child(2){animation-delay:.16s}.typing i:nth-child(3){animation-delay:.32s}@keyframes typingDot{50%{opacity:1;transform:translateY(-2px)}}
.chat-form{display:flex;gap:8px;padding:12px;background:var(--paper);border-top:1px solid var(--line)}
.chat-form input{min-width:0;flex:1;border:1.5px solid var(--ink);border-radius:999px;padding:12px 14px;outline:none;background:var(--offwhite);color:var(--ink);font-weight:600}
.chat-form input:focus{box-shadow:0 0 0 4px rgba(248,235,7,.55)}
.chat-send{width:47px;height:47px;border-radius:50%;border:1.5px solid var(--ink);background:var(--yellow);color:var(--ink);font-size:1.15rem;font-weight:700;transition:transform .25s ease}
.chat-send:hover{transform:rotate(45deg)}
.chat-note{padding:0 14px 12px;background:var(--paper);color:var(--muted);font-size:.66rem;font-weight:600;text-align:center}

.toast{position:fixed;left:50%;bottom:26px;z-index:130;transform:translate(-50%,28px);background:var(--ink);color:#fff;border:2px solid var(--yellow);border-radius:999px;padding:13px 18px;max-width:min(90vw,520px);font-size:.82rem;font-weight:700;text-align:center;box-shadow:0 18px 40px rgba(0,0,0,.18);opacity:0;pointer-events:none;transition:.3s var(--ease)}
.toast.show{opacity:1;transform:translate(-50%,0)}

.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .8s var(--ease)}
.reveal.is-visible{opacity:1;transform:translateY(0)}

@media(max-width:1060px){
  .desktop-nav{display:none}.menu-toggle{display:block}.nav-actions .pill{display:none}
  .hero{min-height:1020px;padding-top:50px}.hero-grid{grid-template-columns:1fr}.hero-copy{max-width:760px;padding-bottom:0}.hero h1{font-size:clamp(5.5rem,15vw,9rem)}.biscuit-stage{min-height:560px;margin-top:0}.stage-ring{right:14%;top:2%}.biscuit-cream{right:22%;top:0}.biscuit-choco{right:5%;bottom:0}.biscuit-butter{left:11%;bottom:-2%}.biscuit-fruit{left:7%;top:6%}.stage-badge{right:11%;top:4%}
  .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.story-grid{grid-template-columns:.9fr 1.1fr;gap:42px}.quality-heading{grid-template-columns:1fr}.quality-grid{grid-template-columns:1fr 1fr}.quality-card:last-child{grid-column:1/-1;min-height:280px}
}

@media(max-width:760px){
  .shell{width:min(100% - 28px,1240px)}.section{padding:82px 0}.nav-wrap{height:78px}.brand img{width:142px}.mobile-nav{inset:78px 0 auto;padding-inline:14px}
  .hero{min-height:910px;padding:38px 0 50px}.hero h1{font-size:clamp(4.7rem,22vw,7rem);margin-bottom:24px}.hero-note{font-size:1rem}.hero-actions{gap:15px}.biscuit-stage{min-height:475px}.stage-ring{width:355px;height:355px;right:4%;top:10%}.stage-ring::after{inset:36px}.biscuit-cream{width:330px;right:7%;top:6%}.biscuit-choco{width:230px;right:-5%;bottom:0}.biscuit-butter{width:255px;left:-5%;bottom:0}.biscuit-fruit{width:190px;left:-3%;top:5%}.stage-badge{width:82px;height:82px;font-size:1.05rem;right:2%;top:3%}.scroll-cue{display:none}
  .catalogue-heading{display:block;margin-bottom:26px}.catalogue-count{margin-top:25px}.product-grid{grid-template-columns:1fr}.product-media{min-height:300px}.product-media img{height:235px}.catalogue-pagination{gap:8px;margin-top:30px;flex-wrap:wrap}.pagination-control{padding:0 14px}.pagination-pages{order:3;flex-basis:100%;margin-top:3px}.section-heading{display:block;margin-bottom:34px}.section-heading h2,.quality-heading h2,.contact-card h2,.story-copy h2{font-size:clamp(4rem,17vw,6.2rem)}.mood-grid{grid-template-columns:1fr}.mood-card{min-height:420px}.mood-card img{width:68%}.mood-card:nth-child(3) img{width:74%}
  .story-grid{grid-template-columns:1fr}.year-card{max-width:390px;width:88%;margin:0 auto 12px}.story-copy p:not(.kicker){font-size:1rem}.stat-row{margin-top:60px;grid-template-columns:1fr}.stat-row div{justify-content:flex-start;border-right:0;border-bottom:1px solid var(--line)}.stat-row div:last-child{border-bottom:0}
  .quality-grid{grid-template-columns:1fr}.quality-card:last-child{grid-column:auto}.quality-card{min-height:300px}.quality-heading{margin-bottom:34px}
  .contact-card{padding:38px 28px;grid-template-columns:1fr;gap:34px}.contact-side{border-left:0;border-top:1px solid rgba(255,255,255,.26);padding:26px 0 0}.footer-row{grid-template-columns:1fr;gap:14px}.footer-row p:last-child{margin-top:2px}
  .chat-fab{right:14px;bottom:14px;height:58px}.chat-fab-dot{width:42px;height:42px}.chat-panel{right:14px;bottom:86px;height:min(570px,calc(100vh - 108px))}
}

@media(max-width:480px){
  .site-header{top:0}.mobile-nav{inset:78px 0 auto}
  .hero{min-height:825px}.biscuit-stage{min-height:420px}.stage-ring{width:315px;height:315px;right:-2%;top:12%}.biscuit-cream{width:290px;right:4%;top:8%}.biscuit-choco{width:200px;right:-7%;bottom:3%}.biscuit-butter{width:220px;left:-9%;bottom:1%}.biscuit-fruit{width:165px;left:-4%;top:6%}.stage-badge{right:0}.hero-actions .pill{width:100%}.hero-actions .text-link{margin-left:3px}
  .catalogue-heading h2{font-size:clamp(4rem,18vw,6rem)}.catalogue-filters{flex-wrap:nowrap;overflow-x:auto;padding-bottom:20px;scrollbar-width:none}.catalogue-filters::-webkit-scrollbar{display:none}.catalogue-filter{flex:0 0 auto}.product-media{min-height:250px;padding-inline:18px}.product-media img{height:190px}.product-info{min-height:102px;padding:18px}.product-info h3{font-size:2rem}.mood-card{min-height:360px;border-radius:30px;padding:22px}.mood-copy strong{font-size:3.4rem}.mood-card img{width:73%;right:-8%}.mood-arrow{left:22px;bottom:21px}.mood-index{top:20px;right:20px}
  .chat-fab{width:58px;padding:0;justify-content:center}.chat-fab-label{display:none}.chat-fab-dot{background:var(--yellow)}.chat-panel{left:14px;right:14px;width:auto;border-radius:26px}
}


@media(max-width:1060px){
  .snack-lottery-grid{grid-template-columns:1fr;gap:46px}.snack-lottery-copy{max-width:850px}.snack-lottery-copy h2{font-size:clamp(5rem,12vw,8rem)}.snack-wheel-panel{width:min(100%,680px);margin-inline:auto}.snack-wheel-shell{width:min(100%,540px)}
}

@media(max-width:760px){
  .snack-lottery-section{padding-block:84px}.snack-lottery-grid{gap:36px}.snack-lottery-copy h2{font-size:clamp(4.15rem,16vw,6.5rem);line-height:.78}.snack-lottery-intro{font-size:.96rem}.snack-wheel-panel{padding:18px 17px 22px;border-radius:32px}.snack-wheel{border-width:8px}.snack-wheel-slot{width:48px;height:48px;margin:-24px;border-radius:14px;transform:rotate(var(--slot-angle)) translateY(calc(-1 * min(37vw,178px))) rotate(calc(-1 * var(--slot-angle)))}.snack-wheel-slot img{width:43px;height:43px}.snack-wheel-center{width:108px;height:108px;border-width:6px}.snack-wheel-center span{font-size:1.25rem}.snack-pointer{top:-4px;transform:translateX(-50%) scale(.86)}.snack-spin-button{min-height:68px;grid-template-columns:50px 1fr;padding:8px 14px}.snack-spin-button small{display:none}.snack-spin-icon{width:44px;height:44px}.snack-spin-button strong{font-size:1.75rem}.snack-modal{padding:14px}.snack-modal-dialog{grid-template-columns:1fr;gap:18px;max-height:calc(100vh - 28px);padding:22px;border-radius:30px}.snack-modal-media{min-height:230px}.snack-modal-media img{height:210px}.snack-modal-copy{padding:0 6px 8px}.snack-modal-copy h3{font-size:clamp(3rem,13vw,5rem)}.snack-modal-badge{left:18px;top:18px;width:62px;height:62px}.snack-modal-close{right:14px;top:14px}.snack-confetti i{width:8px;height:14px}
}

@media(max-width:480px){
  .snack-lottery-copy h2{font-size:clamp(3.5rem,16.5vw,5rem)}.snack-lottery-meta span{padding:8px 10px;font-size:.61rem}.snack-lottery-prompt{align-items:flex-start}.snack-prompt-mark{width:40px;height:40px}.snack-wheel-header{font-size:.58rem}.snack-wheel-panel{padding-inline:12px}.snack-wheel-shell{width:100%}.snack-wheel-slot{width:40px;height:40px;margin:-20px;border-width:1.5px;border-radius:12px;transform:rotate(var(--slot-angle)) translateY(calc(-1 * (35vw - 6px))) rotate(calc(-1 * var(--slot-angle)))}.snack-wheel-slot img{width:36px;height:36px;padding:3px}.snack-wheel-center{width:86px;height:86px;border-width:5px}.snack-wheel-center span{font-size:1rem}.snack-pointer{transform:translateX(-50%) scale(.7);transform-origin:top center}.snack-spin-button strong{font-size:1.55rem}.snack-wheel-status{font-size:.64rem}.snack-modal-media{min-height:205px}.snack-modal-media img{height:185px;padding:16px}.snack-modal-media::before{width:155px;height:155px}.snack-modal-media::after{width:128px;height:128px}.snack-modal-copy h3{font-size:clamp(2.8rem,14vw,4.2rem)}.snack-modal-actions{display:grid}.snack-modal-primary,.snack-modal-secondary{width:100%}.snack-result-kicker{margin-bottom:12px}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
  .reveal{opacity:1;transform:none}
}

/* Grid children are explicitly shrinkable so oversized display type never widens the page. */
.hero-grid>* , .story-grid>* , .quality-heading>* , .contact-card>*{min-width:0}

@media(max-width:760px){
  .story-copy h2{font-size:clamp(3.25rem,13vw,5rem)}
  .year-card{width:min(88%,340px)}
}


/* ============================================================
   BESTSELLERS — Duos + The Real Digestive, above the catalogue
   ============================================================ */
.bestsellers-section{position:relative;overflow:hidden;isolation:isolate;background:var(--paper);border-top:1px solid var(--line);padding-block:104px}
.bestsellers-section::before{content:"";position:absolute;inset:0;z-index:-3;background:radial-gradient(circle at 10% 16%,rgba(248,235,7,.3),transparent 30%),radial-gradient(circle at 92% 84%,rgba(46,49,146,.1),transparent 32%)}
.bestsellers-section::after{content:"BESTSELLERS / BESTSELLERS /";position:absolute;left:-2vw;bottom:-.18em;z-index:-2;font-family:"Tanker","Arial Black",Impact,sans-serif;font-size:clamp(7rem,17vw,16rem);line-height:.7;letter-spacing:.025em;white-space:nowrap;color:rgba(18,18,20,.035);pointer-events:none}
.bestseller-orbit{position:absolute;z-index:-1;border-radius:50%;pointer-events:none}
.bestseller-orbit-one{width:290px;height:290px;border:2px dashed rgba(18,18,20,.14);right:-105px;top:70px;animation:spin 34s linear infinite}
.bestseller-orbit-two{width:180px;height:180px;border:2px dashed rgba(46,49,146,.18);left:-72px;bottom:110px;animation:spin 26s linear infinite reverse}

.bestseller-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:50px;position:relative;z-index:1}
.bestseller-heading>div{min-width:0}
.bestseller-heading h2{font-size:clamp(3.6rem,7vw,6.8rem);line-height:.79;margin:0}
.bestseller-note{max-width:430px;margin:0 0 6px;color:var(--muted);font-size:1rem;line-height:1.72;font-weight:600}
.bestseller-note strong{color:var(--blue);font-weight:700}

.bestseller-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px;position:relative;z-index:1}
.bestseller-card{--bs-accent:var(--yellow);--bs-ink:var(--ink);position:relative;min-width:0;display:flex;flex-direction:column;padding:24px;border:2px solid var(--ink);border-radius:var(--radius-xl);background:var(--paper);box-shadow:0 10px 0 rgba(18,18,20,.11),0 32px 64px rgba(18,18,20,.07);overflow:hidden;transition:transform .42s var(--ease),box-shadow .42s var(--ease)}
.bestseller-card:hover{transform:translateY(-9px);box-shadow:0 18px 0 rgba(18,18,20,.09),0 40px 76px rgba(18,18,20,.1)}
.bestseller-card-digestive{--bs-accent:var(--blue);--bs-ink:#fff}

.bestseller-rank{position:absolute;right:20px;top:12px;z-index:4;font-family:"Tanker","Arial Black",Impact,sans-serif;font-size:5.2rem;line-height:1;color:rgba(18,18,20,.09);pointer-events:none}
.bestseller-tag{position:absolute;left:22px;top:22px;z-index:5;display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border:2px solid var(--ink);border-radius:999px;background:var(--bs-accent);color:var(--bs-ink);font-size:.63rem;font-weight:700;letter-spacing:.11em;box-shadow:0 4px 0 rgba(18,18,20,.16)}
.bestseller-tag i{width:8px;height:8px;border-radius:50%;background:currentColor;animation:snackPulse 1.9s ease-in-out infinite}

.bestseller-media{position:relative;display:grid;place-items:center;min-height:330px;margin-bottom:22px;padding:52px 24px 22px;border-radius:var(--radius-lg);background:linear-gradient(150deg,rgba(255,255,255,.7),rgba(247,243,232,.85));border:1px solid var(--line);overflow:hidden;isolation:isolate}
.bestseller-media::before{content:"";position:absolute;z-index:-1;width:238px;height:238px;border-radius:50%;background:var(--bs-accent);opacity:.26;transition:transform .6s var(--ease),opacity .4s ease}
.bestseller-media::after{content:"";position:absolute;z-index:-1;width:290px;height:290px;border-radius:50%;border:2px dashed rgba(18,18,20,.16);animation:spin 30s linear infinite}
.bestseller-card:hover .bestseller-media::before{transform:scale(1.14);opacity:.36}
.bestseller-media img{position:relative;z-index:2;width:100%;height:264px;object-fit:contain;transform:rotate(-2deg);filter:drop-shadow(0 20px 20px rgba(18,18,20,.18));transition:transform .6s var(--ease),filter .45s var(--ease)}
.bestseller-card:hover .bestseller-media img{transform:translateY(-9px) rotate(2.4deg) scale(1.06);filter:drop-shadow(0 28px 26px rgba(18,18,20,.22))}

.bestseller-copy{display:flex;flex-direction:column;flex:1;padding:0 4px 2px}
.bestseller-eyebrow{margin:0 0 10px;font-size:.66rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--blue)}
.bestseller-copy h3{margin:0 0 12px;font-size:clamp(2.3rem,3.4vw,3.4rem);line-height:.86}
.bestseller-blurb{margin:0 0 20px;color:var(--muted);font-size:.95rem;line-height:1.68;font-weight:600}
.bestseller-packs{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:22px}
.bestseller-pack{min-height:42px;padding:0 15px;border:1.5px solid var(--line);border-radius:999px;background:var(--offwhite);color:var(--muted);font-size:.66rem;font-weight:700;letter-spacing:.1em;transition:transform .25s var(--ease),background .25s ease,color .25s ease,border-color .25s ease,box-shadow .25s var(--ease)}
.bestseller-pack:hover,.bestseller-pack:focus-visible{transform:translateY(-3px);background:var(--bs-accent);color:var(--bs-ink);border-color:var(--ink);box-shadow:0 5px 0 rgba(18,18,20,.14)}
.bestseller-cta{margin-top:auto;min-height:58px;width:100%;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:0 20px;border:2px solid var(--ink);border-radius:20px;background:var(--ink);color:var(--paper);font-size:.76rem;font-weight:700;letter-spacing:.11em;box-shadow:0 7px 0 rgba(18,18,20,.2);transition:transform .25s var(--ease),box-shadow .25s var(--ease),background .25s ease,color .25s ease}
.bestseller-cta:hover{transform:translateY(-4px);background:var(--bs-accent);color:var(--bs-ink);box-shadow:0 11px 0 rgba(18,18,20,.16)}
.bestseller-cta:active{transform:translateY(3px);box-shadow:0 4px 0 rgba(18,18,20,.2)}

@media(max-width:1060px){
  .bestsellers-section{padding-block:88px}
  .bestseller-grid{grid-template-columns:1fr;gap:26px}
  .bestseller-card{max-width:720px;margin-inline:auto;width:100%}
  .bestseller-media{min-height:300px}
  .bestseller-media img{height:240px}
}

@media(max-width:760px){
  .bestsellers-section{padding-block:76px}
  .bestseller-heading{display:block;margin-bottom:34px}
  .bestseller-heading h2{font-size:clamp(3.4rem,14vw,5.4rem)}
  .bestseller-note{margin-top:22px;max-width:none;font-size:.96rem}
  .bestseller-card{padding:18px;border-radius:32px}
  .bestseller-rank{font-size:4rem;right:16px;top:8px}
  .bestseller-tag{left:16px;top:16px;font-size:.58rem;padding:8px 12px}
  .bestseller-media{min-height:262px;padding-top:56px;margin-bottom:18px}
  .bestseller-media img{height:206px}
  .bestseller-media::before{width:196px;height:196px}
  .bestseller-media::after{width:238px;height:238px}
  .bestseller-copy h3{font-size:clamp(2.2rem,9vw,3rem)}
}

@media(max-width:480px){
  .bestseller-blurb{font-size:.9rem}
  .bestseller-pack{min-height:38px;padding:0 12px;font-size:.6rem}
  .bestseller-cta{min-height:54px;font-size:.7rem}
}

/* ============================================================
   COOKIE CURSOR + CRUMB BURST
   ============================================================ */
@media(hover:hover) and (pointer:fine){
  body.cookie-cursor-on,body.cookie-cursor-on *{cursor:none}
  body.cookie-cursor-on input,body.cookie-cursor-on textarea,body.cookie-cursor-on [contenteditable="true"]{cursor:text}
}

/* Scale/rotation live inside the JS transform string. Never use the standalone
   `scale` property here: it composes AFTER `transform`, so it multiplies the
   translate and drags the cookie away from the real pointer position. */
.cookie-cursor{position:fixed;left:0;top:0;z-index:9999;width:40px;height:40px;pointer-events:none;opacity:0;transform-origin:50% 50%;will-change:transform;filter:drop-shadow(0 4px 6px rgba(18,18,20,.34));transition:opacity .2s ease}
.cookie-cursor.is-ready{opacity:1}
.cookie-cursor svg{display:block;width:100%;height:100%}
.cookie-cursor.is-hidden,.cookie-cursor.is-out{opacity:0}

.cookie-crumbs{position:fixed;inset:0;z-index:9998;pointer-events:none;overflow:hidden}
.cookie-crumb{position:fixed;left:0;top:0;width:var(--size,5px);height:var(--size,5px);will-change:transform;animation:cookieCrumbX var(--dur,.8s) linear forwards}
.cookie-crumb b{display:block;width:100%;height:100%;border-radius:var(--radius,50%);background:var(--tone,#c8843d);box-shadow:0 1px 0 rgba(18,18,20,.22);will-change:transform,opacity;animation:cookieCrumbY var(--dur,.8s) cubic-bezier(.34,.05,.72,1) forwards}

@keyframes cookieCrumbX{
  from{transform:translate3d(var(--x),var(--y),0)}
  to{transform:translate3d(calc(var(--x) + var(--dx)),var(--y),0)}
}
@keyframes cookieCrumbY{
  0%{transform:translateY(0) rotate(0deg) scale(1);opacity:1}
  32%{transform:translateY(var(--rise,-30px)) rotate(calc(var(--spin,300deg) * .38)) scale(1);opacity:1}
  100%{transform:translateY(var(--fall,70px)) rotate(var(--spin,300deg)) scale(.55);opacity:0}
}

@media(prefers-reduced-motion:reduce){
  .cookie-cursor{transition:none}
  .cookie-crumbs{display:none}
}

/* ============================================================
   PREMIUM LOWER PAGE — Story, Quality, Contact + Footer
   Keeps the catalogue above untouched. White + black lead,
   with Manji blue reserved for small accents only.
   ============================================================ */
#story,
#quality,
#contact,
.site-footer{
  background:#fff;
  color:var(--ink);
}

#story{
  border-top:1px solid rgba(18,18,20,.10);
  padding-top:132px;
  padding-bottom:108px;
}

#story .story-grid{
  gap:clamp(52px,7vw,96px);
}

#story .year-card{
  position:relative;
  aspect-ratio:1.08/1;
  max-width:440px;
  border-radius:32px;
  background:#fff;
  border:1px solid rgba(18,18,20,.18);
  box-shadow:0 24px 60px rgba(18,18,20,.07);
  transform:none;
  overflow:hidden;
}

#story .year-card::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:5px;
  background:var(--blue);
}

#story .year-card:hover{
  transform:translateY(-6px);
  box-shadow:0 30px 70px rgba(18,18,20,.10);
}

#story .year-card strong{
  color:var(--ink);
  font-size:clamp(5.8rem,10vw,9rem);
}

#story .year-card span,
#story .year-card em{
  color:#686868;
  letter-spacing:.2em;
}

#story .story-copy .kicker,
#quality .quality-heading .kicker{
  color:var(--blue);
}

#story .story-copy p:not(.kicker){
  color:#5f5f62;
  max-width:560px;
}

#story .stat-row{
  margin-top:88px;
  border-top:1px solid var(--ink);
  border-bottom:1px solid var(--ink);
  background:#fff;
}

#story .stat-row div{
  padding:30px 22px;
  border-right:1px solid rgba(18,18,20,.14);
}

#story .stat-row strong{
  color:var(--ink);
}

#story .stat-row span{
  color:#656569;
}

#quality{
  padding-top:110px;
  padding-bottom:112px;
  border-top:1px solid rgba(18,18,20,.08);
}

#quality .quality-heading{
  margin-bottom:54px;
}

#quality .quality-card{
  min-height:340px;
  background:#fff;
  border:1px solid rgba(18,18,20,.2);
  border-radius:24px;
  box-shadow:0 18px 45px rgba(18,18,20,.055);
  padding:30px;
}

#quality .quality-card:hover{
  transform:translateY(-6px);
  box-shadow:0 24px 56px rgba(18,18,20,.085);
}

#quality .quality-card::before{
  content:"";
  position:absolute;
  top:0;
  left:30px;
  width:44px;
  height:4px;
  background:var(--blue);
}

#quality .quality-card-blue{
  background:var(--ink);
  border-color:var(--ink);
  color:#fff;
}

#quality .quality-card-blue::before{
  background:var(--blue);
}

#quality .quality-icon{
  color:var(--blue);
  font-size:1.35rem;
}

#quality .quality-card-blue .quality-icon{
  color:#fff;
  opacity:.75;
}

#quality .quality-card>strong{
  color:var(--ink);
}

#quality .quality-card-blue>strong{
  color:#fff;
}

#quality .quality-card h3{
  color:inherit;
}

#quality .quality-card p{
  color:#636367;
  opacity:1;
}

#quality .quality-card-blue p{
  color:rgba(255,255,255,.64);
}

#contact{
  padding-top:40px;
  padding-bottom:108px;
}

#contact .contact-card{
  background:var(--ink);
  color:#fff;
  border-radius:28px;
  border:1px solid var(--ink);
  box-shadow:0 24px 64px rgba(18,18,20,.12);
  padding:64px;
}

#contact .contact-card::before{
  content:"";
  position:absolute;
  width:72px;
  height:5px;
  border:0;
  border-radius:999px;
  background:var(--blue);
  right:40px;
  top:38px;
}

#contact .kicker-light{
  color:#8e90db;
}

#contact .contact-side{
  border-left:1px solid rgba(255,255,255,.18);
}

#contact .contact-side p{
  color:rgba(255,255,255,.58);
}

#contact .contact-side>a:hover,
#contact .socials a:hover{
  color:#9b9de1;
}

#contact .socials a{
  border-bottom-color:rgba(255,255,255,.30);
}

.site-footer{
  padding:36px 0 48px;
  border-top:1px solid rgba(18,18,20,.12);
}

.site-footer .footer-row{
  color:#6b6b6e;
}

@media(max-width:1060px){
  #story{padding-top:108px;padding-bottom:92px}
  #story .story-grid{gap:44px}
  #quality{padding-top:92px;padding-bottom:96px}
  #contact{padding-bottom:92px}
}

@media(max-width:760px){
  #story{padding-top:84px;padding-bottom:76px}
  #story .year-card{width:100%;max-width:390px;border-radius:26px;aspect-ratio:1.12/1}
  #story .stat-row{margin-top:58px}
  #story .stat-row div{border-right:0;border-bottom:1px solid rgba(18,18,20,.12)}
  #story .stat-row div:last-child{border-bottom:0}
  #quality{padding-top:78px;padding-bottom:82px}
  #quality .quality-card{min-height:280px;border-radius:22px}
  #contact{padding-top:18px;padding-bottom:76px}
  #contact .contact-card{padding:40px 28px;border-radius:24px}
  #contact .contact-card::before{right:28px;top:25px;width:52px;height:4px}
  #contact .contact-side{border-left:0;border-top:1px solid rgba(255,255,255,.18);padding:26px 0 0}
}

/* 2026 refinement: quieter monochrome system, Manji blue/yellow retained as accents */
:root{
  --paper:#ffffff;
  --ink:#111111;
  --muted:#676767;
  --line:#dedede;
  --soft:#f4f4f2;
  --soft-2:#ececeb;
  --accent-blue:#21489a;
  --accent-yellow:#f3cf22;
}
html{scroll-behavior:smooth}
body{background:var(--paper);color:var(--ink)}
.site-header{background:rgba(255,255,255,.94);border-bottom:1px solid var(--line);backdrop-filter:blur(18px)}
.nav-wrap{min-height:78px}
.brand img{max-height:54px;width:auto}
.desktop-nav.nav-toggle-pair{display:flex;align-items:center;gap:6px;margin-left:auto}
.nav-toggle{display:inline-flex!important;align-items:center;justify-content:center;min-height:44px;padding:0 18px!important;border:1px solid #d7d7d7;border-radius:999px;background:#fff;color:#111!important;font-size:12px!important;font-weight:800;letter-spacing:.06em;text-decoration:none;transition:.2s ease}
.nav-toggle:hover{border-color:#111;transform:translateY(-1px)}
.nav-toggle.is-active{background:#111;color:#fff!important;border-color:#111}
.nav-toggle.is-active::after{content:"";width:7px;height:7px;border-radius:50%;background:var(--accent-yellow);margin-left:9px}
.nav-actions-minimal{display:none!important}.menu-toggle,.mobile-nav{display:none!important}
.hero{background:#f5f5f3!important}.hero-orbit{opacity:.08!important}.hero-orbit.orbit-blue{border-color:#111!important}.hero-orbit.orbit-yellow{background:#dadada!important}.stage-ring{border-color:#d7d7d7!important}.stage-badge{background:#111!important;color:#fff!important}.pill-yellow{background:var(--accent-yellow)!important;color:#111!important}.pill-blue{background:#111!important}.kicker{color:#555!important}.crunch-strip{background:#111!important;color:#fff!important}.crunch-track b{color:var(--accent-yellow)!important}
.crunch-section,.catalogue-section,.story-section,.quality-section,.contact-section{background:#fff!important}.mood-card{background:#f1f1ef!important;color:#111!important;border-color:#d7d7d7!important}.mood-card-blue{background:#222!important;color:#fff!important}.mood-card-yellow{background:#e9e9e6!important;color:#111!important}.mood-card-blue .mood-index,.mood-card-blue small{color:#d5d5d5!important}.mood-card-yellow .mood-index{color:#777!important}
.snack-lottery-section{background:#efefed!important}.snack-lottery-copy h2,.snack-lottery-intro{color:#111!important}.lottery-orbit{opacity:.06!important}.snack-wheel-panel{background:#fff!important;border-color:#d4d4d4!important;box-shadow:0 22px 60px rgba(0,0,0,.08)!important}.snack-spin-button{background:#111!important;color:#fff!important}.snack-live-dot i{background:var(--accent-yellow)!important}.bestsellers-section{background:#161616!important}.bestseller-card{border-color:#444!important}.bestseller-card-digestive,.bestseller-card-duos{background:#202020!important}.bestseller-orbit{opacity:.12!important}

/* Human moment */
.human-moment{padding:clamp(70px,9vw,130px) 0;background:#fff}
.human-moment-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:clamp(36px,6vw,90px);align-items:center}
.human-moment-image{position:relative;min-height:620px}
.human-moment-image img{width:100%;height:100%;max-height:760px;object-fit:cover;object-position:center;border-radius:48px;display:block;filter:saturate(.92) contrast(1.02)}
.moment-sticker{position:absolute;right:-24px;bottom:40px;width:150px;height:150px;border-radius:50%;display:grid;place-items:center;text-align:center;background:var(--accent-yellow);color:#111;font-family:Tanker,Impact,sans-serif;font-size:26px;line-height:.9;transform:rotate(8deg);box-shadow:0 18px 40px rgba(0,0,0,.14)}
.moment-doodle{position:absolute;left:-18px;top:52px;width:74px;height:74px;border-radius:50%;display:grid;place-items:center;background:#111;color:#fff;font-size:33px;transform:rotate(-8deg)}
.human-moment-copy h2{font-size:clamp(52px,7vw,108px);line-height:.82;margin:.2em 0 .3em;color:#111}
.human-moment-copy>p:not(.kicker){max-width:550px;font-size:clamp(18px,2vw,23px);line-height:1.55;color:#4d4d4d}
.soft-link{display:inline-flex;gap:14px;margin-top:24px;color:#111;font-weight:800;text-decoration:none;border-bottom:2px solid var(--accent-yellow);padding-bottom:7px}

/* Recipes */
.recipes-section{background:#f2f2f0;padding:clamp(80px,10vw,140px) 0}
.recipes-head{display:grid;grid-template-columns:1fr minmax(280px,480px);align-items:end;gap:40px;margin-bottom:48px}
.recipes-head h2{font-size:clamp(58px,8vw,120px);line-height:.82;margin:.15em 0 0;color:#111}.recipes-head>p{font-size:18px;line-height:1.6;color:#555}
.recipe-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.recipe-card{position:relative;display:flex;flex-direction:column;min-height:520px;padding:24px;border-radius:28px;background:#fff;border:1px solid #ddd;overflow:hidden}
.recipe-no{font-size:12px;font-weight:800;color:#777}.recipe-visual{height:150px;border-radius:20px;margin:18px 0 24px;padding:20px;display:flex;align-items:flex-end;font-family:Tanker,Impact,sans-serif;font-size:42px;line-height:.8;letter-spacing:.01em;background:#ddd;color:#111}.recipe-visual-b{background:#1a1a1a;color:#fff}.recipe-visual-c{background:#d9d9d9}.recipe-visual-d{background:var(--accent-yellow)}
.recipe-product{font-size:11px;font-weight:800;letter-spacing:.11em;color:var(--accent-blue)}.recipe-card h3{font-size:25px;line-height:1.05;margin:8px 0 12px}.recipe-card>p:not(.recipe-product){color:#666;line-height:1.5}.recipe-product-link{margin-top:auto;align-self:flex-start;border:0;background:none;padding:18px 0 0;font:inherit;font-size:12px;font-weight:900;cursor:pointer;border-bottom:2px solid #111}
.recipe-lab{margin-top:18px;background:#111;color:#fff;border-radius:34px;padding:clamp(28px,5vw,62px);display:grid;grid-template-columns:.75fr 1fr;gap:50px;align-items:center}.recipe-lab .kicker{color:#bbb!important}.recipe-lab h3{font-family:Tanker,Impact,sans-serif;font-size:clamp(54px,7vw,92px);line-height:.85;margin:8px 0 14px}.recipe-lab-copy>p:last-child{color:#bbb;font-size:17px;line-height:1.5}.recipe-lab-controls{display:flex;gap:8px;flex-wrap:wrap}.recipe-mood,.recipe-roll{border:1px solid #555;background:#222;color:#fff;border-radius:999px;padding:13px 16px;font:inherit;font-size:11px;font-weight:800;cursor:pointer}.recipe-mood.is-active{background:#fff;color:#111;border-color:#fff}.recipe-roll{background:var(--accent-yellow);color:#111;border-color:var(--accent-yellow);margin-left:auto}.recipe-result{grid-column:2;background:#1f1f1f;border:1px solid #3a3a3a;border-radius:20px;padding:23px}.recipe-result span{font-size:10px;font-weight:800;color:#aaa;letter-spacing:.1em}.recipe-result strong{display:block;font-size:24px;margin:7px 0}.recipe-result p{margin:0;color:#cfcfcf;line-height:1.5}

/* Infinite catalogue preview */
.catalogue-section{overflow:hidden}.catalogue-conveyor{margin:14px calc(50% - 50vw) 42px;overflow:hidden;border-top:1px solid #ddd;border-bottom:1px solid #ddd;background:#fafafa;padding:18px 0}.catalogue-conveyor-track{display:flex;width:max-content;gap:12px;animation:catalogueMarquee 42s linear infinite;will-change:transform}.catalogue-conveyor:hover .catalogue-conveyor-track{animation-play-state:paused}.conveyor-card{width:210px;min-height:255px;flex:0 0 auto;border:1px solid #ddd;border-radius:20px;background:#fff;padding:14px;display:flex;flex-direction:column;cursor:pointer}.conveyor-card img{width:100%;height:160px;object-fit:contain}.conveyor-card strong{font-size:15px;line-height:1.1;margin-top:auto}.conveyor-card span{font-size:10px;color:#777;margin-top:4px}.conveyor-dot{width:8px;height:8px;border-radius:50%;background:var(--accent-yellow);margin-bottom:7px}@keyframes catalogueMarquee{to{transform:translateX(-50%)}}
.catalogue-filters{filter:grayscale(1)}.catalogue-filter.is-active{background:#111!important;color:#fff!important;border-color:#111!important}.product-card{background:#fff!important;border-color:#ddd!important}.product-category{color:#555!important}.catalogue-pagination button{border-color:#bbb!important}.pagination-pages button.is-active{background:#111!important;color:#fff!important}

/* Ask Manji */
.ask-manji-section{background:#fff;padding:clamp(80px,10vw,140px) 0}.ask-manji-stage{border:1px solid #d8d8d8;border-radius:36px;padding:clamp(28px,5vw,68px);background:#f6f6f4}.ask-manji-intro{display:grid;grid-template-columns:auto 1fr;gap:28px;align-items:start}.ask-orb{width:82px;height:82px;border-radius:24px;background:#111;color:#fff;display:grid;place-items:center;font-family:Tanker,Impact,sans-serif;font-size:46px;box-shadow:inset -8px -8px 0 var(--accent-yellow)}.ask-manji-intro h2{font-size:clamp(56px,8vw,110px);line-height:.82;margin:.1em 0 .2em}.ask-manji-intro p:last-child{max-width:680px;color:#555;font-size:18px;line-height:1.55}.ask-manji-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:44px}.ask-topic{text-align:left;border:1px solid #ddd;background:#fff;border-radius:20px;padding:22px;min-height:170px;cursor:pointer;transition:.2s ease}.ask-topic:hover{transform:translateY(-4px);border-color:#111}.ask-topic span{display:block;font-size:10px;color:#777;margin-bottom:28px}.ask-topic strong{display:block;font-size:16px}.ask-topic small{display:block;color:#666;font-size:12px;line-height:1.45;margin-top:8px}.chat-fab{background:#111!important;color:#fff!important}.chat-fab-dot{background:var(--accent-yellow)!important;color:#111!important}.chat-panel{border:1px solid #ccc!important;box-shadow:0 24px 70px rgba(0,0,0,.18)!important}.chat-head{background:#111!important}.chat-chip{background:#f0f0ef!important;color:#111!important;border-color:#ddd!important}.chat-send{background:#111!important}

/* Events */
.events-section{background:#f2f2f0;padding:clamp(70px,9vw,120px) 0}.events-shell{display:grid;grid-template-columns:.6fr 1.4fr;gap:50px;align-items:start}.events-shell h2{font-size:clamp(52px,7vw,92px);line-height:.85;margin:.15em 0}.events-empty{min-height:280px;border:1px dashed #bdbdbd;border-radius:28px;background:rgba(255,255,255,.45)}

/* Quiet down legacy corporate-style sections on consumer page */
.story-section{background:#111!important;color:#fff!important}.story-section .kicker,.story-section p,.story-section span{color:#cfcfcf!important}.year-card{background:#202020!important;color:#fff!important}.quality-card{background:#f5f5f3!important;color:#111!important;border-color:#ddd!important}.quality-card-blue{background:#111!important;color:#fff!important}.contact-card{background:#111!important}.site-footer{background:#fff!important;border-top:1px solid #ddd!important;color:#555!important}

@media(max-width:1000px){.recipe-grid{grid-template-columns:repeat(2,1fr)}.ask-manji-actions{grid-template-columns:repeat(2,1fr)}.human-moment-grid{grid-template-columns:1fr}.human-moment-image{min-height:520px}.recipes-head{grid-template-columns:1fr}.recipe-lab{grid-template-columns:1fr}.recipe-result{grid-column:1}.events-shell{grid-template-columns:1fr}}
@media(max-width:720px){.nav-wrap{padding:10px 16px;gap:8px}.brand img{max-width:92px}.desktop-nav.nav-toggle-pair{gap:4px}.nav-toggle{padding:0 10px!important;min-height:38px;font-size:9px!important}.hero{padding-top:100px!important}.human-moment-image{min-height:440px}.human-moment-image img{border-radius:30px}.moment-sticker{width:110px;height:110px;right:8px;font-size:20px}.moment-doodle{left:8px;top:28px}.recipe-grid{grid-template-columns:1fr}.ask-manji-intro{grid-template-columns:1fr}.ask-manji-actions{grid-template-columns:1fr}.catalogue-conveyor-track{animation-duration:32s}.conveyor-card{width:170px;min-height:220px}.conveyor-card img{height:130px}}
@media(prefers-reduced-motion:reduce){.catalogue-conveyor-track{animation:none!important}}


/* v3 navigation, white storytelling and depot finder */
.desktop-nav.nav-toggle-pair{gap:8px;overflow:visible}
.nav-primary{font-weight:900!important}
.nav-link-secondary{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 12px;border:0;background:transparent;color:#333;text-decoration:none;font:inherit;font-size:11px;font-weight:800;letter-spacing:.06em;white-space:nowrap;cursor:pointer;border-radius:999px;transition:.2s ease}
.nav-link-secondary:hover{background:#f1f1ef;color:#000}
.depot-nav{position:relative}
.depot-nav-trigger span{margin-left:5px;font-size:14px}
.depot-nav-menu{position:absolute;right:0;top:calc(100% + 13px);width:320px;padding:12px;border:1px solid #d8d8d8;border-radius:22px;background:#fff;box-shadow:0 24px 60px rgba(0,0,0,.15);opacity:0;visibility:hidden;transform:translateY(-8px);transition:.2s ease;z-index:100}
.depot-nav.open .depot-nav-menu,.depot-nav:focus-within .depot-nav-menu{opacity:1;visibility:visible;transform:none}
.depot-menu-head{padding:9px 10px 12px;font-size:10px;font-weight:900;letter-spacing:.12em;color:#777}
.depot-nav-menu>a{display:flex;flex-direction:column;gap:3px;padding:11px 10px;border-radius:12px;color:#111;text-decoration:none}
.depot-nav-menu>a:hover{background:#f3f3f1}
.depot-nav-menu>a strong{font-size:13px}.depot-nav-menu>a span{font-size:11px;color:#686868}
.depot-menu-locate{width:100%;margin-top:8px;min-height:44px;border:0;border-radius:12px;background:#111;color:#fff;font:inherit;font-size:10px;font-weight:900;letter-spacing:.08em;cursor:pointer}

/* Best sellers, now clean and white */
.bestsellers-section{background:#fff!important;color:#111!important;border-top:1px solid #e1e1df!important}
.bestsellers-section::before{background:radial-gradient(circle at 12% 15%,rgba(248,235,7,.13),transparent 28%),radial-gradient(circle at 90% 82%,rgba(46,49,146,.055),transparent 30%)!important}
.bestsellers-section::after{color:rgba(18,18,20,.025)!important}
.bestseller-card,.bestseller-card-digestive,.bestseller-card-duos{background:#fff!important;color:#111!important;border-color:#d8d8d8!important;box-shadow:0 12px 0 rgba(18,18,20,.045),0 28px 60px rgba(18,18,20,.055)!important}
.bestseller-card:hover{box-shadow:0 15px 0 rgba(18,18,20,.04),0 34px 68px rgba(18,18,20,.08)!important}
.bestseller-media{background:#f5f5f3!important;border-color:#e0e0de!important}
.bestseller-card-digestive{--bs-accent:#e9e9e5!important;--bs-ink:#111!important}
.bestseller-card-duos{--bs-accent:#111!important;--bs-ink:#fff!important}
.bestseller-tag{border-color:#111!important}
.bestseller-eyebrow{color:#555!important}
.bestseller-pack{background:#fafafa!important;border-color:#ddd!important;color:#555!important}
.bestseller-pack:hover,.bestseller-pack:focus-visible{background:#111!important;color:#fff!important;border-color:#111!important}
.bestseller-cta{background:#111!important;color:#fff!important;border-color:#111!important}
.bestseller-cta:hover{background:#ecece9!important;color:#111!important}

/* Our story, now part of the white editorial system */
.story-section{background:#fff!important;color:#111!important;border-top:1px solid #e1e1df!important}
.story-section .kicker,.story-section p,.story-section span{color:#5d5d5d!important}
.story-section h2,.story-section strong,.story-section em{color:#111!important}
.year-card{background:#f2f2ef!important;color:#111!important;border:1px solid #dededb!important;box-shadow:none!important}
.stat-row>div{border-color:#ddd!important}



/* v4 polish: repaired navigation and no dark section backgrounds */
.site-header{
  position:sticky;
  top:0;
  z-index:300;
  background:rgba(255,255,255,.96)!important;
  border-bottom:1px solid #dedede!important;
  box-shadow:0 8px 30px rgba(17,17,17,.04);
}
.site-header .nav-wrap{
  min-height:84px;
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  gap:28px;
  padding-block:10px;
}
.site-header .brand{display:flex;align-items:center;min-width:max-content}
.site-header .brand img{width:auto;max-width:132px;max-height:58px}
.desktop-nav.nav-toggle-pair{
  justify-self:end;
  display:flex!important;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:nowrap;
  gap:8px!important;
  width:auto;
  min-width:0;
  margin:0!important;
}
.nav-primary,.nav-link-secondary,.depot-nav-trigger{
  flex:0 0 auto;
  line-height:1;
}
.nav-primary{min-height:44px!important;padding-inline:18px!important}
.nav-link-secondary{min-height:40px!important;padding-inline:13px!important}
.depot-nav{flex:0 0 auto;position:relative}
.depot-nav-menu{top:calc(100% + 12px)!important;right:0!important}

/* No section uses a black background. Dark ink remains an accent only. */
.crunch-strip{background:#f1f1ef!important;color:#111!important;border-block:1px solid #dedede}
.crunch-track b{color:var(--accent-blue)!important}
.snack-lottery-section{background:#f2f2f0!important}
.bestsellers-section{background:#fff!important}
.recipes-section{background:#f4f4f2!important}
.catalogue-section{background:#fff!important}
.ask-manji-section{background:#fff!important}
.story-section{background:#fff!important}
.quality-section{background:#f4f4f2!important}
.contact-section{background:#fff!important}

/* Remove unnecessarily dark content blocks left from earlier styling. */
.mood-card-blue{background:#e7e7e4!important;color:#111!important}
.mood-card-blue .mood-index,.mood-card-blue small{color:#666!important}
.recipe-visual-b{background:#dededb!important;color:#111!important}
.quality-card-blue{background:#fff!important;color:#111!important;border-color:#d8d8d8!important}
#quality .quality-card-blue::before{background:var(--accent-blue)!important}
#quality .quality-card-blue .quality-icon{color:var(--accent-blue)!important;opacity:1!important}
#quality .quality-card-blue>strong{color:#111!important}
#quality .quality-card-blue p{color:#636367!important}
#contact .contact-card{
  background:#f3f3f1!important;
  color:#111!important;
  border-color:#d9d9d6!important;
  box-shadow:0 22px 60px rgba(17,17,17,.07)!important;
}
#contact .kicker-light{color:#555!important}
#contact .contact-side{border-left-color:#d3d3d0!important}
#contact .contact-side p{color:#666!important}
#contact .contact-side>a,#contact .socials a{color:#111!important}
#contact .socials a{border-bottom-color:#c9c9c6!important}
#contact .contact-side>a:hover,#contact .socials a:hover{color:var(--accent-blue)!important}


@media(max-width:1120px){
  .site-header .nav-wrap{gap:16px}
  .site-header .brand img{max-width:108px}
  .nav-primary{padding-inline:13px!important;font-size:10px!important}
  .nav-link-secondary{padding-inline:9px!important;font-size:9.5px!important}
}
@media(max-width:820px){
  .site-header{position:sticky}
  .site-header .nav-wrap{
    width:100%;
    min-height:auto;
    padding:10px 14px 12px;
    grid-template-columns:1fr;
    gap:9px;
  }
  .site-header .brand{justify-self:center}
  .site-header .brand img{max-width:100px;max-height:45px}
  .desktop-nav.nav-toggle-pair{
    width:100%;
    justify-self:stretch;
    justify-content:flex-start;
    gap:6px!important;
    overflow-x:auto!important;
    scrollbar-width:none;
    padding:1px 0 3px;
  }
  .desktop-nav.nav-toggle-pair::-webkit-scrollbar{display:none}
  .nav-link-secondary,.depot-nav .nav-link-secondary{display:inline-flex!important}
  .depot-nav{display:block!important}
  .nav-primary{min-height:40px!important;padding-inline:12px!important;font-size:9px!important}
  .nav-link-secondary{min-height:38px!important;padding-inline:10px!important;font-size:9px!important}
  .depot-nav-menu{position:fixed!important;left:14px!important;right:14px!important;top:116px!important;width:auto!important;max-height:calc(100vh - 140px);overflow:auto}
}
@media(max-width:520px){
}


/* v5 mobile navigation and UI cleanup */
.product-category,
.product-card:nth-child(even) .product-category{
  background:#fff!important;
  color:#111!important;
  border:1px solid #cfcfcb!important;
  box-shadow:0 2px 0 rgba(17,17,17,.06);
}
#contact .contact-card h2{color:var(--accent-blue)!important;}
.mobile-menu-toggle,.mobile-nav{display:none;}
.mobile-menu-toggle{
  width:44px;height:44px;border:1px solid #d6d6d2;border-radius:14px;background:#fff;
  align-items:center;justify-content:center;flex-direction:column;gap:4px;padding:0;cursor:pointer;
}
.mobile-menu-toggle span{width:19px;height:2px;border-radius:2px;background:#111;transition:.22s ease;}
.mobile-menu-toggle.open span:nth-child(1){transform:translateY(6px) rotate(45deg);}
.mobile-menu-toggle.open span:nth-child(2){opacity:0;}
.mobile-menu-toggle.open span:nth-child(3){transform:translateY(-6px) rotate(-45deg);}
.mobile-nav{
  position:absolute;top:100%;left:14px;right:14px;background:#fff;border:1px solid #d9d9d5;
  border-radius:22px;box-shadow:0 24px 70px rgba(17,17,17,.12);padding:12px;max-height:calc(100vh - 92px);overflow:auto;
}
.mobile-nav.open{display:grid;gap:4px;}
.mobile-nav>a,.mobile-depots>summary{
  min-height:48px;display:flex;align-items:center;padding:0 14px;border-radius:14px;color:#111;text-decoration:none;
  font-size:11px;font-weight:900;letter-spacing:.08em;cursor:pointer;list-style:none;
}
.mobile-depots>summary::-webkit-details-marker{display:none;}
.mobile-nav>a:hover,.mobile-depots>summary:hover{background:#f3f3f1;}
.mobile-nav-primary{background:#111!important;color:#fff!important;}
.mobile-depot-list{display:grid;gap:4px;padding:4px 4px 8px 14px;}
.mobile-depot-list>a{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-left:2px solid #deded9;color:#111;text-decoration:none;}
.mobile-depot-list strong{font-size:12px}.mobile-depot-list span{font-size:10px;color:#666;}
@media(max-width:820px){
  .site-header .nav-wrap{grid-template-columns:auto 44px!important;min-height:68px!important;padding:10px 14px!important;}
  .site-header .brand{justify-self:start!important;}
  .desktop-nav.nav-toggle-pair{display:none!important;}
  .mobile-menu-toggle{display:flex;justify-self:end;}
  .site-header{position:sticky;}
}

/* v6 mobile navigation repair */
@media(max-width:820px){
  .mobile-nav{
    display:none!important;
    top:100%!important;
    left:14px!important;
    right:14px!important;
    transform:none!important;
    opacity:1!important;
    pointer-events:auto!important;
    z-index:500!important;
  }
  .mobile-nav.open{display:grid!important;}
  .mobile-menu-toggle{display:flex!important;}
}

/* Contacts navigation + modal */
.contact-nav-trigger{font-family:inherit}
.contact-modal[hidden]{display:none!important}
.contact-modal{position:fixed;inset:0;z-index:300;display:grid;place-items:center;padding:24px}
.contact-modal-backdrop{position:absolute;inset:0;background:rgba(17,17,17,.42);backdrop-filter:blur(8px)}
.contact-modal-dialog{position:relative;width:min(920px,100%);max-height:min(820px,calc(100vh - 48px));overflow:auto;background:#fff;border:1px solid #d9d9d5;border-radius:30px;box-shadow:0 30px 100px rgba(0,0,0,.2);padding:34px;color:#111}
.contact-modal-close{position:absolute;right:22px;top:20px;width:42px;height:42px;border:1px solid #d7d7d2;border-radius:50%;background:#fff;color:#111;font-size:26px;line-height:1;cursor:pointer}
.contact-modal-head{padding:4px 58px 26px 2px;border-bottom:1px solid #e5e5e1}.contact-modal-head p,.contact-modal-card>span,.contact-modal-social>span{font-size:10px;font-weight:900;letter-spacing:.12em;color:#777}.contact-modal-head h2{margin:5px 0 8px;color:var(--blue);font-size:clamp(3.2rem,8vw,6rem);line-height:.82}.contact-modal-head>span{color:#666;font-size:14px}
.contact-modal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding-top:20px}.contact-modal-card{min-height:145px;padding:18px;border:1px solid #dfdfdb;border-radius:20px;background:#f7f7f5;display:flex;flex-direction:column;gap:7px}.contact-modal-card-primary{background:#fff7d8;border-color:#eadb8c}.contact-modal-card strong{font-size:13px}.contact-modal-card a{font-size:14px;font-weight:800;color:#111;text-decoration:none}.contact-modal-card a:hover{color:var(--blue)}
.contact-modal-social{margin-top:14px;padding:17px 2px 0;border-top:1px solid #e5e5e1;display:flex;align-items:center;gap:18px;flex-wrap:wrap}.contact-modal-social a{font-size:12px;font-weight:800;color:#111}
body.contact-modal-open{overflow:hidden}
.mobile-contact-trigger{width:100%;min-height:48px;display:flex;align-items:center;padding:0 14px;border:0;border-radius:14px;background:transparent;color:#111;text-align:left;font-family:"Quicksand",system-ui,sans-serif;font-size:11px;font-weight:900;letter-spacing:.08em;cursor:pointer}.mobile-contact-trigger:hover{background:#f3f3f1}
@media(max-width:720px){.contact-modal{padding:12px}.contact-modal-dialog{padding:24px 18px 20px;border-radius:24px;max-height:calc(100vh - 24px)}.contact-modal-close{right:14px;top:14px}.contact-modal-head{padding-right:46px}.contact-modal-grid{grid-template-columns:1fr 1fr}.contact-modal-card{min-height:120px}.contact-modal-card-primary{grid-column:1/-1}.contact-modal-social{gap:12px}}
@media(max-width:460px){.contact-modal-grid{grid-template-columns:1fr}.contact-modal-card-primary{grid-column:auto}}
