/* One navigation, one cart, one horizontal world. */
body{padding-bottom:0!important}
.header{justify-content:space-between;z-index:120}
.header-actions{margin-left:auto;gap:10px}
.mobile-toggle{display:flex!important;align-items:center;gap:11px;padding:11px 16px;border:1px solid #2e3a2f24;border-radius:999px;color:var(--green);font-size:12px;font-weight:800;letter-spacing:.2px;background:#f8f6eebd}
.mobile-toggle i,.mobile-toggle i:before,.mobile-toggle i:after{width:17px;height:1.5px;background:currentColor;display:block;content:'';transition:transform .35s,opacity .25s}
.mobile-toggle i{position:relative}.mobile-toggle i:before{position:absolute;top:-5px}.mobile-toggle i:after{position:absolute;top:5px}
.mobile-toggle[aria-expanded="true"] i{background:transparent}.mobile-toggle[aria-expanded="true"] i:before{top:0;transform:rotate(45deg)}.mobile-toggle[aria-expanded="true"] i:after{top:0;transform:rotate(-45deg)}
.header .cart-button{display:flex!important;padding:8px 9px 8px 14px;border-radius:999px;background:var(--green);color:var(--cream);min-height:45px;transition:transform .3s,background .3s}
.header .cart-button b{background:var(--clay);color:#fff}.header .cart-button.cart-hit{animation:headerCartReceive .85s cubic-bezier(.2,.8,.2,1)}
.mobile-menu{position:fixed;inset:132px 0 auto;min-height:min(550px,calc(100svh - 132px));padding:clamp(38px,6vw,80px) 6%;background:#f8f6eef7;backdrop-filter:blur(35px);z-index:110;box-shadow:0 30px 60px #1726191f;border-radius:0 0 42px 42px;overflow:hidden;transform-origin:top;animation:menuReveal .5s cubic-bezier(.16,.84,.24,1) both}
.mobile-menu>div{display:flex;flex-direction:column;align-items:flex-start}.mobile-menu>div>span{font-size:9px;letter-spacing:2px;color:var(--muted);margin-bottom:25px}.mobile-menu a{font:500 clamp(34px,5vw,74px)/1.08 var(--serif);letter-spacing:-2px;padding:4px 0;border:0;transition:color .25s,transform .3s}.mobile-menu a:hover,.mobile-menu a:focus-visible{color:var(--clay);transform:translateX(12px)}
.mobile-menu>p{position:absolute;right:6%;bottom:12%;font:italic 25px/1.35 var(--serif);color:var(--sage);text-align:right}

.hero{height:calc(100svh - 132px);min-height:660px;max-height:980px;border-radius:0 0 42px 42px;overflow:hidden;background:#203026;color:var(--cream);touch-action:pan-y}
.hero-panorama{position:absolute;inset:0;overflow:hidden;outline:0;cursor:grab;isolation:isolate;--pan-x:0px;--pan-y:0px}.hero-panorama.is-dragging{cursor:grabbing}
.hero-track{height:100%;width:300%;display:flex;will-change:transform;transform:translate3d(0,0,0)}
.hero-scene{position:relative;width:33.333333%;height:100%;flex:0 0 33.333333%;overflow:hidden;isolation:isolate}
.hero-scene-bg{position:absolute;inset:-4%;z-index:-5;background-repeat:no-repeat;background-size:cover;will-change:transform;transform:translate3d(var(--pan-x),var(--pan-y),0) scale(1.05)}
.hero-pixel .hero-scene-bg{background-image:linear-gradient(90deg,#1627180e,#16271819),url('assets/hero.png');background-position:left 52%}
.hero-valley .hero-scene-bg{background-image:linear-gradient(90deg,#16271808,#16271814),url('assets/hero.png');background-position:right 52%;transform:translate3d(var(--pan-x),var(--pan-y),0) scale(1.12)}
.hero-table .hero-scene-bg{background-image:url('assets/terroir/assaggio.webp');background-position:center 48%;transform:translate3d(var(--pan-x),var(--pan-y),0) scale(1.08)}
.hero-scene:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#0c1a1024 0%,transparent 42%,#0d1a1058 100%);pointer-events:none}
.hero-pixel:before,.hero-valley:before{content:'';position:absolute;inset:0;z-index:-2;background:radial-gradient(circle at 50% 25%,transparent 0 30%,#14221725 80%);pointer-events:none}
.hero-copy{position:absolute;left:7%;top:15%;right:auto;text-align:left;inset:auto;z-index:4;max-width:940px}.hero-copy h1{font-size:clamp(76px,9.3vw,148px);line-height:.92;letter-spacing:-7px;margin:0;text-shadow:0 5px 40px #1020153d}.hero-copy h1 em{color:#f8f6ee;letter-spacing:-7px}.hero-copy>p:not(.eyebrow){font:italic clamp(22px,2.5vw,38px)/1.2 var(--serif);margin:30px 0 0;color:#f8f6eeda}
.hero-final-copy{position:absolute;left:8%;bottom:10%;z-index:3}.hero-final-copy span{display:block;font-size:11px;letter-spacing:2.4px;margin-bottom:15px}.hero-final-copy strong{font:500 clamp(78px,10vw,155px)/.82 var(--serif);letter-spacing:-7px}.hero-final-copy em{font-weight:400;color:#d9c9b2}
.hero-table-shade{position:absolute;inset:0;background:linear-gradient(90deg,#1a291dd4 0%,#1a291d45 50%,transparent 75%);z-index:0}
.hero-dots{position:absolute;z-index:15;bottom:28px;left:50%;transform:translateX(-50%);display:flex;gap:8px;padding:7px 9px;border-radius:99px;background:#1b2a205c;backdrop-filter:blur(12px)}
.hero-dots button{height:7px;width:7px;padding:0;border-radius:50%;background:#f8f6ee75;transition:width .45s,background .3s}.hero-dots button.active{width:38px;border-radius:9px;background:var(--cream)}

.cloud{position:absolute;z-index:-2;width:170px;height:38px;border-radius:50%;background:#f7f3e5a8;filter:blur(1px);animation:cloudTravel 26s linear infinite;opacity:.6}.cloud:before,.cloud:after{content:'';position:absolute;background:inherit;border-radius:50%}.cloud:before{width:74px;height:74px;left:27px;bottom:0}.cloud:after{width:105px;height:62px;right:20px;bottom:0}.c1{top:13%;left:-15%;animation-duration:29s}.c2{top:28%;left:34%;transform:scale(.55);animation-duration:39s;animation-delay:-15s}.c3{top:11%;left:-18%;animation-duration:34s;animation-delay:-8s}
.wind-lines{position:absolute;inset:0;z-index:1;pointer-events:none;opacity:.6;background:repeating-radial-gradient(ellipse at 20% 60%,transparent 0 38px,#f8f6ee45 39px 40px,transparent 41px 80px);mask-image:linear-gradient(90deg,transparent,#000 25%,#000 70%,transparent);animation:windSweep 8s linear infinite}
.voxel-sun{position:absolute;right:13%;top:14%;width:70px;height:70px;background:#f0d3a1;box-shadow:0 0 80px 25px #f0d3a166;z-index:-3;animation:sunPulse 7s ease-in-out infinite}
.pixel-grass{position:absolute;left:-3%;right:-3%;bottom:-1px;height:17%;z-index:2;background:repeating-linear-gradient(88deg,transparent 0 11px,#263e29a6 12px 15px,transparent 16px 24px);transform-origin:bottom;animation:grassSway 3.8s ease-in-out infinite alternate;mask-image:linear-gradient(transparent,#000 70%)}
.forest-layer{position:absolute;left:-3%;right:-3%;bottom:-2%;height:41%;z-index:1;background:repeating-conic-gradient(from 150deg at 50% 100%,transparent 0 27deg,#18311eaa 28deg 33deg,transparent 34deg 70deg);transform-origin:bottom;animation:forestSway 5.5s ease-in-out infinite alternate;mask-image:linear-gradient(transparent 0,#000 50%)}
.water-light{position:absolute;left:0;right:0;top:44%;height:24%;z-index:0;opacity:.6;background:repeating-linear-gradient(174deg,transparent 0 10px,#f8f6ee36 11px 12px,transparent 13px 25px);filter:blur(.5px);animation:waterShimmer 4s linear infinite;mask-image:linear-gradient(transparent,#000 35%,transparent)}
.steam{position:absolute;z-index:2;bottom:22%;right:18%;width:55px;height:180px;border-left:5px solid #fff7;border-radius:50%;filter:blur(8px);animation:steamRise 5s ease-in-out infinite}.steam.s2{right:24%;bottom:17%;height:145px;animation-delay:-2.6s;opacity:.55}
.cart-flight{z-index:2000}.header .cart-button.cart-hit svg{animation:headerBag .8s cubic-bezier(.18,.8,.2,1)}

@keyframes cloudTravel{from{translate:-15vw 0}to{translate:125vw 0}}
@keyframes menuReveal{from{opacity:0;transform:scaleY(.84) translateY(-14px)}to{opacity:1;transform:none}}
@keyframes windSweep{0%{transform:translateX(-3%);opacity:.15}50%{opacity:.55}100%{transform:translateX(7%);opacity:.15}}
@keyframes sunPulse{50%{box-shadow:0 0 100px 37px #f0d3a17a;transform:scale(1.05)}}
@keyframes grassSway{from{transform:skewX(-1.5deg)}to{transform:skewX(2deg)}}
@keyframes forestSway{from{transform:skewX(-.8deg) translateX(-4px)}to{transform:skewX(1.1deg) translateX(5px)}}
@keyframes waterShimmer{from{background-position:0 0}to{background-position:90px 24px}}
@keyframes steamRise{0%{transform:translate3d(0,25px,0) scale(.75);opacity:0}35%{opacity:.65}100%{transform:translate3d(18px,-85px,0) scale(1.25);opacity:0}}
@keyframes headerCartReceive{0%,100%{transform:none}40%{transform:scale(1.13) rotate(-3deg)}70%{transform:scale(.96) rotate(2deg)}}
@keyframes headerBag{0%,100%{transform:none}45%{transform:translateY(-3px) rotate(-8deg)}}

@media(max-width:850px){
 .header{height:82px}.mobile-menu{inset:111px 0 auto;min-height:calc(100svh - 111px);border-radius:0}.mobile-menu>p{display:none}.mobile-menu a{font-size:clamp(37px,10vw,58px);padding:8px 0}.cart-label{display:none}
 .hero{height:calc(100svh - 111px);min-height:620px;max-height:900px;border-radius:0 0 30px 30px}.hero-copy{left:6%;right:5%;top:16%}.hero-copy h1{font-size:clamp(68px,17vw,108px);letter-spacing:-4px;line-height:.94}.hero-copy h1 em{letter-spacing:-4px}.hero-copy>p:not(.eyebrow){font-size:24px;margin-top:24px}
 .hero-pixel .hero-scene-bg{background-size:auto 100%;background-position:38% center}.hero-valley .hero-scene-bg{background-size:auto 100%;background-position:75% center}.hero-table .hero-scene-bg{background-position:58% center}
 .hero-final-copy{left:7%;bottom:13%}.hero-final-copy strong{font-size:clamp(74px,20vw,120px);letter-spacing:-4px}.hero-final-copy span{font-size:9px}.hero-dots{bottom:20px}
 .cloud{opacity:.48}.wind-lines{opacity:.4}.steam{right:10%}.steam.s2{right:28%}
}
@media(max-width:580px){
 .header{height:76px;padding-inline:4.5%}.header-actions{gap:6px}.mobile-toggle{padding:10px 12px}.mobile-toggle span{display:none}.header .cart-button{min-height:42px;padding:7px 8px}.header .cart-button b{width:20px;height:20px}.header .cart-button svg{width:20px;height:22px}
 .mobile-menu{inset:105px 0 auto;padding:42px 7%}.hero{height:calc(100svh - 105px);min-height:610px}.hero-copy{top:14%;left:6%}.hero-copy h1{font-size:clamp(62px,18vw,88px)}.hero-copy>p:not(.eyebrow){font-size:21px}.hero-final-copy strong{font-size:21vw}.hero-dots{bottom:17px}
}
@media(prefers-reduced-motion:reduce){.cloud,.wind-lines,.voxel-sun,.pixel-grass,.forest-layer,.water-light,.steam{animation:none}.hero-track{transition:none!important}}
