/* Clear materials, continuous spatial objects and responsive compositions. */
.page-home .hero-art:before{display:none}
.hero-pour-scene{perspective:1200px}
.physical-pour-stage{isolation:auto;transform-style:preserve-3d}
.photographic-pour{transform-origin:39% 40%;transform-style:preserve-3d;will-change:transform,opacity;backface-visibility:visible}
.hero-coconut-exit .photographic-pour{z-index:8;animation:coconut-to-camera 1.35s cubic-bezier(.3,.05,.65,.8) both}
.hero-pour-finished .photographic-pour{visibility:hidden}
@keyframes coconut-to-camera{0%{transform:translate3d(0,0,0) rotateZ(0) rotateY(0) scale(1);opacity:1}65%{opacity:1}100%{transform:translate3d(75px,115px,600px) rotateZ(-28deg) rotateY(35deg) scale(3.8);opacity:0}}
.single-glass-scene .real-glass-stream{z-index:4;filter:none!important}
.single-glass-scene .pouring-can-photo{z-index:3}
.single-glass-scene .glass-replay{z-index:6}
/* Plate and product fit within one fixed coordinate system at every viewport. */
.pairing-hero>.wrap{display:grid;grid-template-columns:.95fr 1.05fr;gap:26px;align-items:center;min-height:790px;padding-top:55px;padding-bottom:90px}
.pairing-hero-copy{width:100%;max-width:none;z-index:3}
.pairing-hero h1{font-size:clamp(58px,6.15vw,91px);line-height:1.03}
.balanced-sushi-assembly{position:relative;inset:auto;width:100%;height:620px;min-width:0;perspective:1400px;z-index:2}
.real-sushi-stage{position:absolute;width:600px;height:600px;left:50%;top:50%;transform:translate(-50%,-50%) scale(var(--sushi-scale,1));transform-origin:center;perspective:1400px}
.separate-plate-world{position:absolute;width:500px;height:500px;left:-8px;top:60px;transform:rotateZ(-5deg);transform-style:preserve-3d;filter:drop-shadow(12px 24px 12px #0004)}
.scalloped-plate{position:absolute;inset:0;width:500px;height:500px;object-fit:contain}
.separate-sushi-piece{position:absolute;width:100px;height:100px;left:var(--piece-x);top:var(--piece-y);transform:rotateZ(var(--piece-angle));filter:drop-shadow(0 5px 2px #1118);transform-style:preserve-3d;will-change:transform}
.separate-sushi-piece svg{width:100%;height:100%;display:block;overflow:hidden}
.balanced-sushi-assembly .sushi-impact-can{position:absolute;width:135px;height:330px;right:32px;bottom:30px;transform:rotateZ(8deg) rotateY(-5deg);filter:drop-shadow(13px 18px 9px #0005);z-index:5}
.balanced-sushi-assembly .sushi-impact-can img{width:100%;height:100%;object-fit:contain;filter:none}
.balanced-sushi-assembly .glass-label{position:absolute;top:24px;right:15px;width:140px;z-index:7}
.balanced-sushi-assembly .sushi-replay{position:absolute;bottom:0;left:170px;z-index:8;font-size:10px}
.sushi-playing .separate-plate-world{animation:scalloped-plate-lands .75s cubic-bezier(.2,.7,.2,1) both}
.sushi-playing .separate-sushi-piece{animation:isolated-sushi-lands .7s var(--piece-delay) cubic-bezier(.2,.65,.2,1) both}
.balanced-sushi-assembly.sushi-playing .sushi-impact-can{animation:balanced-can-lands .9s 3.05s cubic-bezier(.2,.7,.2,1) both}
@keyframes scalloped-plate-lands{0%{opacity:0;transform:translateY(-420px) rotateX(20deg) rotateZ(-13deg)}78%{opacity:1;transform:translateY(6px) rotateX(0) rotateZ(-4deg)}100%{opacity:1;transform:rotateZ(-5deg)}}
@keyframes isolated-sushi-lands{0%{opacity:0;transform:translateY(-310px) translateZ(60px) rotateZ(calc(var(--piece-angle) + 20deg)) scale(1.12)}70%{opacity:1;transform:translateY(3px) rotateZ(var(--piece-angle)) scale(.98)}100%{opacity:1;transform:rotateZ(var(--piece-angle))}}
@keyframes balanced-can-lands{0%{opacity:0;transform:translateY(-400px) rotateZ(24deg) rotateY(-15deg)}72%{opacity:1;transform:translateY(7px) rotateZ(6deg) rotateY(-5deg)}100%{opacity:1;transform:rotateZ(8deg) rotateY(-5deg)}}
/* The story can stays above the photograph and never covers the text column. */
.page-about .story-scroll{isolation:isolate;position:relative;margin-top:10px}
.page-about .story-sticky{z-index:8;background:none;top:35px;height:calc(100svh - 70px);min-height:520px;margin-bottom:calc(-100svh + 70px);pointer-events:none}
.page-about .story-model{width:34%;height:100%;pointer-events:none;z-index:8;perspective:1400px}
.page-about .story-model .photo-can{height:64%;max-height:490px;transform:translate(-50%,-50%) translate3d(var(--story-x,0px),var(--story-lift,0px),80px) rotateZ(var(--story-z,0deg)) rotateY(var(--story-y,0deg)) scale(var(--story-scale,1));transition:none;backface-visibility:visible}
.page-about .story-model .photo-can img{filter:drop-shadow(12px 19px 10px #163c2727)}
.page-about .story-model-caption{display:none}
.page-about .story-chapters{z-index:1;padding-top:0}
.page-about .story-chapter{width:30%;min-height:80svh;padding-block:70px;justify-content:center}
.page-about .story-chapter h2{font-size:clamp(34px,3.3vw,49px)}
.page-about .story-chapter p{font-size:14px;line-height:1.85}
.page-about .about-photo{position:relative;z-index:1;isolation:auto;margin-top:40px;margin-bottom:40px}
.page-about .about-photo>img:first-child{width:100%;height:auto!important;aspect-ratio:16/9;object-fit:contain!important}
.page-about .about-photo>span{font-size:10px;line-height:1.7;padding:16px 0}
.story-photo-can{display:none}
/* Opacity on a preserve-3D tray flattens it during the first frames. Keep it solid. */
.same-case{isolation:auto;outline:none;background:transparent!important;box-shadow:none!important;filter:none!important}
.same-case .carton-world,.same-case .carton-contents{opacity:1!important;transform-style:preserve-3d;transition:none!important;visibility:visible!important;filter:none}
.same-case .carton-assembly{will-change:transform;transition:transform 1.05s cubic-bezier(.25,.65,.2,1)}
.same-case .carton-lid{will-change:transform;transition:transform 1.05s cubic-bezier(.25,.65,.2,1)}
.same-case .carton-can-5{will-change:transform}
.same-case canvas[data-case-face]{opacity:1;transition:none!important}
.same-case .carton-left,.same-case .carton-right{backface-visibility:visible}
.same-case:focus-visible{outline:none}
.authentic-box-stage:has(.same-case:focus-visible) .box-toggle{outline:2px solid #163c27;outline-offset:5px}
.same-case:disabled{opacity:1;cursor:progress}
.authentic-box-stage{background:transparent!important;box-shadow:none}
@media(max-width:1150px){.pairing-hero>.wrap{min-height:720px;gap:15px}.pairing-hero h1{font-size:69px}.balanced-sushi-assembly{height:560px}.page-about .story-chapter{width:29%;min-height:90svh}.page-about .story-model{width:36%}}
@media(max-width:900px){.pairing-hero>.wrap{display:block;padding-top:55px;min-height:0;padding-bottom:95px}.pairing-hero-copy{max-width:720px}.pairing-hero h1{font-size:clamp(60px,8.7vw,78px)}.balanced-sushi-assembly{position:relative;inset:auto;width:100%;height:min(82vw,610px);margin-top:25px}.page-about .story-model{width:36%}.page-about .story-chapter{width:29%;padding-block:45px}.page-about .story-chapter h2{font-size:34px}.page-about .story-chapter p{font-size:13px}}
@media(max-width:650px){
.pairing-hero>.wrap{padding-top:43px;padding-bottom:80px}.pairing-hero h1{font-size:clamp(52px,14.5vw,75px)}.balanced-sushi-assembly{height:390px;width:100%;margin-top:15px}.balanced-sushi-assembly .sushi-replay{font-size:13px}
.page-about .about-hero{padding-top:35px}.page-about .about-hero h1{font-size:clamp(42px,11.8vw,64px);line-height:1.13}.page-about .about-intro{margin-top:25px}
.page-about .story-scroll{margin-top:25px}.page-about .story-sticky{position:relative;top:auto;height:340px;min-height:0;margin:0;z-index:3;background:none}
.page-about .story-model{width:100%;height:100%}.page-about .story-model .photo-can{height:86%;max-height:310px;transform:translate(-50%,-50%) rotateZ(var(--story-z,0deg)) rotateY(var(--story-y,0deg));transition:none}
.page-about .story-model .photo-ground-shadow{bottom:5%;width:100px;left:calc(50% - 50px)}
.page-about .story-chapters{padding-top:10px}.page-about .story-chapter{width:100%;min-height:0;padding:40px 0;border-bottom:1px solid #163c2724;justify-content:flex-start;margin:0}.page-about .story-chapter:nth-child(even){align-self:auto}.page-about .story-chapter h2{font-size:38px;max-width:100%;margin:20px 0}.page-about .story-chapter p{font-size:14px;line-height:1.85}
.page-about .about-photo{margin-top:55px;width:calc(100% - 32px)}.page-about .about-photo>img.story-photo-can{display:block;position:absolute;width:72px;height:auto!important;aspect-ratio:327/801;right:14px;bottom:44px;object-fit:contain!important;background:none;border-radius:0;z-index:5;filter:drop-shadow(7px 9px 5px #0004)}.page-about .about-photo>span{font-size:9px;letter-spacing:.04em}
}
@media(prefers-reduced-motion:reduce){.hero-coconut-exit .photographic-pour{animation:none!important;transform:none;opacity:1}.hero-pour-finished .photographic-pour{visibility:visible}.page-about .story-sticky{position:relative;margin-bottom:0}.page-about .story-chapter{min-height:0}.separate-plate-world,.separate-sushi-piece,.sushi-impact-can{animation:none!important;opacity:1}.same-case .carton-assembly,.same-case .carton-lid,.same-case .carton-can{transition:none!important}}
