
@font-face{font-family:Heavy;src:url(heavy.ttf);font-weight:900;font-display:swap}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#111;color:#181916;font-family:Heavy,sans-serif;overflow-x:hidden}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}aside{position:fixed;inset:0 auto 0 0;width:24%;padding:28px;z-index:10;background:#969046;border:12px solid #eee6cf;display:flex;flex-direction:column;align-items:center;overflow:hidden}aside:after{content:'';position:absolute;width:520px;height:520px;background:#bd452a;border-radius:50%;left:-220px;bottom:-220px;z-index:-1}aside img{width:170px;margin:15px 0 32px}aside .catch{writing-mode:vertical-rl;font-size:29px;letter-spacing:.12em;line-height:1.7;margin:0;height:300px}aside .loc{font:11px Arial;letter-spacing:.18em;margin:30px 0}aside nav{display:flex;gap:20px;font-size:12px;margin-top:auto;color:#f4e9cd}aside .mini{font-size:10px;letter-spacing:.12em;margin-top:20px;color:#f4e9cd}main{margin-left:24%}.hero{display:grid;grid-template-columns:68% 32%;min-height:900px;height:100svh;max-height:1100px}.heroMain{background:#c54529;position:relative;overflow:hidden;isolation:isolate;padding:35px}.label{font:11px Arial;letter-spacing:.18em}.heroMain h1{writing-mode:vertical-rl;position:absolute;right:26px;top:125px;font-size:clamp(44px,4.8vw,72px);line-height:1.3;letter-spacing:.04em;margin:0;z-index:3;text-shadow:1px 1px #c54529}.heroMain h1 small{font-size:.24em;letter-spacing:.2em;margin-left:15px}.heroFood{position:absolute;width:140%;max-width:none;left:-25%;top:27%;filter:drop-shadow(0 25px 20px #61200b44);animation:arrive 1.1s both;cursor:pointer}.heroMain:before{content:'';width:600px;height:600px;position:absolute;left:-320px;top:-250px;border-radius:50%;background:#ebad41}.heroMain .caption{position:absolute;bottom:32px;left:32px;right:32px;display:flex;justify-content:space-between;align-items:end;color:#f4e9cd;font-size:11px;line-height:1.8}.heroRail{background:#e7dfc5;position:relative;display:flex;flex-direction:column;align-items:center;overflow:hidden;padding:35px 18px}.heroRail:before{content:'';position:absolute;background:#929349;width:500px;height:500px;border-radius:50%;bottom:-90px;right:-320px}.railTitle{writing-mode:vertical-rl;height:350px;font-size:31px;line-height:1.6;letter-spacing:.12em;margin:30px 0 0;z-index:2}.heroRail img{position:absolute;width:190%;max-width:none;bottom:7%;left:-30%;filter:drop-shadow(0 18px 14px #1114);animation:arrive 1.3s .2s both}.heroRail a{z-index:3;margin-top:auto;font-size:11px;border-bottom:1px solid;padding-bottom:8px}.ticker{background:#111;color:#eee6cf;padding:19px 0;font-size:14px;overflow:hidden;white-space:nowrap;letter-spacing:.12em}.ticker span{display:inline-block;animation:marquee 25s linear infinite}.intro{padding:100px 8%;background:#eee6cf;display:flex;justify-content:space-between;gap:50px}.intro h2{writing-mode:vertical-rl;font-size:47px;letter-spacing:.1em;line-height:1.5;margin:0;height:420px}.intro .introCopy{writing-mode:vertical-rl;line-height:2.5;font-size:15px;letter-spacing:.1em;max-height:440px;margin-top:35px}.intro small{font:10px Arial;letter-spacing:.2em;align-self:end}.menu{overflow:hidden}.dish{position:relative;min-height:740px;display:grid;grid-template-columns:62% 38%;align-items:center;padding:70px 5%;isolation:isolate;overflow:hidden;background:#aaa05c}.dish:nth-child(2){background:#c54529;color:#f4e9cd}.dish:nth-child(3){background:#e7dfc5}.dish:before{content:'';position:absolute;width:650px;height:650px;border:1px solid currentColor;border-radius:50%;left:-150px;top:20px;opacity:.25;z-index:-1}.dish .photo{width:138%;max-width:none;margin-left:-18%;position:relative;z-index:1;filter:drop-shadow(0 25px 20px #1113);transition:transform .5s}.dish .photo:hover{transform:translateY(-20px)}.dish .info{display:flex;flex-direction:row-reverse;gap:23px;position:relative;z-index:2;align-items:start}.dish h3{writing-mode:vertical-rl;letter-spacing:.05em;font-size:44px;line-height:1.25;margin:0;height:450px}.dish .info p{writing-mode:vertical-rl;font-family:Arial,sans-serif;line-height:2;letter-spacing:.06em;font-size:14px;height:350px;margin:25px 0 0}.number{position:absolute;left:30px;top:25px;font:900 78px Arial;opacity:.55}.dish .dishEn{position:absolute;left:32px;bottom:25px;font:11px Arial;letter-spacing:.15em}.snack{background:#111;color:#eee6cf;padding:90px 7% 60px;position:relative;overflow:hidden;min-height:650px}.snack h2{writing-mode:vertical-rl;font-size:44px;letter-spacing:.07em;height:350px;line-height:1.4;margin:20px 0 0 auto;position:relative;z-index:3}.snack img{position:absolute;width:85%;left:-8%;top:110px;filter:drop-shadow(0 25px 20px #000);transition:.4s}.snack img:hover{transform:translateY(-20px)}.snack p{font:13px/2 Arial,sans-serif;max-width:330px;margin-top:50px}.visit{background:#969046;padding:70px 8%;border-top:1px solid #181916;display:flex;justify-content:space-between;gap:30px;align-items:center}.visit h2{font-size:30px;letter-spacing:.1em}.visit p{font:13px/2 Arial,sans-serif}.visit a{border:1px solid;padding:18px 25px;font-size:12px}.visit a:hover{background:#181916;color:#eee6cf}footer{background:#eee6cf;padding:20px 8%;font:10px/1.7 Arial;display:flex;justify-content:space-between;gap:20px}.reveal{opacity:0;transform:translateY(65px);transition:.85s cubic-bezier(.2,.8,.3,1)}.reveal.show{opacity:1;transform:none}.bop{animation:bop .7s!important}@keyframes arrive{from{opacity:0;transform:translateY(100px) scale(.85)}to{opacity:1;transform:none}}@keyframes bop{30%{transform:translateY(20px) scale(1.05,.92)}65%{transform:translateY(-45px) scale(.97,1.03)}100%{transform:none}}@keyframes marquee{to{transform:translateX(-50%)}}@media(max-width:750px){aside{position:relative;width:100%;height:85px;border:6px solid #eee6cf;padding:8px 18px;flex-direction:row;justify-content:space-between}aside img{width:120px;margin:0}aside .catch,aside .loc,aside .mini{display:none}aside nav{margin:0;color:#111;font-size:11px;gap:15px}main{margin:0}.hero{min-height:770px;height:calc(100svh - 85px);max-height:1000px;grid-template-columns:70% 30%}.heroMain{padding:20px 15px}.label{font-size:8px;letter-spacing:.1em}.heroMain h1{font-size:45px;top:80px;right:15px}.heroMain h1 small{font-size:12px;margin-left:8px}.heroFood{width:180%;left:-50%;top:39%}.heroMain .caption{bottom:20px;left:15px;right:15px;font-size:9px;display:block}.heroRail{padding:22px 5px}.railTitle{font-size:23px;line-height:1.4;height:325px;margin-top:30px}.heroRail img{width:280%;left:-85%;bottom:17%}.heroRail a{font-size:9px;margin-bottom:5px}.intro{padding:75px 8%;gap:15px}.intro h2{font-size:32px;height:340px}.intro .introCopy{font-size:12px;line-height:1.9;height:360px;margin-top:20px}.intro small{display:none}.dish{min-height:850px;grid-template-columns:1fr;padding:45px 6%;align-content:start}.dish .photo{width:130%;margin:45px 0 0 -15%}.dish .info{margin-top:-25px;justify-content:space-between;padding:0 15px;flex-direction:row-reverse}.dish h3{font-size:35px;height:320px}.dish .info p{font-size:12px;line-height:1.9;height:280px;margin-top:25px}.number{font-size:60px;left:20px;top:15px}.dish .dishEn{font-size:9px;left:20px;bottom:20px}.snack{min-height:700px;padding:45px 7%}.snack h2{font-size:32px;height:310px}.snack img{width:110%;left:-22%;top:170px}.snack p{margin-top:230px;font-size:12px;max-width:270px}.visit{flex-direction:column;align-items:start;padding:50px 8%}.visit h2{font-size:27px}footer{font-size:9px;flex-direction:column}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}}
.heroMain h1 small{position:absolute;right:-24px;top:0;height:230px;margin:0}@media(max-width:750px){.heroMain h1{right:28px}.heroMain h1 small{right:-18px;height:200px}} 
.slides,.slide{position:absolute;inset:0}.slides{overflow:hidden}.slide{visibility:hidden;transform:translateX(100%);transition:transform .65s cubic-bezier(.22,.7,.26,1),visibility 0s .65s}.slide.current{visibility:visible;transform:translateX(0);transition-delay:0s}.slide.leaving{transform:translateX(-100%)}.slide:not(:first-child) .heroFood{animation:none}.slideControls{position:absolute;left:32px;bottom:100px;z-index:5;display:flex;gap:5px}.slideControls button{min-width:36px;min-height:38px;border:1px solid #f4e9cd;background:#181916;color:#f4e9cd;font-size:11px}.slideControls [aria-pressed=true]{background:#eee6cf;color:#181916}.heroMain>.label,.heroMain .caption{z-index:4;position:absolute}.heroMain>.label{top:35px;left:35px}@media(max-width:750px){.slideControls{left:15px;bottom:110px}.slideControls button{min-width:32px}.heroMain>.label{top:20px;left:15px}}

.hero{position:relative;overflow:hidden}.railFlight{position:absolute;z-index:4;pointer-events:none;transform-origin:top left;margin:0}.heroRail img{animation:none}.heroMain .caption,.slideControls{z-index:6}

.heroMain h1{font-size:clamp(54px,5.6vw,82px)}
.dish h3{font-size:52px}
.dish:nth-child(4){background:#28261d;color:#f4e9cd}
@media(max-width:750px){
  .heroMain h1{font-size:clamp(37px,12.5vw,53px);line-height:1.08}
  .dish h3{font-size:clamp(36px,10.7vw,46px);line-height:1.16}
}

.heroMain::before,.heroRail::before{display:none}
.slide{background:var(--scene);isolation:isolate}
.slide::before,.heroRail::before{
  content:"";display:block;position:absolute;pointer-events:none;
  width:600px;height:600px;border-radius:50%;left:-320px;top:-250px;
  background:var(--accent);z-index:-1
}
.slide:nth-child(1),.heroRail[data-next="0"]{--scene:#c54529;--accent:#ebad41;--ink:#181916}
.slide:nth-child(2),.heroRail[data-next="1"]{--scene:#4b263f;--accent:#ae779e;--ink:#f4e9cd}
.slide:nth-child(3),.heroRail[data-next="2"]{--scene:#d7a632;--accent:#f0cd78;--ink:#181916}
.slide:nth-child(4),.heroRail[data-next="3"]{--scene:#101010;--accent:#383838;--ink:#f4e9cd}
.slide h1,.heroRail{color:var(--ink);text-shadow:none}
.heroRail{background:var(--scene,#e7dfc5);isolation:isolate}
.heroRail::before{width:500px;height:500px;left:auto;top:auto;bottom:-90px;right:-320px}
.railFlight{isolation:isolate;z-index:4}
.slide:nth-child(4) .heroFood{width:153%;left:-23%;top:42%}
.heroMain>.label,.heroMain .caption span,.heroMain .caption a{background:#181916;color:#f4e9cd;padding:5px 8px}
.heroMain .caption span,.heroMain .caption a{display:inline-block}
@media(max-width:750px){.slide:nth-child(4) .heroFood{width:192%;left:-45%;top:46%}.slideControls{gap:3px}.slideControls button{min-width:28px}}

/* Solid product backdrops and a larger Mincho lead. */
.slide::before,.heroRail::before,.dish::before{display:none}
.heroMain h1 small,.dish .info p{
  font-family:"Hiragino Mincho ProN","Yu Mincho","Noto Serif CJK JP",serif;
  font-weight:600;
}
.heroMain h1 small{font-size:clamp(17px,1.65vw,23px);right:-29px;height:300px;letter-spacing:.1em}
.heroMain h1{right:38px}
.dish .info p{font-size:17px;line-height:1.85;height:430px}
@media(max-width:750px){
  .heroMain h1{right:31px}
  .heroMain h1 small{font-size:15px;right:-21px;height:240px}
  .dish .info p{font-size:15px;line-height:1.8;height:350px}
}

.intro h2,.intro .introCopy{
  font-family:"Hiragino Mincho ProN","Yu Mincho","Noto Serif CJK JP",serif;
  font-weight:600;
}
.intro h2{font-size:54px;height:470px}
.intro .introCopy{font-size:18px;line-height:2.1;max-height:none;height:470px}
.dish{min-height:820px}
.dish .info{gap:28px}
.dish .info p{font-size:19px;line-height:1.85;height:510px;margin-top:15px}
@media(max-width:750px){
  .intro{padding:65px 7%;gap:20px}
  .intro h2{font-size:38px;height:410px}
  .intro .introCopy{font-size:15px;line-height:1.85;height:420px}
  .dish{min-height:1000px}
  .dish .info{gap:20px;padding:0 5px}
  .dish .info p{font-size:17px;line-height:1.7;height:400px}
  .dish h3{height:400px}
}

.intro h2{font-family:Heavy,sans-serif;font-weight:900}
.heroMain h1 small{right:auto;left:-34px;margin:0}
.slide:nth-child(2),.heroRail[data-next="1"]{--scene:#4b263f;--ink:#f4e9cd}
.slide:nth-child(4),.heroRail[data-next="3"]{--scene:#101010;--ink:#f4e9cd}
.dish:nth-child(2){background:#4b263f;color:#f4e9cd}
.dish:nth-child(4){background:#101010;color:#f4e9cd}
.intro{justify-content:flex-end;gap:40px}
.intro h2{order:3}
.intro .introCopy{order:2;margin-top:0}
.intro>small{order:1;margin-right:auto}
.dish .info{justify-content:flex-start;flex-direction:row-reverse;align-items:flex-start;gap:28px}
.dish .info h3,.dish .info p{margin-top:0}
@media(max-width:750px){
 .heroMain h1 small{left:-23px;right:auto}
 .intro{justify-content:flex-end;gap:20px}
 .dish .info{justify-content:flex-start;gap:20px}
}

/* Shared palette for each product in the slideshow and menu. */
.slide:nth-child(1),.heroRail[data-next="0"],#kappa{--scene:#c54529;--ink:#181916}
.slide:nth-child(2),.heroRail[data-next="1"],#chadol{--scene:#4b263f;--ink:#f4e9cd}
.slide:nth-child(3),.heroRail[data-next="2"],#karubi{--scene:#d7a632;--ink:#181916}
.slide:nth-child(4),.heroRail[data-next="3"],#potato{--scene:#101010;--ink:#f4e9cd}
#kappa,#chadol,#karubi,#potato{background:var(--scene);color:var(--ink)}

/* White product type on matching, deeper backgrounds. */
.slide:nth-child(1),.heroRail[data-next="0"],#kappa{--scene:#96331f;--ink:#ffffff}
.slide:nth-child(2),.heroRail[data-next="1"],#chadol{--scene:#4b263f;--ink:#ffffff}
.slide:nth-child(3),.heroRail[data-next="2"],#karubi{--scene:#79501b;--ink:#ffffff}
.slide:nth-child(4),.heroRail[data-next="3"],#potato{--scene:#101010;--ink:#ffffff}
.slide h1,.heroRail,#kappa,#chadol,#karubi,#potato{color:#ffffff}
#kappa,#chadol,#karubi,#potato{background:var(--scene)}
.dish .number{opacity:1}

/* Canal panorama meets an offset vertical-copy panel. */
.intro{display:block;padding:0 0 80px;background:#eee6cf;overflow:hidden}
.canalPhoto{margin:0;width:100%;height:620px;position:relative}
.canalPhoto img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.canalPhoto figcaption{position:absolute;left:28px;top:25px;color:white;font:11px Arial,sans-serif;letter-spacing:.15em;text-shadow:0 1px 4px #000}
.introText{position:relative;z-index:2;width:85%;margin:-145px 0 0 auto;padding:65px 55px 0;background:#eee6cf;display:flex;justify-content:flex-end;gap:35px}
.introText>small{font:10px Arial,sans-serif;letter-spacing:.15em;writing-mode:vertical-rl;align-self:end;margin-right:auto}
.introText .introCopy{order:2}
.introText h2{order:3}
/* Keep every product silhouette separate from the text column. */
.dish{grid-template-columns:minmax(0,55%) minmax(0,45%);gap:22px;padding:85px 5%;min-height:820px}
.dish .photo{display:block;width:100%;max-width:100%;margin:0;min-width:0;object-fit:contain}
.dish .info{width:100%;min-width:0;gap:23px;justify-content:flex-start;position:relative}
.dish h3{flex-shrink:0}
.dish .info p{flex-shrink:0}
@media(max-width:750px){
 .intro{padding-bottom:55px}
 .canalPhoto{height:440px;width:100%}
 .introText{width:94%;margin-top:-70px;padding:35px 22px 0;gap:20px}
 .introText>small{display:none}
 .introText h2{font-size:35px;height:390px}
 .introText .introCopy{font-size:15px;line-height:1.75;height:390px}
 .dish{grid-template-columns:minmax(0,1fr);gap:35px;padding:65px 7% 75px;min-height:0}
 .dish .photo{width:100%;margin:15px 0 0;max-height:450px}
 .dish .info{margin:0;padding:0;gap:20px;justify-content:flex-start}
 .dish .info p{font-size:17px;height:400px;line-height:1.6}
 .dish h3{font-size:40px;height:400px;line-height:1.16}
}

/* Full-width canal photograph and centered title-copy groups. */
.intro{padding:0;background:#eee6cf}
.canalPhoto{width:100%;height:620px;margin:0}
.introText{width:100%;margin:0;padding:75px 6%;justify-content:center;gap:40px}
.introText>small{display:none}
.introText h2,.introText .introCopy{margin:0;align-self:center}
.dish{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:50px;min-height:0;padding:95px 6% 80px}
.dish .info{order:0;width:max-content;max-width:100%;justify-content:center;align-items:center;gap:35px;margin:0;padding:0}
.dish .info h3,.dish .info p{margin:0}
.dish .photo{order:1;width:100%;max-width:900px;max-height:690px;margin:0;object-fit:contain}
.dish .dishEn{position:static;order:2;text-align:center;margin:0}
.dish .number{font-size:55px;left:25px;top:25px}
@media(max-width:750px){
 .canalPhoto{height:420px}
 .introText{width:100%;margin:0;padding:55px 7%;justify-content:center;gap:20px}
 .introText h2{font-size:35px;height:390px}
 .introText .introCopy{font-size:15px;line-height:1.65;height:390px}
 .dish{padding:75px 7% 50px;gap:35px}
 .dish .info{width:max-content;max-width:100%;gap:20px;justify-content:center}
 .dish .info h3{font-size:40px;height:400px}
 .dish .info p{font-size:17px;line-height:1.6;height:400px}
 .dish .photo{max-height:450px;margin:0;width:100%}
 .dish .number{font-size:38px;top:18px;left:18px}
}

/* Give the product photographs the full section width. */
.dish{padding-left:0;padding-right:0;gap:30px}
.dish .info{max-width:88%;position:relative;z-index:2}
.dish .photo{width:118%;max-width:none;max-height:none;flex-shrink:0;object-fit:contain;margin:0}
.dish .dishEn{padding:0 6%;max-width:100%}
@media(max-width:750px){
 .dish{padding-left:0;padding-right:0;gap:25px}
 .dish .info{max-width:86%}
 .dish .photo{width:130%;max-width:none;max-height:none;margin:0}
}

/* Fit vertical text to its contents and bring the image directly below it. */
.dish{row-gap:10px}
.dish .info{align-items:flex-start}
.dish .info h3,.dish .info p{height:max-content;max-height:none;inline-size:max-content;min-height:0;margin:0}
@media(max-width:750px){
 .dish{row-gap:8px}
 .dish .info{align-items:flex-start}
 .dish .info h3,.dish .info p{height:max-content;inline-size:max-content;min-height:0}
}

/* Upright, playful entrances with a short stagger. */
.reveal{opacity:0;transform:translateY(26px) scale(.97);transition:none}
.reveal.show{opacity:1;transform:none;animation:popText .7s both}
.popTitle{transform-origin:50% 15%}
.popTitle.show{animation:popTitle .7s both}
.popCopy.show{animation:popText .7s .13s both}
.popPhoto{transform-origin:50% 70%}
.popPhoto.show{animation:popPhoto .85s .18s backwards}
.introText h2.show{animation:popTitle .75s both}
.introText .introCopy.show{animation:popText .75s .15s both}
.canalPhoto.show{animation:canalEntrance .9s both}
@keyframes popTitle{
  0%{opacity:0;transform:translateY(36px) scale(.86)}
  60%{opacity:1;transform:translateY(-8px) scale(1.035)}
  80%{transform:translateY(3px) scale(.99)}
  100%{opacity:1;transform:none}
}
@keyframes popText{
  0%{opacity:0;transform:translateY(25px) scale(.96)}
  70%{opacity:1;transform:translateY(-4px) scale(1.01)}
  100%{opacity:1;transform:none}
}
@keyframes popPhoto{
  0%{opacity:0;transform:translateY(65px) scale(.78)}
  55%{opacity:1;transform:translateY(-13px) scale(1.045)}
  76%{transform:translateY(5px) scale(.985)}
  100%{opacity:1;transform:none}
}
@keyframes canalEntrance{
  0%{opacity:0;transform:translateY(30px) scale(.98)}
  100%{opacity:1;transform:none}
}
@media(prefers-reduced-motion:reduce){
 .reveal,.reveal.show{opacity:1;transform:none;animation:none!important}
}

/* Rays follow the photograph after the slide settles. */
.slide::after{
 content:"";position:absolute;left:-20%;top:22%;width:135%;aspect-ratio:1;
 pointer-events:none;z-index:-1;border-radius:50%;opacity:0;transform:scale(.55);
 background:repeating-conic-gradient(from 8deg,rgba(255,244,208,.34) 0deg 1.5deg,transparent 1.5deg 16deg);
 -webkit-mask-image:radial-gradient(circle,transparent 0 24%,#000 40% 62%,transparent 74%);
 mask-image:radial-gradient(circle,transparent 0 24%,#000 40% 62%,transparent 74%);
}
.slide.current::after{animation:productRays .65s .95s both}
.slide.leaving::after{animation:none;opacity:0}
@keyframes productRays{
 0%{opacity:0;transform:scale(.55)}
 65%{opacity:1;transform:scale(1.04)}
 100%{opacity:1;transform:scale(1)}
}
@media(max-width:750px){.slide::after{left:-35%;top:32%;width:165%}}
@media(prefers-reduced-motion:reduce){.slide.current::after{animation:none;opacity:1;transform:none}}

/* Extend the radial lines all the way to the slide edges. */
.slide::after{
 inset:0;width:100%;height:100%;aspect-ratio:auto;border-radius:0;
 background:repeating-conic-gradient(from 8deg at 48% 62%,rgba(255,244,208,.34) 0deg 1.5deg,transparent 1.5deg 16deg);
 -webkit-mask-image:radial-gradient(ellipse at 48% 62%,transparent 0 15%,#000 34%);
 mask-image:radial-gradient(ellipse at 48% 62%,transparent 0 15%,#000 34%);
 transform-origin:48% 62%;
}
@media(max-width:750px){
 .slide::after{inset:0;width:100%;height:100%}
}

/* Each dish has its own radial rhythm and focal point. */
.slide:nth-child(1)::after{
 background:repeating-conic-gradient(from 5deg at 48% 63%,rgba(255,244,208,.4) 0deg .8deg,transparent .8deg 8deg,rgba(255,244,208,.24) 8deg 9.8deg,transparent 9.8deg 18deg);
 -webkit-mask-image:radial-gradient(ellipse at 48% 63%,transparent 0 14%,#000 30%);
 mask-image:radial-gradient(ellipse at 48% 63%,transparent 0 14%,#000 30%);
 transform-origin:48% 63%;
}
.slide:nth-child(2)::after{
 background:repeating-conic-gradient(from -6deg at 52% 66%,rgba(255,239,220,.27) 0deg 5deg,transparent 5deg 24deg,rgba(255,239,220,.14) 24deg 26deg,transparent 26deg 40deg);
 -webkit-mask-image:radial-gradient(ellipse at 52% 66%,transparent 0 18%,#000 40%);
 mask-image:radial-gradient(ellipse at 52% 66%,transparent 0 18%,#000 40%);
 transform-origin:52% 66%;
}
.slide:nth-child(3)::after{
 background:repeating-conic-gradient(from 14deg at 44% 64%,rgba(255,246,210,.38) 0deg 2.8deg,transparent 2.8deg 13deg,rgba(255,246,210,.28) 13deg 13.6deg,transparent 13.6deg 19deg,rgba(255,246,210,.18) 19deg 24deg,transparent 24deg 43deg);
 -webkit-mask-image:radial-gradient(ellipse at 44% 64%,transparent 0 12%,#000 33%);
 mask-image:radial-gradient(ellipse at 44% 64%,transparent 0 12%,#000 33%);
 transform-origin:44% 64%;
}
.slide:nth-child(4)::after{
 background:repeating-conic-gradient(from -12deg at 50% 70%,rgba(255,213,83,.4) 0deg 3.5deg,transparent 3.5deg 23deg),repeating-conic-gradient(from 9deg at 50% 70%,rgba(255,255,255,.26) 0deg .6deg,transparent .6deg 11.5deg);
 -webkit-mask-image:radial-gradient(ellipse at 50% 70%,transparent 0 12%,#000 31%);
 mask-image:radial-gradient(ellipse at 50% 70%,transparent 0 12%,#000 31%);
 transform-origin:50% 70%;
}

/* One preferred density, rotated by product. */
.slide:nth-child(1){--ray-angle:5deg}
.slide:nth-child(2){--ray-angle:9.5deg}
.slide:nth-child(3){--ray-angle:14deg}
.slide:nth-child(4){--ray-angle:18.5deg}
.slide:nth-child(n)::after{
 background:repeating-conic-gradient(from calc(var(--ray-angle) + var(--ray-spin)) at 48% 63%,rgba(255,244,208,.4) 0deg .8deg,transparent .8deg 8deg,rgba(255,244,208,.24) 8deg 9.8deg,transparent 9.8deg 18deg);
 -webkit-mask-image:radial-gradient(ellipse at 48% 63%,transparent 0 14%,#000 30%);
 mask-image:radial-gradient(ellipse at 48% 63%,transparent 0 14%,#000 30%);
 transform-origin:48% 63%;
}

@property --ray-spin{syntax:"<angle>";inherits:false;initial-value:0deg}
.slide.current::after{animation:productRays .65s .95s both,rayTurn 40s linear 1.6s infinite}
@keyframes rayTurn{from{--ray-spin:0deg}to{--ray-spin:360deg}}
@media(prefers-reduced-motion:reduce){.slide.current::after{animation:none;opacity:1;transform:none}}

/* Large food cutouts retain their pop-in reveal. */
.foodVisual{position:relative;order:1;width:118%;flex-shrink:0}
.dish .foodVisual .photo{position:relative;display:block;width:100%;max-width:none;max-height:none;margin:0}
@media(max-width:750px){.foodVisual{width:130%}}

/* Product stories open beneath each large dish photograph. */
.detailLink{order:3;display:inline-flex;align-items:center;justify-content:center;min-height:48px;margin:22px 0 0;padding:13px 24px;border:1px solid #ffffffaa;border-radius:2px;color:#fff;font-size:14px;line-height:1.6}
.detailLink:hover{background:#fff;color:#181916}.detailLink:focus-visible{outline:3px solid #fff;outline-offset:5px}
