/* Emilio Sciacca Etna Wine — "quaderno di cantina": carta, inchiostro, vino */
@font-face{font-family:Lato;font-weight:300;font-style:normal;font-display:swap;src:url(/assets/fonts/lato-300.woff2) format("woff2")}
@font-face{font-family:Lato;font-weight:300;font-style:italic;font-display:swap;src:url(/assets/fonts/lato-300i.woff2) format("woff2")}
@font-face{font-family:Lato;font-weight:400;font-style:normal;font-display:swap;src:url(/assets/fonts/lato-400.woff2) format("woff2")}
@font-face{font-family:Lato;font-weight:700;font-style:normal;font-display:swap;src:url(/assets/fonts/lato-700.woff2) format("woff2")}
@font-face{font-family:Lato;font-weight:900;font-style:normal;font-display:swap;src:url(/assets/fonts/lato-900.woff2) format("woff2")}

:root{
  /* palette estratta da laylabs-sew/styles/main.css del sito ufficiale */
  --paper:#f2f2f2; --paper-2:#fbfbfb; --white:#fff;
  --ink:#141414; --ink-2:#2b2b2b; --muted:#6c6c6c; --grey:#a2a2a2; --line:#d8d8d8;
  --wine:#831c1d; --wine-deep:#591314; --wine-dark:#440f0f; --blush:#d3afb0; --blush-2:#dcbfc0;
  --bg:var(--paper); --fg:var(--ink); --fg-soft:var(--ink-2); --rule:var(--line);
  --pad:clamp(16px,4vw,64px); --maxw:1440px;
  --ease:cubic-bezier(.2,.7,.1,1);
  --display:clamp(2.6rem,7.4vw,7.6rem);
  --h2:clamp(2rem,4.6vw,4.4rem);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:auto;overflow-x:clip}
[data-zoom]{overflow:hidden}
body{margin:0;background:var(--bg);color:var(--fg);font:400 1.0625rem/1.7 Lato,system-ui,-apple-system,"Segoe UI",sans-serif;
  overflow-x:hidden;transition:background-color .8s var(--ease),color .8s var(--ease);-webkit-font-smoothing:antialiased}
body.is-dark{--bg:var(--wine-dark);--fg:#f4e9e9;--fg-soft:#e3cfd0;--rule:rgba(255,255,255,.18)}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
p{margin:0 0 1.1em}
h1,h2,h3,h4{margin:0;line-height:1.05;font-weight:900}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:fixed;left:12px;top:-60px;z-index:200;background:var(--wine);color:#fff;padding:10px 16px;text-decoration:none}
.skip:focus{top:12px}
:focus-visible{outline:2px solid var(--wine);outline-offset:3px}
::selection{background:var(--wine);color:#fff}

/* grana della carta */
body::before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.35;mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .08 0 0 0 0 .08 0 0 0 0 .08 0 0 0 .09 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
body.is-dark::before{opacity:.12}

/* scena 3D */
main,.ftr{position:relative;z-index:2}

/* ---------- header ---------- */
.hdr{position:fixed;inset:0 0 auto;z-index:50;display:flex;align-items:center;gap:24px;padding:14px var(--pad);
  transition:transform .5s var(--ease),background-color .4s,color .4s}
.hdr.is-scrolled{background:color-mix(in srgb,var(--bg) 86%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 1px 0 var(--rule)}
.hdr.is-hidden{transform:translateY(-110%)}
.hdr__logo{display:flex;align-items:center;gap:12px;text-decoration:none;margin-right:auto}
.hdr__sym{width:46px;height:46px;transition:transform .6s var(--ease)}
.hdr__logo:hover .hdr__sym{transform:rotate(-8deg) scale(1.06)}
.is-dark .hdr__sym,.is-dark .menu-open .hdr__sym{filter:invert(1)}
.hdr__word{display:flex;flex-direction:column;line-height:1}
.hdr__word b{font-weight:400;font-size:1.25rem;letter-spacing:.08em}
.hdr__word i{font-style:normal;font-size:.62rem;letter-spacing:.62em;margin-top:4px}
.hdr__quick{display:flex;gap:28px}
.hdr__quick a,.hdr__langs a{text-decoration:none;font-weight:700;font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;position:relative;padding:6px 0}
.hdr__quick a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--wine);transform:scaleX(0);transform-origin:right;transition:transform .45s var(--ease)}
.hdr__quick a:hover::after,.hdr__quick a[aria-current]::after{transform:scaleX(1);transform-origin:left}
.hdr__langs{display:flex;gap:4px}
.hdr__langs a{padding:6px 7px;opacity:.5}
.hdr__langs a[aria-current]{opacity:1;color:var(--wine)}
.is-dark .hdr__langs a[aria-current]{color:var(--blush)}
.hdr__burger{width:48px;height:48px;border:1px solid currentColor;border-radius:50%;background:none;color:inherit;cursor:pointer;display:grid;place-content:center;gap:6px;position:relative;z-index:60}
.hdr__burger i{display:block;width:18px;height:1.5px;background:currentColor;transition:transform .4s var(--ease)}
.hdr__burger[aria-expanded=true] i:first-of-type{transform:translateY(3.75px) rotate(45deg)}
.hdr__burger[aria-expanded=true] i:last-of-type{transform:translateY(-3.75px) rotate(-45deg)}
body.menu-open .hdr{color:#f4e9e9;background:transparent;box-shadow:none;backdrop-filter:none}
body.menu-open .hdr__sym{filter:invert(1)}
@media (max-width:900px){.hdr__quick{display:none}.hdr__word b{font-size:1.05rem}.hdr__sym{width:40px;height:40px}}
@media (max-width:420px){.hdr__langs{display:none}}

/* menu */
.menu{position:fixed;inset:0;z-index:45;background:var(--wine-dark);color:#f4e9e9;overflow:auto;clip-path:circle(0% at calc(100% - 60px) 38px);transition:clip-path .8s var(--ease)}
.menu.is-open{clip-path:circle(150% at calc(100% - 60px) 38px)}
.menu__inner{min-height:100%;display:grid;grid-template-columns:1.6fr 1fr;gap:48px;padding:110px var(--pad) 48px;max-width:var(--maxw);margin:auto}
.menu__list{list-style:none;margin:0;padding:0}
.menu__item{border-top:1px solid rgba(255,255,255,.14);padding:10px 0}
.menu__link{display:flex;align-items:baseline;gap:18px;text-decoration:none}
.menu__num{font-size:.75rem;letter-spacing:.2em;opacity:.55;width:2em}
.menu__label{font-weight:900;text-transform:uppercase;font-size:clamp(1.8rem,4.6vw,3.6rem);line-height:1.05;transition:color .3s,transform .5s var(--ease);display:inline-block}
.menu__link:hover .menu__label{color:var(--blush);transform:translateX(10px)}
.menu__sub{list-style:none;margin:6px 0 4px calc(2em + 18px);padding:0;display:flex;flex-wrap:wrap;gap:4px 22px}
.menu__sub a{font-size:.95rem;text-decoration:none;opacity:.72}
.menu__sub a:hover{opacity:1;text-decoration:underline}
.menu__aside{align-self:end;font-size:.95rem}
.menu__aside a{text-decoration:none}
.menu__logo{width:160px;margin-bottom:28px;opacity:.9}
.menu__langs a{display:inline-block;margin-right:14px;font-weight:700;letter-spacing:.2em}
@media (max-width:860px){.menu__inner{grid-template-columns:1fr;padding-top:96px}.menu__logo{width:110px}}

/* ---------- tipografia comune ---------- */
.eyebrow{font-weight:700;font-size:.72rem;letter-spacing:.42em;text-transform:uppercase;color:var(--wine);margin:0 0 18px}
.is-dark .eyebrow{color:var(--blush)}
.lead{font-size:clamp(1.2rem,1.9vw,1.55rem);line-height:1.45;font-weight:300;color:var(--fg)}
.sec-title{font-size:var(--h2);text-transform:uppercase;letter-spacing:-.01em;line-height:.95}
.sub-title{font-size:clamp(1.5rem,2.6vw,2.2rem);text-transform:uppercase}
.sec-h{font-size:clamp(1.6rem,3vw,2.6rem);text-transform:uppercase;margin:0 0 32px}
.center{text-align:center}
.link{display:inline-flex;align-items:center;gap:10px;font-weight:700;text-decoration:none;letter-spacing:.14em;text-transform:uppercase;font-size:.8rem}
.link svg{width:20px;height:20px;transition:transform .4s var(--ease)}
.link:hover svg{transform:translateX(6px)}
.link--big{font-size:.9rem;border-bottom:2px solid var(--wine);padding-bottom:6px;margin-top:10px}
.w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.06em;margin-bottom:-.06em}
.w>span{display:inline-block;will-change:transform}

/* bottoni */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:14px 26px;border-radius:999px;font:700 .8rem/1 Lato,sans-serif;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;cursor:pointer;border:1.5px solid transparent;transition:background-color .35s,color .35s,border-color .35s;position:relative;will-change:transform}
.btn svg{width:18px;height:18px;flex:none}
.btn--wine{background:var(--wine);color:#fff}
.btn--wine:hover{background:var(--wine-deep)}
.btn--line{border-color:currentColor;color:var(--fg);background:transparent}
.btn--line:hover{background:var(--fg);color:var(--bg)}
.btn--paper{background:var(--paper);color:var(--wine-dark)}
.btn--paper:hover{background:var(--blush)}

/* rail verticale numerata */
.rail{position:absolute;left:calc(var(--pad) * .35);top:120px;display:flex;flex-direction:column;align-items:center;gap:14px;font-size:.68rem;letter-spacing:.3em;text-transform:uppercase;color:var(--muted)}
.rail span:first-child{font-weight:900;color:var(--wine);font-size:.8rem;letter-spacing:.1em}
.rail span:last-child{writing-mode:vertical-rl;transform:rotate(180deg)}
.rail::after{content:"";width:1px;height:90px;background:currentColor;opacity:.4}
.rail--light{color:var(--blush-2)}
.rail--light span:first-child{color:var(--blush)}
@media (max-width:760px){.rail{display:none}}

/* scheda tecnica */
.sheet{margin:0;display:grid;border-top:1px solid var(--rule)}
.sheet>div{display:grid;grid-template-columns:minmax(120px,38%) 1fr;gap:16px;padding:14px 0;border-bottom:1px solid var(--rule)}
.sheet dt{font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;font-weight:700;color:var(--muted);padding-top:4px}
.sheet dd{margin:0}
.sheet a{text-decoration:none;border-bottom:1px solid var(--blush)}
.sheet--grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));border-top:0;gap:0 40px}
.sheet--grid>div{grid-template-columns:1fr;gap:4px;padding:18px 0}
.sheet--grid dd{font-size:1.1rem}
.sheet--top>div{grid-template-columns:minmax(110px,42%) 1fr}
@media (max-width:520px){.sheet>div{grid-template-columns:1fr;gap:2px}}

/* ---------- HERO home ---------- */
.hero{position:relative;min-height:100vh;min-height:100svh;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:center;padding:120px var(--pad) 90px;max-width:var(--maxw);margin:auto}
.hero__title{text-transform:uppercase;line-height:.9;letter-spacing:-.015em;margin-bottom:34px}
.hero__l1{display:block;font-size:var(--display)}
.hero__l2{display:block;font-size:clamp(1.3rem,2.8vw,2.6rem);font-weight:300;letter-spacing:.34em;margin-top:34px;color:var(--wine)}
.hero__quote{margin:0 0 36px;max-width:36ch;border-left:2px solid var(--wine);padding-left:20px}
.hero__quote p{font-style:italic;font-weight:300;font-size:1.15rem;line-height:1.5;margin:0 0 6px}
.hero__quote cite{font-style:normal;font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.hero__cta{display:flex;flex-wrap:wrap;gap:12px}
.hero__stage{position:relative;height:72vh;min-height:420px}

/* natura morta: bottiglie fotografiche reali, in piedi su una linea di terra comune */
.still{position:absolute;inset:0;transform-style:preserve-3d}
.still__b{position:absolute;bottom:6%;left:calc(var(--x) * 1%);height:calc(var(--h) * 1%);
  transform:translateX(-50%);will-change:transform}
.still__img{height:100%;width:auto;display:block;pointer-events:none}
.still__b--2{filter:blur(1.8px) saturate(.96);opacity:.72;z-index:1}
.still__b--1{filter:blur(.7px);opacity:.92;z-index:2}
.still__b--0{z-index:3;filter:drop-shadow(0 26px 30px rgba(52,26,20,.16))}
/* ombra di contatto a terra: e' quella che fa poggiare la bottiglia */
.still__shadow{position:absolute;left:50%;bottom:-3.4%;width:128%;height:4.6%;transform:translateX(-50%);
  background:radial-gradient(closest-side,rgba(40,18,12,.72),rgba(40,18,12,.34) 50%,rgba(40,18,12,.12) 72%,transparent 88%);
  filter:blur(6px);z-index:-1}
.still__shadow::after{content:'';position:absolute;left:50%;top:-40%;width:260%;height:210%;transform:translateX(-50%);
  background:radial-gradient(closest-side,rgba(44,20,14,.22),transparent 76%);filter:blur(10px)}
.still__b--1 .still__shadow{opacity:.6}
.still__b--2 .still__shadow{opacity:.4}

/* riflesso di luce che scorre sul vetro: mascherato sulla sagoma della bottiglia */
.still__gloss{position:absolute;inset:0;pointer-events:none;
  -webkit-mask:var(--mask) center/contain no-repeat;mask:var(--mask) center/contain no-repeat;
  background:linear-gradient(100deg,transparent 43%,rgba(255,255,255,.34) 47%,rgba(255,255,255,.9) 50%,rgba(255,255,255,.34) 53%,transparent 57%);
  background-size:230% 100%;background-position:180% 0;mix-blend-mode:screen}
.still__b--0 .still__gloss{animation:gloss 9s cubic-bezier(.5,0,.3,1) 2.4s infinite}
.still__b--1 .still__gloss{animation:gloss 9s cubic-bezier(.5,0,.3,1) 4.1s infinite;opacity:.6}
@keyframes gloss{0%{background-position:170% 0}22%,100%{background-position:-70% 0}}
.reduced .still__gloss{animation:none}
.hero__scroll{position:absolute;left:50%;bottom:22px;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;font-size:.66rem;letter-spacing:.3em;text-transform:uppercase;margin:0}
.hero__scroll i{width:1px;height:42px;background:linear-gradient(var(--fg) 50%,transparent 50%);background-size:1px 12px;animation:drip 1.4s linear infinite}
@keyframes drip{to{background-position:0 12px}}
@media (max-width:860px){
  .hero{grid-template-columns:1fr;align-items:end;padding-top:40vh;padding-bottom:84px}
  .hero__scroll{display:none}
  .hero__stage{position:absolute;inset:58px 0 auto;height:33vh;min-height:0}
  .hero__text{position:relative;z-index:4}
  .hero__l2{letter-spacing:.2em}
  .still__b{bottom:4%}
  .still__b--2{--x:17;--h:58}
  .still__b--1{--x:83;--h:74}
}

/* ---------- sezioni home ---------- */
section{position:relative}
.company,.phil,.tours,.palmento,.news,.visit{max-width:var(--maxw);margin:auto;padding:clamp(80px,12vw,180px) var(--pad)}
.company{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px 32px}
.company__head{grid-column:1/6}
.company__body{grid-column:7/13}
.nums{grid-column:1/13;list-style:none;margin:60px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--rule)}
.nums li{padding:22px 18px 0 0;border-right:1px solid var(--rule);margin-right:18px}
.nums li:last-child{border-right:0}
.nums b{display:block;font-size:clamp(2.2rem,5vw,4.6rem);font-weight:900;color:var(--wine);line-height:1}
.nums span{font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.company__pics{grid-column:1/13;display:grid;grid-template-columns:repeat(12,1fr);margin-top:80px;align-items:start}
.pic{margin:0;overflow:hidden;background:var(--line)}
.pic img{width:100%;height:100%;object-fit:cover}
.pic--a{grid-column:1/8;aspect-ratio:4/3}
.pic--b{grid-column:8/13;aspect-ratio:4/5;margin-top:26%;margin-left:-12%;box-shadow:0 30px 60px -30px rgba(0,0,0,.35);border:10px solid var(--paper-2)}
@media (max-width:860px){
  .company__head,.company__body{grid-column:1/13}
  .nums{grid-template-columns:repeat(2,1fr)}.nums li{border-right:0;border-bottom:1px solid var(--rule);padding-bottom:16px}
  .pic--a{grid-column:1/12}.pic--b{grid-column:5/13;margin-top:-18%;margin-left:0}
}

.phil{min-height:100vh;overflow:hidden}
.phil__sketch{position:absolute;inset:10% -10% auto;height:80%;background:url(/assets/brand/vite-sketch.webp) center/contain no-repeat;opacity:.9;pointer-events:none;filter:contrast(1.4)}
.phil__words{position:relative;margin:0 0 60px;display:flex;flex-direction:column;font-weight:900;text-transform:uppercase;line-height:.84;font-size:clamp(3.6rem,15vw,15rem);letter-spacing:-.03em}
.phil__word{display:block;white-space:nowrap}
.phil__word:nth-child(2n){text-align:right;color:transparent;-webkit-text-stroke:1.5px var(--wine)}
.phil__word:nth-child(3){color:var(--wine)}
.phil__body{position:relative;max-width:640px;margin-left:auto}
.phil__body .sec-title{font-size:clamp(1.8rem,3.4vw,3rem);margin-bottom:28px}

.wines{color:var(--fg)}
.hscroll{position:relative;overflow:hidden}
.hscroll__track{display:flex;align-items:center;gap:clamp(40px,7vw,130px);padding:clamp(90px,12vh,140px) var(--pad);width:max-content;will-change:transform}
.wines__intro{width:min(520px,82vw);flex:none;margin-right:clamp(20px,6vw,120px)}
.wines__intro .sec-title{margin-bottom:28px}
.wines__intro p{color:var(--fg-soft)}
.wines__intro .btn{margin-top:14px}
.wcard{flex:none;width:clamp(260px,24vw,340px);background:var(--paper-2);color:var(--ink);position:relative;transition:transform .6s var(--ease),box-shadow .6s}
.wcard:nth-child(odd){transform:translateY(24px)}
.wcard:hover{transform:translateY(-8px) rotate(-.6deg);box-shadow:0 40px 60px -30px rgba(0,0,0,.5)}
.wcard__link{display:flex;flex-direction:column;height:100%;text-decoration:none;padding:18px 20px 20px}
.wcard__num{font-size:.7rem;letter-spacing:.3em;color:var(--wine);font-weight:900}
.wcard__img{height:clamp(240px,34vh,330px);display:flex;align-items:center;justify-content:center;margin:8px 0 14px;overflow:hidden}
.wcard__img img{height:100%;width:auto;object-fit:contain;transition:transform .8s var(--ease)}
.wcard:hover .wcard__img img{transform:scale(1.06) rotate(2deg)}
.wcard__title{font-size:1.5rem;text-transform:uppercase;margin-bottom:10px}
.wcard__rows{list-style:none;margin:0 0 12px;padding:0;font-size:.82rem;line-height:1.35}
.wcard__rows li{display:grid;grid-template-columns:44% 1fr;gap:8px;padding:6px 0;border-top:1px solid var(--line)}
.wcard__rows span{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:.66rem;padding-top:2px}
.wcard__foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;border-top:2px solid var(--ink);padding-top:10px}
.wcard__foot .price{margin:0}
.wcard__go{width:40px;height:40px;border-radius:50%;background:var(--wine);color:#fff;display:grid;place-items:center;transition:transform .4s var(--ease)}
.wcard__go svg{width:18px}
.wcard:hover .wcard__go{transform:rotate(-45deg)}
.price{font-size:1.2rem;margin:0 0 8px}
.price b{font-weight:900}
.price del{color:var(--muted);font-size:.9em;margin-right:4px}
.price small{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.tag{display:inline-block;background:var(--ink);color:#fff;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;padding:6px 12px}

.tours__head{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:end;margin-bottom:70px}
.tours__feat{display:grid;grid-template-columns:repeat(12,1fr);gap:28px}
.tours__feat .tcard{grid-column:span 4}
.tours__feat--3 .tcard--big{grid-column:span 6;grid-row:span 2}
.tours__feat--3 .tcard:not(.tcard--big){grid-column:span 6}
.tours__feat--2 .tcard{grid-column:span 6}
.tours__feat--1 .tcard{grid-column:3/11}
.tcard a{display:flex;flex-direction:column;height:100%;text-decoration:none;background:var(--paper-2);border:1px solid var(--line)}
.tcard__img{overflow:hidden;aspect-ratio:16/10;background:var(--line)}
.tcard--big .tcard__img{aspect-ratio:4/4}
.tcard__img img{width:100%;height:100%;object-fit:cover}
.tcard__body{padding:22px 22px 20px;display:flex;flex-direction:column;flex:1}
.tcard h3{font-size:1.35rem;text-transform:uppercase;margin-bottom:10px;line-height:1.1}
.tcard p{color:var(--muted);font-size:.95rem}
.tcard__foot{margin-top:auto;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:12px}
.tcard__foot .price{margin:0}
.tcard .link{color:var(--wine)}
.tcard a:hover h3{color:var(--wine)}
.tours__all{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:48px;margin-top:120px}
.tours__allhead .btn{margin-top:8px}
.trows{list-style:none;margin:0;padding:0;border-top:1px solid var(--ink)}
.trow a{display:grid;grid-template-columns:1fr auto 32px;gap:18px;align-items:center;padding:20px 4px;border-bottom:1px solid var(--rule);text-decoration:none;transition:padding .45s var(--ease),background-color .3s}
.trow__title{font-weight:700;font-size:clamp(1rem,1.5vw,1.2rem)}
.trow__price{font-size:.9rem;color:var(--muted);white-space:nowrap}
.trow__go svg{width:22px;transition:transform .4s var(--ease)}
.trow a:hover{padding-left:18px;background:var(--paper-2)}
.trow a:hover .trow__title{color:var(--wine)}
.trow a:hover .trow__go svg{transform:translateX(6px)}
.preview{position:fixed;left:0;top:0;width:260px;height:180px;object-fit:cover;pointer-events:none;z-index:30;opacity:0;transform:translate(-50%,-50%) scale(.8);transition:opacity .3s,transform .3s var(--ease);box-shadow:0 30px 50px -20px rgba(0,0,0,.4)}
.preview.is-on{opacity:1;transform:translate(-50%,-50%) scale(1)}
@media (hover:none){.preview{display:none}}
@media (max-width:860px){
  .tours__head,.tours__all{grid-template-columns:1fr}
  .tours__feat .tcard,.tours__feat--3 .tcard--big,.tours__feat--3 .tcard:not(.tcard--big),.tours__feat--2 .tcard,.tours__feat--1 .tcard{grid-column:1/13;grid-row:auto}
  .tours__all{margin-top:80px}
  .trow a{grid-template-columns:1fr 24px}.trow__price{grid-column:1;grid-row:2;margin-top:-10px}.trow__go{grid-row:1/3;grid-column:2}
}

.palmento__stage{position:relative;aspect-ratio:1600/964;margin:0 calc(var(--pad) * -1) 70px;overflow:hidden;background:#fff}
.palmento__sketch,.palmento__photo,.palmento__photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.palmento__photo{clip-path:inset(0 0 0 100%)}
.palmento__text{max-width:760px;margin-left:auto}
.palmento__text .sec-title{margin-bottom:30px}
.events{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;margin-top:140px}
.events__img{aspect-ratio:4/3;overflow:hidden}
.events__img img{width:100%;height:100%;object-fit:cover}
@media (max-width:860px){.events{grid-template-columns:1fr;gap:28px;margin-top:90px}.palmento__stage{aspect-ratio:4/3}}

.news__head{display:flex;justify-content:space-between;align-items:end;gap:20px;flex-wrap:wrap;margin-bottom:48px}
.ngrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:40px 28px}
.ngrid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:900px){.ngrid--3{grid-template-columns:1fr}}
.ncard a{text-decoration:none;display:block}
.ncard__img{aspect-ratio:3/2;overflow:hidden;background:var(--line);margin-bottom:16px}
.ncard__img img{width:100%;height:100%;object-fit:cover}
.ncard__meta{font-size:.7rem;letter-spacing:.24em;text-transform:uppercase;color:var(--wine);margin:0 0 8px}
.ncard h3{font-size:1.3rem;line-height:1.15;margin-bottom:10px}
.ncard p{color:var(--muted);font-size:.95rem}
.ncard a:hover h3{text-decoration:underline;text-decoration-color:var(--wine);text-underline-offset:4px}

.visit__title{font-size:var(--display);text-transform:uppercase;line-height:.9;margin-bottom:60px;max-width:14ch}
.visit__grid{display:grid;grid-template-columns:1.1fr 1fr;gap:24px 60px}
.visit__cta{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
@media (max-width:860px){.visit__grid{grid-template-columns:1fr}}

/* ---------- pagine interne ---------- */
.phero{position:relative;max-width:var(--maxw);margin:auto;padding:130px var(--pad) 0;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px}
.phero__text{grid-column:1/13;padding-bottom:48px}
.phero__title{font-size:clamp(2.2rem,5.6vw,5.6rem);text-transform:uppercase;line-height:.95;letter-spacing:-.01em;max-width:18ch}
.phero__media{grid-column:1/13;aspect-ratio:21/9;overflow:hidden;background:var(--line)}
.phero__img{width:100%;height:100%;object-fit:cover}
@media (max-width:700px){.phero__media{aspect-ratio:4/3;margin:0 calc(var(--pad) * -1)}.phero{padding-top:110px}}
.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin:0 0 26px;padding:0;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.crumbs li+li::before{content:"/";margin-right:6px;opacity:.5}
.crumbs a{text-decoration:none}
.crumbs a:hover{color:var(--wine)}

.article-wrap{max-width:var(--maxw);margin:auto;padding:70px var(--pad) 120px;display:grid;grid-template-columns:minmax(0,3fr) minmax(0,8fr);gap:60px}
.article-wrap--post,.article-wrap--legal{grid-template-columns:minmax(0,1fr)}
.article-wrap--post .prose,.article-wrap--legal .prose{max-width:780px;margin:auto;width:100%}
.side__list{list-style:none;margin:0;padding:0;position:sticky;top:110px;border-top:1px solid var(--ink)}
.side__list a{display:flex;gap:14px;padding:14px 0;border-bottom:1px solid var(--rule);text-decoration:none;font-size:.95rem;line-height:1.3}
.side__list span{font-size:.7rem;color:var(--wine);font-weight:900;padding-top:3px}
.side__list a[aria-current]{font-weight:700;color:var(--wine)}
.side__list a:hover{color:var(--wine)}
@media (max-width:900px){.article-wrap{grid-template-columns:1fr;gap:30px}.side{order:2}.side__list{position:static}}

.prose{max-width:760px;min-width:0}
.prose h2{font-size:clamp(1.5rem,2.6vw,2.2rem);text-transform:uppercase;margin:1.8em 0 .7em;line-height:1.1}
.prose h3{font-size:1.3rem;margin:1.6em 0 .6em}
.prose h4,.prose h5{font-size:1.05rem;margin:1.4em 0 .5em;letter-spacing:.06em;text-transform:uppercase}
.prose>*:first-child{margin-top:0}
.prose a{color:var(--wine);text-decoration-thickness:1px;text-underline-offset:3px}
.prose ul,.prose ol{padding-left:1.2em;margin:0 0 1.2em}
.prose li{margin:.3em 0}
.prose ul li::marker{color:var(--wine)}
.prose blockquote{margin:1.6em 0;padding-left:22px;border-left:2px solid var(--wine);font-style:italic;font-weight:300;font-size:1.25rem}
.prose figure{margin:2em 0;overflow:hidden}
.prose figure img{width:auto;max-width:100%;max-height:78vh;margin:0 auto}
.prose figcaption{font-size:.8rem;color:var(--muted);padding-top:8px;letter-spacing:.04em}
.prose table{width:100%;border-collapse:collapse;font-size:.92rem}
.prose td,.prose th{border-bottom:1px solid var(--rule);padding:12px 10px;vertical-align:top;text-align:left}
.table-wrap{overflow-x:auto;margin:1.4em 0}
.prose .sheet{margin:1em 0 2em}
.gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:2em 0}
.gallery[data-count="3"]{grid-template-columns:repeat(3,minmax(0,1fr))}
.gallery figure{margin:0}
.gallery img{width:100%;aspect-ratio:4/3;object-fit:cover}
@media (max-width:600px){.gallery,.gallery[data-count="3"]{grid-template-columns:1fr 1fr}}
.gallery-wrap,.sheet-wrap,.strip{max-width:var(--maxw);margin:auto;padding:40px var(--pad) 100px}
.note{font-size:.78rem;color:var(--muted);margin-top:24px}

.cta{margin:40px 0 0;padding:28px;background:var(--paper-2);border:1px solid var(--line);display:flex;flex-direction:column;gap:10px}
.cta__h{font-size:1.2rem;text-transform:uppercase;letter-spacing:.06em}
.cta__p{color:var(--muted);margin:0 0 6px}
.cta .btn{justify-content:flex-start;text-transform:none;letter-spacing:.02em;font-size:.95rem;overflow-wrap:anywhere}

.wine{max-width:var(--maxw);margin:auto;padding:110px var(--pad) 60px;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(30px,6vw,90px)}
.wine__media{position:sticky;top:90px;height:calc(100vh - 120px);display:flex;align-items:center;justify-content:center}
.wine__halo{position:absolute;width:70%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,var(--blush-2),transparent 70%);opacity:.6}
.wine__bottle{position:relative;max-height:100%;width:auto;object-fit:contain;mix-blend-mode:multiply}
.wine__title{font-size:clamp(2.4rem,6vw,5.4rem);text-transform:uppercase;line-height:.92;margin-bottom:30px}
.wine__buy{margin:26px 0 20px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.wine__buy .price{font-size:2rem;margin:0}
.prose--tight{max-width:none}
@media (max-width:860px){.wine{grid-template-columns:1fr;padding-top:96px}.wine__media{position:relative;top:0;height:56vh}}
.strip__row{display:flex;gap:24px;overflow-x:auto;padding:10px 0 30px;scroll-snap-type:x mandatory}
.strip__row .wcard{scroll-snap-align:start;transform:none}

.tour{max-width:var(--maxw);margin:auto;padding:70px var(--pad) 90px;display:grid;grid-template-columns:minmax(0,8fr) minmax(0,4fr);gap:60px}
.tour__sticky{position:sticky;top:100px}
.tour__sticky .price{font-size:2rem}
.tour__sticky .cta{margin-top:10px}
@media (max-width:900px){.tour{grid-template-columns:1fr}}

.wintro,.tintro{max-width:var(--maxw);margin:auto;padding:40px var(--pad) 0}
.wintro__text{max-width:760px}
.tintro{max-width:1000px;margin-left:max(var(--pad),calc((100vw - var(--maxw))/2 + var(--pad)))}
.tgrid{max-width:var(--maxw);margin:auto;padding:60px var(--pad) 120px;display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:28px}
.ngrid{max-width:var(--maxw);margin-inline:auto}
section.ngrid{padding:30px var(--pad) 120px}
.wine-grid{display:none;max-width:var(--maxw);margin:auto;padding:40px var(--pad) 100px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:24px}
.wine-grid .wcard{width:auto;transform:none}
.hscroll--page .wcard{border:1px solid var(--line)}
.reduced .hscroll--page{display:none}
.reduced .wine-grid{display:grid}

.contact{max-width:var(--maxw);margin:auto;padding:70px var(--pad) 80px;display:grid;grid-template-columns:1fr 1fr;gap:60px}
.contact__lead{font-size:1.4rem;font-weight:300;line-height:1.4}
.form{background:var(--paper-2);border:1px solid var(--line);padding:clamp(20px,4vw,40px);display:grid;gap:16px;align-content:start}
.form__h{font-size:1.6rem;text-transform:uppercase;margin-bottom:6px}
.form label{display:grid;gap:6px;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;font-weight:700}
.form input,.form textarea{font:inherit;font-size:1rem;letter-spacing:0;text-transform:none;font-weight:400;padding:12px 0;border:0;border-bottom:1.5px solid var(--grey);background:transparent;color:var(--ink);border-radius:0}
.form input:focus,.form textarea:focus{outline:0;border-bottom-color:var(--wine)}
.form__check{grid-template-columns:22px 1fr!important;align-items:start;text-transform:none!important;letter-spacing:0!important;font-weight:400!important;font-size:.9rem!important}
.form__check input{width:18px;height:18px;accent-color:var(--wine);margin-top:2px}
.form__note{font-size:.8rem;color:var(--muted);margin:0}
@media (max-width:860px){.contact{grid-template-columns:1fr}}
.map{max-width:var(--maxw);margin:0 auto 120px;padding:0 var(--pad)}
.map__ph{position:relative;aspect-ratio:16/7;overflow:hidden;background:#fff;border:1px solid var(--line)}
.map__ph>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.8}
.map__box{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:var(--paper-2);padding:24px;text-align:center;max-width:min(420px,90%);box-shadow:0 20px 50px -20px rgba(0,0,0,.3)}
.map__box p{font-size:.85rem;color:var(--muted);margin:12px 0 8px}
.map__box a{color:var(--wine);font-weight:700;font-size:.9rem}
.map iframe{width:100%;height:100%;border:0;position:absolute;inset:0}
@media (max-width:700px){.map__ph{aspect-ratio:3/4}}

.nf{min-height:80vh;display:grid;place-content:center;text-align:center;padding:120px var(--pad)}
.nf__code{font-size:clamp(6rem,24vw,18rem);font-weight:900;color:var(--wine);line-height:.8;margin:0}
.nf h1{font-size:1.4rem;margin:20px 0}
.nf__btns{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}

/* ---------- footer ---------- */
.ftr{background:var(--ink);color:#e9e9e9;margin-top:0}
.ftr a{text-decoration:none}
.ftr a:hover{color:var(--blush)}
.ftr__marquee{overflow:hidden;border-bottom:1px solid rgba(255,255,255,.12);padding:18px 0}
.ftr__track{display:flex;width:max-content;animation:marq 40s linear infinite}
.ftr__track span{font-weight:900;text-transform:uppercase;font-size:clamp(2rem,6vw,5rem);white-space:nowrap;padding-right:.4em;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.5)}
.ftr__track span:nth-child(2n){color:var(--wine);-webkit-text-stroke:0}
@keyframes marq{to{transform:translateX(-50%)}}
.ftr__grid{max-width:var(--maxw);margin:auto;padding:70px var(--pad);display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px}
.ftr__brand img{width:150px;margin-bottom:24px}
.ftr__quote{font-style:italic;font-weight:300;max-width:34ch;color:#cfcfcf}
.ftr__quote span{font-style:normal;font-size:.75rem;letter-spacing:.2em}
.ftr__h{font-size:.72rem;letter-spacing:.3em;text-transform:uppercase;color:var(--blush);margin-bottom:18px;font-weight:700}
.ftr__list{list-style:none;margin:0;padding:0;font-size:.92rem;line-height:1.4}
.ftr__list li{margin-bottom:10px}
.ftr__social{display:flex;gap:10px}
.ftr__social a{width:42px;height:42px;border:1px solid currentColor;border-radius:50%;display:grid;place-items:center;transition:background-color .3s,color .3s}
.ftr__social a:hover{background:var(--wine);color:#fff;border-color:var(--wine)}
.ftr__social svg{width:20px;height:20px}
.ftr__base{max-width:var(--maxw);margin:auto;padding:22px var(--pad) 30px;border-top:1px solid rgba(255,255,255,.12);display:flex;flex-wrap:wrap;gap:12px 30px;justify-content:space-between;font-size:.78rem;color:#a9a9a9}
.ftr__age{flex:1 1 320px}
@media (max-width:900px){.ftr__grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.ftr__grid{grid-template-columns:1fr}}

/* calice che si riempie con lo scroll */
.glassmeter{position:fixed;right:18px;bottom:18px;width:30px;height:48px;z-index:40;pointer-events:none;opacity:.9}
.glassmeter svg{width:100%;height:100%;overflow:visible}
.glassmeter__line{fill:none;stroke:var(--fg);stroke-width:1.6;stroke-linecap:round}
.glassmeter__wine{fill:var(--wine);transform-origin:0 30px;transform:scaleY(0)}
body.menu-open .glassmeter{opacity:0}

/* reveal di base (senza JS resta tutto visibile) */
.js [data-reveal]{opacity:0;transform:translateY(28px)}
.reduced [data-reveal]{opacity:1!important;transform:none!important}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
  .palmento__photo{clip-path:none}
}
