.vlh-wrap{
  --vlh-h:84px;--vlh-d:44px;--vlh-nw:620px;
  --vlh-bg:#121212;--vlh-ink:#FFFFFF;--vlh-gold:#C8A45F;--vlh-gold-hi:#C8A45F;
  --vlh-line:rgba(200,164,95,.45);
}
.vlh-wrap *,.vlh-wrap *::before,.vlh-wrap *::after{box-sizing:border-box}
.vlh{
  position:fixed;top:0;left:0;right:0;z-index:9990;padding-top:env(safe-area-inset-top,0px);background:var(--vlh-bg);
  font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;
  filter:drop-shadow(0 6px 14px rgba(200,164,95,.13)) drop-shadow(0 18px 40px rgba(200,164,95,.09));
}
.vlh-spacer{height:calc(var(--vlh-h) + env(safe-area-inset-top,0px))}
.vlh__bar{
  position:relative;height:var(--vlh-h);
  display:flex;align-items:center;justify-content:space-between;
  padding:0 clamp(16px,4vw,56px);
  background:var(--vlh-bg);border-bottom:1px solid var(--vlh-line);
}
.vlh__logo{position:relative;z-index:2;display:block;color:var(--vlh-gold);line-height:0}
.vlh__crest{height:66px;width:auto;display:block}
.vlh__notch{
  position:absolute;left:calc(50% - var(--vlh-nw) / 2);top:0;
  width:var(--vlh-nw);height:calc(var(--vlh-h) + var(--vlh-d));pointer-events:none;
}
.vlh__curve{position:absolute;left:0;top:calc(var(--vlh-h) - 1px);width:100%;height:calc(var(--vlh-d) + 1px);overflow:visible;display:block}
.vlh__curve-fill{fill:var(--vlh-bg)}
.vlh__curve-line{fill:none;stroke:var(--vlh-line);stroke-width:1}
.vlh__menu{
  position:absolute;left:0;right:0;top:calc(var(--vlh-h) - 4px);
  display:flex;justify-content:center;gap:40px;margin:0;padding:0;list-style:none;pointer-events:auto;
}
.vlh__menu a{
  position:relative;display:block;padding:6px 0;color:var(--vlh-ink);text-decoration:none;
  font-family:"Roboto Condensed","Arial Narrow",sans-serif;
  font-size:15px;font-weight:200;letter-spacing:.06em;line-height:1.3;white-space:nowrap;transition:color .25s ease;
}
.vlh__menu a::after{content:"";position:absolute;left:50%;bottom:0;width:0;height:1px;background:var(--vlh-gold);transition:width .3s ease,left .3s ease}
.vlh__menu a:hover,.vlh__menu a[aria-current="page"]{color:var(--vlh-gold-hi)}
.vlh__menu a:hover::after,.vlh__menu a[aria-current="page"]::after{left:0;width:100%}
.vlh__actions{position:relative;z-index:2;display:flex;align-items:center;gap:18px}
.vlh__icon{position:relative;display:grid;place-items:center;width:36px;height:36px;color:var(--vlh-ink);transition:color .25s ease}
.vlh__icon:hover{color:var(--vlh-gold-hi)}
.vlh__icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.vlh__count{position:absolute;top:0;right:-2px;min-width:17px;height:17px;padding:0 4px;border-radius:9px;background:var(--vlh-gold);color:var(--vlh-bg);font-size:11px;font-weight:500;line-height:17px;text-align:center}
.vlh a:focus-visible{outline:1px solid var(--vlh-gold-hi);outline-offset:4px}
@media (max-width:960px){
  .vlh-wrap{--vlh-h:64px;--vlh-d:34px;--vlh-nw:min(400px,94vw)}
  .vlh__crest{height:50px}
  .vlh__actions{gap:4px}
  .vlh__menu{gap:clamp(16px,5vw,28px);top:calc(var(--vlh-h) - 2px)}
  .vlh__menu a{font-size:14px;letter-spacing:.04em}
}
@media (prefers-reduced-motion:reduce){.vlh *,.vlh *::after{transition:none!important}}


/* base */
html{background:#121212;color-scheme:dark}
body{margin:0;background:#121212;overflow-x:clip}
.vlx{
  --bg:#121212;--bg2:#121212;--ink:#F9F8F6;--mute:#999999;--gold:#C8A45F;--gold-hi:#C8A45F;--white:#FFFFFF;--dark:#3B3B3B;
  --line:#3B3B3B;--hdr:84px;
  background:var(--bg);color:var(--mute);
  font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:16px;line-height:1.6;
  -webkit-font-smoothing:antialiased;overflow-x:clip;
}
.vlx *,.vlx *::before,.vlx *::after{box-sizing:border-box}
.vlx :where(img){display:block;max-width:100%}
.vlx :where(a){color:inherit}
.vlx :where(h1,h2),.vlx .vlx-card__title{font-family:"Cormorant Garamond",Garamond,Georgia,serif;font-weight:400;letter-spacing:.01em;color:var(--ink)}
.vlx :where(h1,h2){margin:0}
.vlx :where(p){margin:0}
.vlx-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.vlx-center{text-align:center}
.vlx-kicker{display:block;color:var(--gold);font-size:14px;letter-spacing:.06em}

.vlx-btn{
  display:inline-block;padding:13px 28px;border:1px solid var(--gold);background:transparent;
  color:var(--white);font:500 15px/1.2 "Helvetica Neue",Helvetica,Arial,sans-serif;letter-spacing:.03em;text-decoration:none;cursor:pointer;
  transition:background .3s ease,color .3s ease;
}
.vlx-btn:hover{background:var(--gold);color:var(--bg)}
.vlx-btn--sm{padding:9px 20px;font-size:14px}
.vlx-link{color:var(--gold-hi);text-decoration:none;font-size:15px;border-bottom:1px solid var(--line);padding-bottom:2px;transition:border-color .3s ease}
.vlx-link:hover{border-color:var(--gold-hi)}
.vlx a:focus-visible,.vlx button:focus-visible,.vlx input:focus-visible{outline:1px solid var(--gold-hi);outline-offset:4px}

/* video guidato dallo scroll */
.vlx-scrub{position:relative;height:460vh}
.vlx-scrub__stage{
  position:sticky;top:calc(var(--hdr) + env(safe-area-inset-top,0px));height:calc(100svh - var(--hdr) - env(safe-area-inset-top,0px));
  overflow:hidden;display:grid;place-items:center;background:#121212;
}
.vlx-scrub__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.vlx-scrub__veil{
  position:absolute;inset:0;
  background:
    radial-gradient(75% 65% at 50% 50%,rgba(18,18,18,.62),rgba(18,18,18,.38) 75%),
    linear-gradient(to bottom,rgba(18,18,18,.35),rgba(18,18,18,0) 30%,rgba(18,18,18,0) 70%,rgba(18,18,18,.85));
}
.vlx-scrub__texts{position:relative;display:grid;align-items:center;width:100%;max-width:1160px;padding:0 24px;text-align:center}
.vlx-scrub__text{
  grid-area:1/1;margin:0;color:var(--ink);
  font-family:"Cormorant Garamond",Garamond,Georgia,serif;font-weight:400;
  font-size:clamp(36px,5.8vw,84px);line-height:1.06;letter-spacing:.005em;
  text-shadow:0 2px 30px rgba(18,18,18,.35);
}
/* macchina da scrivere: le lettere occupano già il loro posto, così il testo non salta */
.js .vlx-scrub:not(.is-tw) .vlx-scrub__text{visibility:hidden}
.vlx-tw__c{visibility:hidden}
.vlx-tw__visual{white-space:pre-wrap}
.vlx-tw__c.is-in{visibility:visible}
.vlx-tw__caret{display:inline-block;position:relative;width:0;height:.85em;vertical-align:-.08em}
.vlx-tw__caret::after{content:"";position:absolute;left:.04em;top:0;bottom:0;width:2px;background:var(--gold-hi)}
.vlx-tw__caret.is-idle::after{animation:vlxBlink 1s steps(1) infinite}
@keyframes vlxBlink{50%{opacity:0}}
.vlx-count{opacity:0;transform:translateY(8px);transition:opacity .6s ease,transform .6s ease}
.vlx-count.is-on{opacity:1;transform:none}
.vlx-scrub__text em{font-style:italic;font-weight:600}
.vlx-scrub__line{margin:0}
.vlx-count{margin:clamp(28px,4vh,44px) 0 0;display:grid;justify-items:center;gap:6px}
.vlx-count__num{
  font-family:"Cormorant Garamond",Garamond,Georgia,serif;font-weight:500;
  font-size:clamp(56px,7vw,96px);line-height:1;color:var(--gold-hi);
  font-variant-numeric:tabular-nums lining-nums;min-width:3ch;
}
.vlx-count__label{
  font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:clamp(14px,1.3vw,17px);
  letter-spacing:.04em;color:#F9F8F6;text-shadow:0 1px 12px rgba(18,18,18,.6);
}
.vlx-scrub__progress{position:absolute;left:50%;bottom:34px;width:120px;height:1px;margin-left:-60px;background:#3B3B3B}
.vlx-scrub__progress span{display:block;height:100%;width:100%;background:var(--gold);transform-origin:left;transform:scaleX(0)}
.vlx-scrub__hint{position:absolute;left:50%;bottom:48px;transform:translateX(-50%);color:var(--mute);font-size:13px;letter-spacing:.08em;transition:opacity .5s ease}
.vlx-scrub.is-moving .vlx-scrub__hint{opacity:0}

/* sezioni */
.vlx-sec{max-width:1240px;margin:0 auto;padding:clamp(80px,10vw,130px) clamp(20px,4vw,40px) 0}
.vlx-sec--tight{padding-top:clamp(80px,9vw,120px)}
.vlx-head{text-align:center;max-width:620px;margin:0 auto clamp(40px,5vw,64px)}
.vlx-head h2{font-size:clamp(36px,4.4vw,56px);line-height:1.12;margin-bottom:14px}
.vlx-head p{color:var(--mute)}

/* bento */
.vlx-bento{display:grid;grid-template-columns:1.45fr 1fr;grid-template-rows:1fr 1fr;gap:18px;height:clamp(560px,52vw,680px)}
.vlx-card{position:relative;display:block;overflow:hidden;text-decoration:none;background:var(--bg2)}
.vlx-card--big{grid-row:1 / 3}
.vlx-card img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.vlx-card:hover img{transform:scale(1.04)}
.vlx-card::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(18,18,18,.85),rgba(18,18,18,0) 55%)}
.vlx-card__body{position:absolute;left:clamp(20px,3vw,36px);right:20px;bottom:clamp(20px,3vw,34px);z-index:1;display:grid;justify-items:start;gap:8px}
.vlx-card__title{font-size:clamp(28px,2.8vw,40px);line-height:1.1;margin-bottom:8px}
.vlx-card--big .vlx-card__title{font-size:clamp(32px,3.6vw,48px)}
.vlx-kicker--caps{text-transform:uppercase;letter-spacing:.22em;font-size:12px;line-height:1.7}
.vlx-head--rule::before{content:"";display:block;width:56px;height:1px;background:var(--gold);margin:0 auto 28px}
/* foto prodotto: sfondo nero come lo still life */
.vlx-bento .vlx-card{background:#121212}
.vlx-card--big img{object-position:50% 58%}
.vlx-card--side img{position:absolute;top:-9%;left:76%;width:auto;height:118%;max-width:none;transform:none;translate:-50% 0;scale:1;transition:scale 1.2s cubic-bezier(.2,.7,.2,1);
  -webkit-mask-image:linear-gradient(to right,transparent 0,#000 35%);mask-image:linear-gradient(to right,transparent 0,#000 35%)}
.vlx-card--side:hover img{transform:none;scale:1.04}
.vlx-card--side .vlx-card__body{right:auto;max-width:62%}
.vlx-card--side .vlx-card__title{font-size:clamp(24px,2.3vw,32px)}
.vlx-head--wide{max-width:820px}

/* prodotti */
.vlx-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,2.4vw,30px) clamp(14px,2vw,24px)}
.vlx-prod{display:grid;gap:4px;text-decoration:none}
.vlx-prod__img{display:block;aspect-ratio:4/5;overflow:hidden;background:var(--bg2);margin-bottom:14px}
.vlx-prod__img img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.vlx-prod:hover .vlx-prod__img img{transform:scale(1.04)}
.vlx-prod__name{color:var(--ink);font-family:"Cormorant Garamond",Garamond,Georgia,serif;font-weight:500;font-size:23px;line-height:1.25}
.vlx-prod__meta{color:var(--mute);font-size:14px}
.vlx-prod__price{color:var(--gold-hi);font-size:15px}
.vlx-sec--tight .vlx-center{margin-top:clamp(36px,4vw,52px)}

/* comparsa dal basso guidata dallo scroll (i valori li imposta lo script) */
[data-reveal]{will-change:transform,opacity}

/* velo dorato sulle foto prodotto: si scopre una sola volta quando la sezione entra */
.vlx-veil{display:none}
.js .vlx-veil{
  display:block;position:absolute;inset:0;z-index:1;pointer-events:none;
  background:#C8A45F;
  transform-origin:50% 100%;transform:scaleY(1);
  transition:transform 1.1s cubic-bezier(.77,0,.18,1);transition-delay:var(--d,0s);
}
.vlx-prod__img{position:relative}
.is-unveiled .vlx-veil{transform:scaleY(0)}
.js .vlx-bento .vlx-card__body{opacity:0;transform:translateY(10px);transition:opacity .6s ease,transform .6s ease;transition-delay:calc(var(--d,0s) + .75s)}
.js .is-unveiled .vlx-card__body{opacity:1;transform:none}
.vlx-card__body{z-index:2}
.vlx-card::after{z-index:1}

/* premi */
.vlx-stats{display:flex;align-items:flex-start;justify-content:center;gap:clamp(32px,8vw,120px);margin:0 auto clamp(44px,5vw,64px);text-align:center}
.vlx-stat{margin:0;display:grid;justify-items:center;align-content:start;gap:6px;max-width:15em}
.vlx-stat__num{font-family:"Cormorant Garamond",Garamond,Georgia,serif;font-weight:500;font-size:clamp(56px,6vw,84px);line-height:1;color:var(--gold);font-variant-numeric:tabular-nums lining-nums}
.vlx-stat__label{font-size:15px;color:var(--mute)}
.vlx-awards__grid{list-style:none;margin:0 auto;padding:0;max-width:1052px;display:flex;flex-wrap:wrap;justify-content:center;gap:16px}
.vlx-award{
  flex:0 1 calc((100% - 2 * 16px) / 3);max-width:340px;min-width:0;
  display:grid;justify-items:center;align-content:start;gap:6px;text-align:center;
  padding:26px 18px 24px;background:var(--bg);border:1px solid var(--line);transition:border-color .3s ease;
}
.vlx-award:hover{border-color:var(--gold)}
.vlx-award__badge{display:grid;place-items:center;width:100%;aspect-ratio:1;max-width:150px;margin-bottom:14px}
.vlx-award__badge img{width:100%;height:100%;object-fit:contain;opacity:.78;transition:opacity .4s ease}
.vlx-award:hover .vlx-award__badge img{opacity:1}
.vlx-award__name{font-family:"Cormorant Garamond",Garamond,Georgia,serif;font-weight:500;font-size:20px;line-height:1.2;color:var(--ink)}
.vlx-award__info{font-size:13px;line-height:1.45;color:var(--mute)}
.js .vlx-award{opacity:0;transform:translateY(16px);transition:opacity .6s ease,transform .6s ease,border-color .3s ease;transition-delay:var(--d,0s),var(--d,0s),0s}
.js .is-shown .vlx-award{opacity:1;transform:none}

/* banner */
.vlx-banner{position:relative;margin-top:clamp(80px,10vw,130px);min-height:clamp(460px,48vw,620px);display:flex;align-items:center;isolation:isolate}
.vlx-banner__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.vlx-banner::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(18,18,18,.9) 0%,rgba(18,18,18,.55) 45%,rgba(18,18,18,.1) 80%)}
.vlx-banner__inner{width:100%;max-width:1240px;margin:0 auto;padding:60px clamp(20px,4vw,40px)}
.vlx-banner h2{font-size:clamp(38px,4.8vw,64px);line-height:1.1;margin:14px 0 20px}
.vlx-banner__inner>p:not(.vlx-kicker){color:#F9F8F6;max-width:30em;margin-bottom:32px}

.vlx-banner--mill{min-height:clamp(520px,56vw,760px)}
.vlx-banner--mill .vlx-banner__img{object-position:50% 50%}
.vlx-banner--mill::after{background:
  linear-gradient(90deg,rgba(18,18,18,.92) 0%,rgba(18,18,18,.7) 38%,rgba(18,18,18,.15) 75%),
  linear-gradient(to bottom,rgba(18,18,18,.55),rgba(18,18,18,0) 22%,rgba(18,18,18,0) 78%,rgba(18,18,18,.7))}
.vlx-link--arrow{display:inline-flex;align-items:center;gap:10px;font-size:16px}
.vlx-link--arrow span{transition:transform .3s ease}
.vlx-link--arrow:hover span{transform:translateX(4px)}

/* valori */
.vlx-head--intro{max-width:720px}
.vlx-head--intro h2{margin-bottom:24px}
.vlx-head--intro p{font-size:17px;line-height:1.7;max-width:36em;margin:0 auto 12px}
.vlx-head--intro p:last-child{margin-bottom:0}
.vlx-values .vlx-head{margin-bottom:clamp(48px,6vw,90px)}
.vlx-values__list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(32px,4vw,60px)}
.vlx-value{display:grid;justify-items:center;text-align:center;align-content:start}
.vlx-value__num{
  display:grid;place-items:center;width:64px;height:64px;border:1px solid var(--gold);border-radius:50%;
  font-family:"Cormorant Garamond",Garamond,Georgia,serif;font-size:22px;line-height:1;color:var(--gold);
  font-variant-numeric:oldstyle-nums;margin-bottom:26px;
}
.vlx-value__num--icon img{width:64px;height:64px;display:block}
.vlx-value__num--icon{border:0;border-radius:0;width:64px;height:64px}
.vlx-value__num--icon svg{width:56px;height:56px;fill:none;stroke:var(--gold);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.vlx-value__title{margin:0 0 14px;font-family:"Cormorant Garamond",Garamond,Georgia,serif;font-weight:400;font-size:clamp(24px,2.2vw,30px);line-height:1.2;color:var(--ink)}
.vlx-value p{max-width:22em;color:var(--mute);font-size:16px;line-height:1.6}
.vlx-values+.vlx-banner{margin-top:clamp(80px,10vw,130px)}

.vlx-banner--grove{min-height:clamp(560px,58vw,780px)}
.vlx-banner--grove .vlx-banner__inner{display:flex;justify-content:flex-start}
.vlx-banner--grove .vlx-banner__copy{max-width:620px}
.vlx-banner--grove .vlx-banner__copy>p:not(.vlx-kicker){max-width:32em}
.vlx-banner--grove .vlx-banner__copy>p:not(.vlx-kicker){color:#F9F8F6;margin-bottom:18px}
.vlx-banner--grove .vlx-banner__copy>p:last-of-type{margin-bottom:34px}
.vlx-banner--grove::after{background:
  linear-gradient(90deg,rgba(18,18,18,.92) 0%,rgba(18,18,18,.7) 38%,rgba(18,18,18,.15) 75%),
  linear-gradient(to bottom,rgba(18,18,18,.55),rgba(18,18,18,0) 22%,rgba(18,18,18,0) 78%,rgba(18,18,18,.7))}

/* il nostro impegno */
.vlx-pledge .vlx-head{max-width:760px;margin-bottom:0}
.vlx-pledge{max-width:none;margin-top:clamp(80px,10vw,130px);padding:clamp(90px,11vw,150px) clamp(20px,4vw,40px);background:#C8A45F}
.vlx-pledge .vlx-head--rule::before{background:#121212}
.vlx-pledge .vlx-head h2{color:#121212}
.vlx-pledge .vlx-head .vlx-kicker{color:#121212;margin-bottom:18px}
.vlx-pledge h2{font-size:clamp(40px,5.4vw,72px);line-height:1.08;margin-bottom:30px}
.vlx-pledge .vlx-head p:not(.vlx-kicker){color:#3B3B3B;font-size:17px;line-height:1.7;margin:0 auto 16px;max-width:38em}
.vlx-pledge .vlx-head p.vlx-pledge__end{color:#121212;font-weight:500;margin-top:26px}


.vlx-pure{list-style:none;margin:0;padding:0;display:grid;gap:clamp(8px,1.2vw,16px);max-width:min(520px,40vw)}
.vlx-pure li{font-family:"Cormorant Garamond",Garamond,Georgia,serif;font-weight:400;font-size:clamp(26px,2.8vw,42px);line-height:1.12;color:#F9F8F6}
.vlx-banner__inner .vlx-pure__claim{margin:clamp(36px,5vw,56px) 0 28px;max-width:min(520px,40vw);font-family:"Cormorant Garamond",Garamond,Georgia,serif;font-style:italic;font-weight:500;font-size:clamp(22px,2.2vw,30px);line-height:1.25;color:#F9F8F6}
.vlx-pure li{display:grid;grid-template-columns:auto 1fr;column-gap:.3em}
.vlx-pure span:first-child{color:var(--gold);font-weight:500;font-variant-numeric:lining-nums}

/* recensioni */
.vlx-quotes{text-align:center;max-width:820px}
.vlx-quotes__mark{width:40px;height:30px;fill:var(--gold);opacity:.8;margin:22px auto 26px;display:block}
.vlx-quotes__track{display:grid}
.vlx-quote{grid-area:1/1;margin:0;opacity:0;visibility:hidden;transition:opacity .6s ease,visibility 0s .6s}
.vlx-quote.is-on{opacity:1;visibility:visible;transition:opacity .6s ease}
.vlx-quote blockquote{color:var(--ink);margin:0 0 22px;font-family:"Cormorant Garamond",Garamond,Georgia,serif;font-size:clamp(24px,2.8vw,35px);line-height:1.35}
.vlx-quote figcaption{color:var(--mute);font-size:15px}
.vlx-dots{display:flex;justify-content:center;gap:10px;margin-top:30px}
.vlx-dots button{width:8px;height:8px;padding:0;border-radius:50%;border:1px solid var(--gold);background:transparent;cursor:pointer}
.vlx-dots button[aria-selected="true"]{background:var(--gold)}

/* newsletter */
.vlx-news{max-width:720px;padding-bottom:clamp(80px,10vw,130px)}
.vlx-news__form{display:flex;gap:10px;max-width:520px;margin:0 auto}
.vlx-news__form input{flex:1;min-width:0;padding:13px 16px;background:transparent;border:1px solid var(--line);color:var(--ink);font:400 15px/1.2 "Helvetica Neue",Helvetica,Arial,sans-serif}
.vlx-news__form input::placeholder{color:#999999}
.vlx-news__form input:focus{border-color:var(--gold)}
.vlx-news__note{text-align:center;color:var(--mute);font-size:13px;margin-top:14px}
.vlx-news__note a{color:var(--gold-hi)}

/* footer */
.vlx-foot{border-top:1px solid var(--line);background:#121212}
.vlx-foot__top{max-width:1240px;margin:0 auto;padding:clamp(56px,6vw,80px) clamp(20px,4vw,40px);display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:40px}
.vlx-foot__brand{color:var(--gold)}
.vlx-foot__brand .vlh__crest{height:84px;width:auto}
.vlx-foot__brand p{color:var(--mute);font-size:15px;max-width:22em;margin-top:18px}
.vlx-foot__col{display:grid;align-content:start;gap:10px}
.vlx-foot__col h3{margin:0 0 6px;font:500 14px/1.4 "Helvetica Neue",Helvetica,Arial,sans-serif;letter-spacing:.06em;color:var(--gold)}
.vlx-foot__col a{color:#999999;text-decoration:none;font-size:15px}
.vlx-foot__col a:hover{color:var(--gold-hi)}
.vlx-social{display:flex;gap:12px}
.vlx-social a:hover{color:var(--gold);border-color:var(--gold)}
.vlx-social a{color:var(--white);display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--line);border-radius:50%}
.vlx-social svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.vlx-foot__bottom{max-width:1240px;margin:0 auto;padding:22px clamp(20px,4vw,40px) calc(30px + env(safe-area-inset-bottom,0px));border-top:1px solid #3B3B3B;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;color:#999999;font-size:13px}
.vlx-foot__bottom a{color:inherit;text-decoration:none;margin-left:20px}
.vlx-foot__bottom a:hover{color:var(--gold-hi)}

@media (max-width:960px){
  .vlx{--hdr:64px}
  .vlx-bento{grid-template-columns:1fr 1fr;grid-template-rows:auto;height:auto}
  .vlx-card{aspect-ratio:4/5}
  .vlx-card--big{grid-column:1 / 3;grid-row:auto;aspect-ratio:1/1}
  .vlx-card--side img{translate:none}
  .vlx-card--side img,.vlx-card--side:hover img{position:static;width:100%;height:100%;object-fit:cover;transform:none;-webkit-mask-image:none;mask-image:none}
  .vlx-card--side .vlx-card__body{right:20px;max-width:none}
  .vlx-grid{grid-template-columns:repeat(2,1fr)}
  .vlx-award{flex-basis:calc((100% - 2 * 16px) / 3)}
  .vlx-values__list{grid-template-columns:1fr;max-width:440px;margin:0 auto}
  .vlx-foot__top{grid-template-columns:1fr 1fr}
  .vlx-foot__brand{grid-column:1 / 3}
}
@media (max-width:560px){
  .vlx-pure,.vlx-banner__inner .vlx-pure__claim{max-width:none}
  .vlx-pledge .vlx-head{text-align:left}
  .vlx-pledge .vlx-head--rule::before{margin-left:0}
  .vlx-pledge .vlx-head p:not(.vlx-kicker){margin-left:0}
  .vlx-banner--grove .vlx-banner__inner{justify-content:flex-start}
  .vlx-banner--mill::after{background:linear-gradient(to bottom,rgba(18,18,18,.75),rgba(18,18,18,.82))}
  .vlx-banner--grove::after{background:linear-gradient(to bottom,rgba(18,18,18,.75),rgba(18,18,18,.82))}
  .vlx-banner--mill{min-height:560px}
  .vlx-award{flex-basis:calc((100% - 12px) / 2);padding:20px 12px}
  .vlx-awards__grid{gap:12px}
  .vlx-stats{gap:24px}
  .vlx-bento{grid-template-columns:1fr}
  .vlx-card,.vlx-card--big{grid-column:auto;aspect-ratio:4/5}
  .vlx-bento .vlx-card img,.vlx-bento .vlx-card:hover img{object-position:50% 22%}
  .vlx-prod__name{font-size:20px}
  .vlx-news__form{flex-direction:column}
  .vlx-foot__top{grid-template-columns:1fr}
  .vlx-foot__brand{grid-column:auto}
  .vlx-foot__bottom a{margin:0 16px 0 0}
}
@media (max-width:960px){.vlx-scrub{height:360vh}}
@media (max-width:560px){.vlx-scrub h1.vlx-scrub__text br{display:none}}
@media (prefers-reduced-motion:reduce){
  .vlx *{animation:none!important;transition:none!important}
  .js .vlx-veil{display:none}
  .js .vlx-bento .vlx-card__body{opacity:1;transform:none}
  [data-reveal]{transform:none!important;opacity:1!important}
  .js .vlx-award{opacity:1;transform:none}
  .vlx-scrub{height:auto}
  .vlx-scrub__stage{position:relative;height:auto;min-height:calc(100svh - var(--hdr));padding:80px 0}
  .vlx-scrub__texts{gap:28px}
  .vlx-scrub__text{grid-area:auto;opacity:1;transform:none;filter:none;font-size:clamp(34px,5vw,64px)}
  .vlx-scrub__progress,.vlx-scrub__hint{display:none}
  .vlx-count{opacity:1;transform:none}
}

/* =========================================================
   PAGINA FRANTOIO (visita e degustazione)
   ========================================================= */
.vlx-phero{position:relative;min-height:max(620px,calc(100svh - var(--hdr)));display:flex;align-items:center;isolation:isolate}
.vlx-phero__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.vlx-phero::after{content:"";position:absolute;inset:0;z-index:-1;background:
  linear-gradient(90deg,rgba(18,18,18,.92) 0%,rgba(18,18,18,.7) 40%,rgba(18,18,18,.2) 78%),
  linear-gradient(to bottom,rgba(18,18,18,.55),rgba(18,18,18,0) 25%,rgba(18,18,18,0) 70%,rgba(18,18,18,.9))}
.vlx-phero__inner{width:100%;max-width:1240px;margin:0 auto;padding:clamp(110px,12vw,150px) clamp(20px,4vw,40px) 80px}
.vlx-phero h1{font-size:clamp(40px,5vw,72px);line-height:1.06;margin:16px 0 22px;max-width:min(640px,100%)}
.vlx-phero__inner>*{max-width:min(640px,100%)}
.vlx-phero__sub{color:#F9F8F6;max-width:34em;font-size:17px;line-height:1.65}
.vlx-facts{list-style:none;margin:26px 0 34px;padding:0;display:flex;flex-wrap:wrap;gap:10px 0}
.vlx-facts li{font-size:14px;letter-spacing:.04em;color:#F9F8F6;padding:0 16px;border-left:1px solid var(--gold)}
.vlx-facts li:first-child{padding-left:0;border-left:0}
.vlx-phero__cta{display:flex;flex-wrap:wrap;align-items:center;gap:18px 30px}
.vlx-price{margin:0;color:#F9F8F6;font-size:15px}
.vlx-price strong{font-family:"Cormorant Garamond",Garamond,Georgia,serif;font-weight:500;font-size:40px;line-height:1;color:var(--gold);margin:0 4px;vertical-align:-4px}

.vlx-btn--fill{background:var(--gold);color:#121212}
.vlx-btn--fill:hover{background:transparent;color:var(--gold)}
.vlx-btn--dark{border-color:#121212;color:#121212;margin-top:30px}
.vlx-btn--dark:hover{background:#121212;color:var(--gold)}

.vlx-trust{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.vlx-trust ul{list-style:none;margin:0 auto;padding:30px clamp(20px,4vw,40px);max-width:1240px;display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.vlx-trust li{font-size:15px;line-height:1.5;color:var(--mute);text-align:center}
.vlx-trust strong{display:block;font-family:"Cormorant Garamond",Garamond,Georgia,serif;font-weight:500;font-size:22px;color:var(--ink);margin-bottom:2px}

.vlx-gallery{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:clamp(180px,20vw,280px);gap:14px}
.vlx-gallery figure{margin:0;overflow:hidden;background:var(--bg2)}
.vlx-gallery img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.vlx-gallery figure:hover img{transform:scale(1.04)}
.vlx-gallery__a{grid-column:1 / 3;grid-row:1 / 3}

.vlx-steps{display:grid;grid-template-columns:1fr 1.5fr;gap:clamp(40px,6vw,90px);align-items:start}
.vlx-steps h3,.vlx-detail h3,.vlx-info h3,.vlx-plan h3{font-family:"Cormorant Garamond",Garamond,Georgia,serif;font-weight:400;color:var(--ink);font-size:clamp(24px,2.2vw,30px);line-height:1.2;margin:0 0 20px}
.vlx-ticks{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.vlx-ticks li{position:relative;padding-left:28px;color:var(--mute);font-size:16px;line-height:1.55}
.vlx-ticks li::before{content:"";position:absolute;left:2px;top:.42em;width:11px;height:6px;border-left:1.5px solid var(--gold);border-bottom:1.5px solid var(--gold);transform:rotate(-45deg)}
.vlx-timeline{list-style:none;margin:0;padding:0;counter-reset:st}
.vlx-timeline li{counter-increment:st;position:relative;padding:0 0 26px 64px;color:var(--mute);font-size:16px;line-height:1.6}
.vlx-timeline li::before{content:counter(st,decimal-leading-zero);position:absolute;left:0;top:-6px;font-family:"Cormorant Garamond",Garamond,Georgia,serif;font-size:30px;color:var(--gold);font-variant-numeric:oldstyle-nums}
.vlx-timeline li::after{content:"";position:absolute;left:18px;top:34px;bottom:4px;width:1px;background:var(--line)}
.vlx-timeline li:last-child{padding-bottom:0}
.vlx-timeline li:last-child::after{display:none}

.vlx-plans{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;align-items:stretch}
.vlx-plan{position:relative;display:flex;flex-direction:column;padding:34px 30px 32px;border:1px solid var(--line);background:var(--bg)}
.vlx-plan--top{border-color:var(--gold)}
.vlx-plan__badge{position:absolute;top:-13px;left:30px;margin:0;padding:4px 12px;background:var(--gold);color:#121212;font-size:12px;letter-spacing:.14em;text-transform:uppercase}
.vlx-plan .vlx-kicker{margin-bottom:10px}
.vlx-plan h3{margin-bottom:14px}
.vlx-plan__price{margin:0 0 6px;color:var(--mute);font-size:15px}
.vlx-plan__price strong{font-family:"Cormorant Garamond",Garamond,Georgia,serif;font-weight:500;font-size:46px;line-height:1;color:var(--gold);margin-right:4px}
.vlx-plan__meta{color:var(--mute);font-size:14px;line-height:1.55;margin:0 0 22px;padding-bottom:22px;border-bottom:1px solid var(--line)}
.vlx-plan .vlx-ticks{margin-bottom:30px}
.vlx-plan .vlx-btn{margin-top:auto;align-self:flex-start}
.vlx-note{text-align:center;color:var(--mute);font-size:15px;margin-top:30px}

.vlx-included{list-style:none;margin:0 auto;padding:0;max-width:980px;display:grid;grid-template-columns:repeat(3,1fr);gap:0 40px}
.vlx-included li{position:relative;padding:20px 0 20px 30px;border-bottom:1px solid var(--line);color:var(--ink);font-size:16px}
.vlx-included li::before{content:"";position:absolute;left:2px;top:calc(20px + .42em);width:11px;height:6px;border-left:1.5px solid var(--gold);border-bottom:1.5px solid var(--gold);transform:rotate(-45deg)}
.vlx-tip{max-width:40em;margin:34px auto 0;text-align:center;color:var(--mute);font-size:15px}
.vlx-tip strong{color:var(--gold);font-weight:500}

.vlx-details{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.vlx-detail{padding:34px 30px;border:1px solid var(--line)}
.vlx-detail>p{color:var(--mute);font-size:16px;line-height:1.6;margin-bottom:20px}
.vlx-table{width:100%;border-collapse:collapse;margin-bottom:24px}
.vlx-table th,.vlx-table td{padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);text-align:left}
.vlx-table th{font-weight:400;color:var(--mute);font-size:15px}
.vlx-table td{text-align:right;font-family:"Cormorant Garamond",Garamond,Georgia,serif;font-size:22px;color:var(--gold)}
.vlx-dash{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.vlx-dash li{position:relative;padding-left:22px;color:var(--mute);font-size:15px;line-height:1.55}
.vlx-dash li::before{content:"";position:absolute;left:0;top:.75em;width:10px;height:1px;background:var(--gold)}

.vlx-info{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(30px,4vw,60px)}
.vlx-info .vlx-link{display:inline-flex;margin-top:20px}

.vlx-reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.vlx-review{margin:0;padding:32px 28px;border:1px solid var(--line);display:flex;flex-direction:column}
.vlx-stars{margin:0 0 16px;color:var(--gold);letter-spacing:.2em;font-size:14px}
.vlx-review blockquote{margin:0 0 20px;font-family:"Cormorant Garamond",Garamond,Georgia,serif;font-style:italic;font-size:20px;line-height:1.45;color:var(--ink)}
.vlx-review figcaption{margin-top:auto;color:var(--mute);font-size:14px}
.vlx-portals__title{text-align:center;color:var(--mute);font-size:15px;margin:44px 0 18px}
.vlx-portals{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.vlx-portals a{display:grid;gap:4px;padding:20px 22px;border:1px solid var(--line);text-decoration:none;color:var(--gold);font-size:14px;transition:border-color .3s ease}
.vlx-portals a:hover{border-color:var(--gold)}
.vlx-portals span{font-family:"Cormorant Garamond",Garamond,Georgia,serif;font-size:22px;color:var(--ink)}

.vlx-form{max-width:820px;margin:0 auto}
.vlx-form__grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.vlx-form__grid--3{grid-template-columns:repeat(3,1fr)}
.vlx-field{display:grid;gap:8px}
.vlx-field--full{grid-column:1 / -1;margin-top:18px}
.vlx-form__grid .vlx-field--full{margin-top:0}
.vlx-field>span{font-size:13px;letter-spacing:.04em;color:var(--mute)}
.vlx-field input,.vlx-field select,.vlx-field textarea{
  width:100%;padding:13px 16px;background:transparent;border:1px solid var(--line);border-radius:0;
  color:var(--ink);font:400 16px/1.3 "Helvetica Neue",Helvetica,Arial,sans-serif;color-scheme:dark;
}
.vlx-field select option{background:#121212;color:#F9F8F6}
.vlx-field textarea{resize:vertical}
.vlx-field input:focus,.vlx-field select:focus,.vlx-field textarea:focus{outline:none;border-color:var(--gold)}
.vlx-field.is-error input,.vlx-field.is-error select{border-color:#C8A45F;box-shadow:inset 0 0 0 1px #C8A45F}
.vlx-count-chars{justify-self:end;color:var(--mute);font-size:12px}
.vlx-fieldset{border:0;margin:30px 0 0;padding:0}
.vlx-fieldset legend{padding:0;margin-bottom:14px;font-family:"Cormorant Garamond",Garamond,Georgia,serif;font-size:22px;color:var(--ink)}
.vlx-form__hint{color:var(--mute);font-size:14px;margin:-4px 0 16px}
.vlx-form>.vlx-form__grid{margin-top:30px}
.vlx-form>.vlx-form__grid:first-child{margin-top:0}
.vlx-choices{display:flex;flex-wrap:wrap;gap:10px}
.vlx-choices label{position:relative;cursor:pointer}
.vlx-choices input{position:absolute;opacity:0;pointer-events:none}
.vlx-choices span{display:block;padding:11px 18px;border:1px solid var(--line);color:var(--mute);font-size:15px;transition:border-color .2s ease,color .2s ease}
.vlx-choices input:checked+span{border-color:var(--gold);color:var(--gold)}
.vlx-choices input:focus-visible+span{outline:1px solid var(--gold);outline-offset:3px}
.vlx-form__submit{display:flex;flex-wrap:wrap;align-items:center;gap:16px 24px;margin-top:34px}
.vlx-form__msg{margin:0;color:var(--mute);font-size:15px}
.vlx-form__msg.is-ok{color:var(--gold)}
.vlx-form [hidden]{display:none}

.vlx-faq{max-width:820px;margin:0 auto;border-top:1px solid var(--line)}
.vlx-faq details{border-bottom:1px solid var(--line)}
.vlx-faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px 0;font-family:"Cormorant Garamond",Garamond,Georgia,serif;font-size:clamp(20px,2vw,26px);color:var(--ink)}
.vlx-faq summary::-webkit-details-marker{display:none}
.vlx-faq summary::after{content:"+";font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:22px;font-weight:300;color:var(--gold);transition:transform .3s ease}
.vlx-faq details[open] summary::after{transform:rotate(45deg)}
.vlx-faq details p{margin:0 0 24px;color:var(--mute);font-size:16px;line-height:1.6;max-width:42em}

.vlx--page .vlx-pledge{margin-top:clamp(80px,10vw,130px)}
.vlx-pledge .vlx-head p:not(.vlx-kicker){color:#3B3B3B}

@media (max-width:960px){
  .vlx-trust ul{grid-template-columns:1fr 1fr}
  .vlx-steps,.vlx-details{grid-template-columns:1fr}
  .vlx-plans,.vlx-reviews,.vlx-info{grid-template-columns:1fr}
  .vlx-plans{max-width:520px;margin:0 auto}
  .vlx-included{grid-template-columns:1fr 1fr}
  .vlx-portals{grid-template-columns:1fr 1fr}
}
@media (max-width:560px){
  .vlx-phero::after{background:linear-gradient(to bottom,rgba(18,18,18,.72),rgba(18,18,18,.86))}
  .vlx-facts li{padding:0 12px}
  .vlx-gallery{grid-template-columns:1fr 1fr;grid-auto-rows:160px}
  .vlx-gallery__a{grid-column:1 / 3;grid-row:auto}
  .vlx-included,.vlx-form__grid,.vlx-form__grid--3{grid-template-columns:1fr}
  .vlx-portals{grid-template-columns:1fr}
  .vlx-trust li{text-align:left}
}
.vlx-head p.vlx-kicker{color:var(--gold);font-size:12px;line-height:1.7;margin:0 auto 14px}
.vlx--page .vlx-head{max-width:860px}
.vlx-field select{appearance:none;-webkit-appearance:none;padding-right:42px;
  background-image:linear-gradient(45deg,transparent 50%,#C8A45F 50%),linear-gradient(135deg,#C8A45F 50%,transparent 50%);
  background-position:calc(100% - 22px) 50%,calc(100% - 16px) 50%;background-size:6px 6px;background-repeat:no-repeat}

/* frantoio: modifiche */
.vlx-trust ul{grid-template-columns:repeat(3,1fr)}
.vlx-steps--single{grid-template-columns:1fr;max-width:760px;margin:0 auto}
.vlx-steps--single h3{text-align:center;margin-bottom:34px}
/* passi animati con lo scroll: i valori li imposta lo script */
.js .vlx-timeline[data-anim] li{opacity:var(--k,0);transform:translate3d(calc((1 - var(--k,0)) * -28px),0,0)}
.js .vlx-timeline[data-anim] li::after{transform-origin:50% 0;transform:scaleY(var(--k2,0));background:var(--gold)}
.vlx-timeline li{font-size:17px}
@media (max-width:960px){.vlx-trust ul{grid-template-columns:repeat(3,1fr)}}
@media (max-width:560px){.vlx-trust ul{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.js .vlx-timeline[data-anim] li{opacity:1;transform:none}.js .vlx-timeline[data-anim] li::after{transform:none}}

/* =========================================================
   PAGINA SOSTENIBILITÀ
   ========================================================= */
.vlx-phero h1 em{font-style:italic;font-weight:600}
.vlx-bignum{margin:6px 0 0;display:flex;align-items:center;gap:18px}
.vlx-bignum__n{font-family:"Cormorant Garamond",Garamond,Georgia,serif;font-weight:500;font-size:clamp(64px,7vw,104px);line-height:1;color:var(--gold);font-variant-numeric:tabular-nums lining-nums;min-width:2.2ch}
.vlx-bignum__l{font-size:15px;line-height:1.45;color:#F9F8F6;letter-spacing:.02em}

.vlx-figures ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.vlx-figures li{display:grid;justify-items:center;gap:8px;text-align:center;padding:40px 18px}
.vlx-figures li+li{border-left:1px solid var(--line)}
.vlx-figures__n{font-family:"Cormorant Garamond",Garamond,Georgia,serif;font-weight:500;font-size:clamp(46px,4.6vw,68px);line-height:1;color:var(--gold);font-variant-numeric:tabular-nums lining-nums}
.vlx-figures__l{font-size:14px;line-height:1.5;color:var(--mute);max-width:16em}

.vlx-split{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(40px,6vw,90px);align-items:center}
.vlx-split h2{font-size:clamp(36px,4.2vw,58px);line-height:1.08;margin:14px 0 24px}
.vlx-split__text p:not(.vlx-kicker){color:var(--mute);font-size:17px;line-height:1.7;margin-bottom:16px}
.vlx-split__img{margin:0;aspect-ratio:4/3;overflow:hidden}
.vlx-split__img img{width:100%;height:100%;object-fit:cover}
.vlx-timeline strong{color:var(--ink);font-weight:500}

.vlx-pledge .vlx-head p.vlx-carbon__n{margin:0 auto;max-width:none;font-family:"Cormorant Garamond",Garamond,Georgia,serif;font-weight:500;font-size:clamp(90px,12vw,170px);line-height:.9;color:#121212;font-variant-numeric:tabular-nums lining-nums}
.vlx-pledge.vlx-carbon h2{margin-top:6px}

@media (max-width:960px){
  .vlx-figures ul{grid-template-columns:1fr 1fr}
  .vlx-figures li:nth-child(3){border-left:0}
  .vlx-figures li:nth-child(n+3){border-top:1px solid var(--line)}
  .vlx-split{grid-template-columns:1fr}
}
@media (max-width:560px){
  .vlx-figures ul{grid-template-columns:1fr}
  .vlx-figures li+li{border-left:0;border-top:1px solid var(--line)}
}
.vlx-head .vlx-btn{margin-top:26px}
.vlx-phero--sost h1{max-width:min(760px,100%)}
.vlx-phero--sost .vlx-phero__inner>*{max-width:min(760px,100%)}

/* bag-in-box: la confezione è più larga della bottiglia, la spostiamo un po' a destra */
.vlx-bento--box .vlx-card--side img{left:84%}
@media (max-width:960px){.vlx-bento--box .vlx-card--side img{left:auto}}

/* =========================================================
   HOME: card che girano con lo scroll (sezione Biologico)
   ========================================================= */
.vlx-flip{position:relative;height:520vh}
.vlx-flip__stage{position:sticky;top:calc(var(--hdr) + env(safe-area-inset-top,0px));height:calc(100svh - var(--hdr) - env(safe-area-inset-top,0px));display:flex;align-items:center}
.vlx-flip__inner{width:100%;padding-top:30px;padding-bottom:20px}
.vlx-flip .vlx-head{margin-bottom:clamp(22px,3vh,40px)}
.vlx-flip .vlx-bento{height:clamp(360px,calc(100svh - var(--hdr) - 250px),680px)}
.vlx-flipcard{perspective:1800px;min-width:0}
.vlx-flipcard--big{grid-row:1 / 3}
.vlx-flipcard__in{position:relative;height:100%;transform-style:preserve-3d;transform:rotateY(var(--a,0deg));will-change:transform}
.vlx-flipcard .vlx-card{height:100%;-webkit-backface-visibility:hidden;backface-visibility:hidden}
.vlx-card__back{
  position:absolute;inset:0;display:grid;grid-template-rows:1fr auto;align-items:center;justify-items:center;
  padding:clamp(20px,3vw,40px);background:#121212;border:1px solid var(--line);
  transform:rotateY(180deg);-webkit-backface-visibility:hidden;backface-visibility:hidden;
}
.vlx-card__back img{width:100%;height:100%;max-height:100%;object-fit:contain;min-height:0}
.vlx-card__back p{margin:14px 0 0;display:grid;justify-items:center;gap:4px;text-align:center}
.vlx-card__back-t{font-family:"Cormorant Garamond",Garamond,Georgia,serif;font-size:clamp(20px,2vw,28px);color:var(--ink)}
.vlx-flipcard--big .vlx-card__back img{max-width:min(440px,90%)}

@media (max-width:960px){
  .vlx-flip{height:auto}
  .vlx-flip__stage{position:relative;top:auto;height:auto;display:block}
  .vlx-flip__inner{padding-top:clamp(80px,10vw,130px)}
  .vlx-flip .vlx-bento{height:auto}
  .vlx-flipcard--big{grid-column:1 / 3;grid-row:auto}
}
@media (max-width:560px){
  .vlx-flipcard--big{grid-column:auto}
}
@media (prefers-reduced-motion:reduce){
  .vlx-flip{height:auto}
  .vlx-flip__stage{position:relative;top:auto;height:auto}
  .vlx-flipcard__in{transform:none}
}
.vlx-flipcard--side .vlx-card__back{grid-template-columns:1.5fr 1fr;grid-template-rows:1fr;gap:18px;padding:14px 26px 14px 14px}
.vlx-flipcard--side .vlx-card__back p{margin:0}
@media (max-width:560px){
  .vlx-flipcard--side .vlx-card__back{grid-template-columns:1fr;grid-template-rows:1fr auto;padding:20px}
  .vlx-flipcard--side .vlx-card__back p{margin-top:12px}
}

.vlx-flipcard__in .vlx-card__back{visibility:hidden}
.vlx-flipcard__in.is-back .vlx-card__back{visibility:visible}
.vlx-flipcard__in.is-back>.vlx-card{visibility:hidden}

/* retro con foto a tutto riquadro */
.vlx-card__back{padding:0;border:0;display:block;overflow:hidden}
.vlx-card__back img{width:100%;height:100%;max-width:none!important;object-fit:cover}
.vlx-flipcard--side .vlx-card__back{display:block;padding:0}
.vlx-card__back--bio img{object-position:50% 55%}
.vlx-card__back--coratina img,.vlx-card__back--peranzana img{object-position:62% 60%}

/* card che girano: solo desktop. Su mobile e tablet le card restano ferme */
.vlx-flipslot{display:contents}
@media (max-width:960px){
  .vlx-flip .vlx-card__back{display:none}
  .vlx-flip .vlx-flipcard__in{transform:none!important}
}

/* =========================================================
   PAGINA CHI SIAMO
   ========================================================= */
.vlx-story{grid-template-columns:.8fr 1.2fr}
.vlx-story__num{display:grid;justify-items:center;align-content:center;gap:6px;padding:clamp(40px,5vw,70px) 20px;border:1px solid var(--line);text-align:center}
.vlx-story__n{margin:0;font-family:"Cormorant Garamond",Garamond,Georgia,serif;font-weight:500;font-size:clamp(110px,13vw,190px);line-height:.9;color:var(--gold);font-variant-numeric:lining-nums}
.vlx-story__l{margin:0;font-size:14px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink)}

.vlx-milestones{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line)}
.vlx-milestones li{position:relative;padding:34px 26px 10px 0}
.vlx-milestones li::before{content:"";position:absolute;top:-5px;left:0;width:9px;height:9px;border-radius:50%;background:var(--gold)}
.vlx-milestones__y{display:block;font-family:"Cormorant Garamond",Garamond,Georgia,serif;font-weight:500;font-size:clamp(40px,4vw,56px);line-height:1;color:var(--gold);font-variant-numeric:lining-nums;margin-bottom:14px}
.vlx-milestones h3{margin:0 0 8px;font-family:"Cormorant Garamond",Garamond,Georgia,serif;font-weight:400;font-size:24px;color:var(--ink)}
.vlx-milestones p{margin:0;color:var(--mute);font-size:15px;line-height:1.6}

.vlx-mv{text-align:left}
.vlx-mv__grid{max-width:1160px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,90px)}
.vlx-mv .vlx-kicker{color:#121212;margin-bottom:16px}
.vlx-mv h2{margin:0 0 20px;color:#121212;font-size:clamp(30px,3.2vw,44px);line-height:1.12}
.vlx-mv article>p:not(.vlx-kicker){margin:0;color:#3B3B3B;font-size:17px;line-height:1.7}
.vlx-mv article{padding-top:26px;border-top:1px solid #121212}

.vlx-passion{grid-template-columns:1fr 1fr}
.vlx-chips{list-style:none;margin:28px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.vlx-chips li{padding:12px 16px;border:1px solid var(--line);font-size:14px;color:var(--mute)}
.vlx-chips strong{display:block;font-family:"Cormorant Garamond",Garamond,Georgia,serif;font-weight:500;font-size:26px;line-height:1.1;color:var(--gold)}
.vlx-collage{position:relative;padding-bottom:22%}
.vlx-collage figure{margin:0;overflow:hidden}
.vlx-collage img{width:100%;height:100%;object-fit:cover;display:block}
.vlx-collage__a{width:82%;aspect-ratio:16/10}
.vlx-collage__b{position:absolute;right:0;bottom:0;width:66%;aspect-ratio:16/10;border:8px solid #121212}

.vlx-tech{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.vlx-tech .vlx-detail>p{margin-bottom:0}
.vlx-tech__more{margin-top:34px}

.vlx-team{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:clamp(24px,3vw,40px) 18px}
.vlx-person{flex:0 1 calc((100% - 3 * 18px) / 4);text-align:center}
.vlx-person figure{margin:0 0 16px;aspect-ratio:1;overflow:hidden;background:#3B3B3B}
.vlx-person img{width:100%;height:100%;object-fit:cover;filter:grayscale(1);transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.vlx-person:hover img{transform:scale(1.04)}
.vlx-person h3{margin:0 0 4px;font-family:"Cormorant Garamond",Garamond,Georgia,serif;font-weight:500;font-size:22px;color:var(--ink)}
.vlx-person p{margin:0;font-size:13px;letter-spacing:.06em;color:var(--mute)}

.vlx-letter blockquote{max-width:860px;margin:0 auto;text-align:center;padding-top:40px;border-top:1px solid var(--line)}
.vlx-letter blockquote>p{margin:0 0 30px;font-family:"Cormorant Garamond",Garamond,Georgia,serif;font-style:italic;font-size:clamp(24px,2.8vw,36px);line-height:1.35;color:var(--ink)}
.vlx-letter footer{display:grid;gap:4px}
.vlx-letter__sign{font-family:"Cormorant Garamond",Garamond,Georgia,serif;font-style:italic;font-weight:600;font-size:30px;color:var(--gold)}
.vlx-letter__role{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}

@media (max-width:960px){
  .vlx-story,.vlx-passion{grid-template-columns:1fr}
  .vlx-milestones{grid-template-columns:1fr 1fr;row-gap:20px}
  .vlx-mv__grid,.vlx-tech{grid-template-columns:1fr}
  .vlx-person{flex-basis:calc((100% - 2 * 18px) / 3)}
}
@media (max-width:560px){
  .vlx-milestones{grid-template-columns:1fr;border-top:0;border-left:1px solid var(--line);padding-left:22px}
  .vlx-milestones li{padding:0 0 26px}
  .vlx-milestones li::before{top:16px;left:-27px}
  .vlx-person{flex-basis:calc((100% - 18px) / 2)}
}
.vlx-split__text p.vlx-sign{display:grid;gap:2px;margin-top:26px}
.vlx-sign .vlx-letter__sign{font-size:28px}

/* =========================================================
   PAGINA CERTIFICAZIONI
   ========================================================= */
.vlx-phero--cert .vlx-phero__img{object-position:75% 40%}
.vlx-bio{grid-template-columns:1.1fr .9fr}
.vlx-bio__img{aspect-ratio:4/5}
.vlx-split__text p.vlx-bio__cert{display:grid;gap:2px;margin-top:26px;padding-left:18px;border-left:2px solid var(--gold);color:var(--mute)}
.vlx-bio__cert strong{font-family:"Cormorant Garamond",Garamond,Georgia,serif;font-weight:500;font-size:26px;color:var(--ink)}

.vlx-pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.vlx-pillars .vlx-detail>p{margin-bottom:0}
.vlx-pillars__n{display:block;font-family:"Cormorant Garamond",Garamond,Georgia,serif;font-size:30px;color:var(--gold);font-variant-numeric:oldstyle-nums;margin-bottom:12px}
.vlx-eulogo{max-width:760px;margin:clamp(40px,5vw,60px) auto 0;text-align:center}
.vlx-eulogo p:not(.vlx-kicker){color:var(--mute);font-size:16px;line-height:1.7;margin-top:10px}

.vlx-moca{grid-template-columns:.85fr 1.15fr}
.vlx-moca__img{aspect-ratio:4/5}
.vlx-moca .vlx-link{display:inline-flex;margin-top:10px}

.vlx-manifesto .vlx-head{max-width:900px}
.vlx-pledge .vlx-head p.vlx-manifesto__q{font-family:"Cormorant Garamond",Garamond,Georgia,serif;font-style:italic;font-size:clamp(24px,2.6vw,34px);line-height:1.35;color:#121212;max-width:none}
.vlx-pledge .vlx-head p.vlx-manifesto__s{display:grid;gap:2px;margin-top:22px;font-family:"Cormorant Garamond",Garamond,Georgia,serif;font-style:italic;font-weight:600;font-size:26px;color:#121212}
.vlx-manifesto__s span{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-style:normal;font-weight:400;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:#3B3B3B}

.vlx-live{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.vlx-live__item{display:grid;justify-items:center;text-align:center;gap:10px;padding:40px 20px}
.vlx-live__item+.vlx-live__item{border-left:1px solid var(--line)}
.vlx-live__ic{width:44px;height:44px;fill:none;stroke:var(--gold);stroke-width:1.1;stroke-linecap:round;stroke-linejoin:round}
.vlx-live__n{margin:0;display:flex;align-items:baseline;gap:8px;font-family:"Cormorant Garamond",Garamond,Georgia,serif;font-weight:500;font-size:clamp(40px,4.2vw,62px);line-height:1;color:var(--gold);font-variant-numeric:tabular-nums lining-nums}
.vlx-live__n small{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;letter-spacing:.06em;color:var(--mute)}
.vlx-live__l{margin:0;max-width:18em;color:var(--mute);font-size:14px;line-height:1.5}
.vlx-live__demo{display:none;text-align:center;margin:16px 0 0;font-size:12px;letter-spacing:.06em;color:var(--mute)}
.vlx-live[data-demo]+.vlx-live__demo{display:block}

.vlx-circle{position:relative;width:min(620px,100%);aspect-ratio:1;margin:0 auto}
.vlx-circle::before{content:"";position:absolute;inset:12%;border:1px dashed var(--line);border-radius:50%}
.vlx-circle__ring{list-style:none;margin:0;padding:0}
.vlx-circle__ring li{
  --a:calc(var(--i) * 60deg - 90deg);
  position:absolute;left:50%;top:50%;width:150px;margin:-46px 0 0 -75px;text-align:center;
  transform:rotate(var(--a)) translate(min(250px,38vw)) rotate(calc(-1 * var(--a)));
  display:grid;gap:4px;padding:14px 10px;background:#121212;border:1px solid var(--line);
}
.vlx-circle__ring strong{font-family:"Cormorant Garamond",Garamond,Georgia,serif;font-weight:500;font-size:22px;color:var(--ink)}
.vlx-circle__ring span{font-size:12px;line-height:1.4;color:var(--mute)}
.vlx-circle__ring li:nth-child(4),.vlx-circle__ring li:nth-child(5){border-color:var(--gold)}
.vlx-circle__core{position:absolute;inset:34%;display:grid;place-items:center;border-radius:50%;background:var(--gold);text-align:center}
.vlx-circle__core span{font-family:"Cormorant Garamond",Garamond,Georgia,serif;font-style:italic;font-weight:600;font-size:clamp(18px,2vw,26px);line-height:1.2;color:#121212}
.vlx-circle__text{margin-top:clamp(40px,5vw,60px)}

.vlx-carbon-box{border-color:var(--gold)}

.vlx-honors{display:grid;gap:18px}
.vlx-honor{display:grid;grid-template-columns:200px 1fr 260px;gap:clamp(20px,3vw,40px);align-items:center;padding:28px;border:1px solid var(--line)}
.vlx-honor__badges{display:grid;place-items:center}
.vlx-honor__badges img{width:150px;height:150px;object-fit:contain;opacity:.92}
.vlx-honor__badges--many{grid-template-columns:1fr 1fr;gap:8px}
.vlx-honor__badges--many img{width:86px;height:86px}
.vlx-honor__text h3{margin:6px 0 10px;font-family:"Cormorant Garamond",Garamond,Georgia,serif;font-weight:400;font-size:clamp(24px,2.4vw,32px);color:var(--ink)}
.vlx-honor__text p:not(.vlx-kicker){margin:0;color:var(--mute);font-size:15px;line-height:1.65}
.vlx-honor__cert{display:block;padding:0;border:1px solid var(--line);background:#F9F8F6;cursor:zoom-in;overflow:hidden;transition:border-color .3s ease}
.vlx-honor__cert:hover{border-color:var(--gold)}
.vlx-honor__cert img{display:block;width:100%;height:170px;object-fit:contain;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.vlx-honor__cert:hover img{transform:scale(1.04)}
.vlx-honor__cert--empty{border:0;background:none;cursor:default}

.vlx-lightbox{padding:0;border:0;background:transparent;max-width:min(1100px,94vw);max-height:92vh}
.vlx-lightbox::backdrop{background:rgba(18,18,18,.9)}
.vlx-lightbox img{display:block;max-width:100%;max-height:88vh;margin:0 auto;background:#F9F8F6}
.vlx-lightbox__close{position:absolute;top:8px;right:8px;width:40px;height:40px;border:1px solid #121212;border-radius:50%;background:#F9F8F6;color:#121212;font-size:24px;line-height:1;cursor:pointer}

@media (max-width:960px){
  .vlx-bio,.vlx-moca{grid-template-columns:1fr}
  .vlx-pillars{grid-template-columns:1fr 1fr}
  .vlx-live{grid-template-columns:1fr}
  .vlx-live__item+.vlx-live__item{border-left:0;border-top:1px solid var(--line)}
  .vlx-honor{grid-template-columns:140px 1fr}
  .vlx-honor__cert{grid-column:1 / -1}
  .vlx-honor__cert--empty{display:none}
  .vlx-honor__badges img{width:120px;height:120px}
  .vlx-honor__badges--many img{width:64px;height:64px}
}
@media (max-width:560px){
  .vlx-pillars{grid-template-columns:1fr}
  .vlx-honor{grid-template-columns:1fr;text-align:center;padding:22px}
  .vlx-circle{aspect-ratio:auto}
  .vlx-circle::before{display:none}
  .vlx-circle__ring{display:grid;grid-template-columns:1fr 1fr;gap:10px}
  .vlx-circle__ring li{position:static;width:auto;margin:0;transform:none}
  .vlx-circle__core{position:static;inset:auto;margin:14px auto 0;width:180px;height:180px}
}

/* =========================================================
   PAGINA B2B
   ========================================================= */
.vlx-why .vlx-detail>p{margin-bottom:0}
.vlx-formats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.vlx-format{border:1px solid var(--line);padding:0 0 26px;text-align:center}
.vlx-format figure{margin:0 0 20px;aspect-ratio:4/5;overflow:hidden;background:#121212}
.vlx-format img{width:100%;height:100%;object-fit:cover;object-position:50% 55%;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.vlx-format:hover img{transform:scale(1.04)}
.vlx-format h3{margin:6px 0 6px;font-family:"Cormorant Garamond",Garamond,Georgia,serif;font-weight:400;font-size:26px;color:var(--ink)}
.vlx-format>p:not(.vlx-kicker){margin:0;color:var(--mute);font-size:14px;letter-spacing:.04em}
.vlx-dash--lg{gap:16px;margin-top:8px}
.vlx-dash--lg li{font-size:16px;line-height:1.65}
.vlx-dash--lg strong{color:var(--ink);font-weight:500}
.vlx-b2bawards__row{list-style:none;margin:clamp(30px,4vw,50px) auto;padding:0;max-width:1000px;display:grid;grid-template-columns:repeat(6,1fr);gap:18px}
.vlx-b2bawards__row li{display:grid;place-items:center;aspect-ratio:1;padding:12px;background:#121212}
.vlx-b2bawards__row img{width:100%;height:100%;object-fit:contain}
.vlx-b2bawards .vlx-btn--dark{margin-top:0}
.vlx-phero__cta .vlx-link{font-size:15px}
@media (max-width:960px){
  .vlx-formats{grid-template-columns:1fr 1fr}
  .vlx-b2bawards__row{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:560px){
  .vlx-formats{grid-template-columns:1fr}
  .vlx-b2bawards__row{grid-template-columns:repeat(2,1fr)}
}
.vlx-phero__sub+.vlx-phero__cta{margin-top:34px}

.vlx-fmts{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.vlx-fmt .vlx-fmt__ic{display:block;margin-bottom:18px}
.vlx-fmt>p{margin-bottom:0}
.vlx-oils{margin:clamp(30px,4vw,46px) auto 0;max-width:900px;text-align:center}
.vlx-oils ul{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:12px}
.vlx-oils li{display:grid;gap:2px;padding:14px 24px;border:1px solid var(--line);font-size:13px;color:var(--mute)}
.vlx-oils strong{font-family:"Cormorant Garamond",Garamond,Georgia,serif;font-weight:500;font-size:22px;color:var(--ink)}
@media (max-width:960px){.vlx-fmts{grid-template-columns:1fr}}

/* =========================================================
   PAGINA RICORRENZE
   ========================================================= */
.vlx-scrub--gift{height:320vh}
.vlx-gift{grid-template-columns:1.15fr .85fr}
.vlx-gift__img{aspect-ratio:16/10}
.vlx-flavors{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:16px}
.vlx-flavors li{position:relative;display:grid;gap:2px;padding-left:26px;color:var(--mute);font-size:15px;line-height:1.55}
.vlx-flavors strong{font-family:"Cormorant Garamond",Garamond,Georgia,serif;font-weight:500;font-size:22px;color:var(--ink)}
.vlx-flavors__dot{position:absolute;left:0;top:10px;width:10px;height:10px;border-radius:50%;background:var(--gold)}
.vlx-flavors__dot--green{background:#F9F8F6;box-shadow:inset 0 0 0 2px var(--gold)}
.vlx-flavors__dot--red{background:transparent;border:1px solid var(--gold)}
.vlx-banner--gift{min-height:clamp(520px,52vw,720px)}
.vlx-banner--gift::after{background:
  linear-gradient(90deg,rgba(18,18,18,.94) 0%,rgba(18,18,18,.75) 40%,rgba(18,18,18,.2) 80%),
  linear-gradient(to bottom,rgba(18,18,18,.5),rgba(18,18,18,0) 25%,rgba(18,18,18,0) 75%,rgba(18,18,18,.7))}
.vlx-banner--gift .vlx-banner__copy{max-width:520px}
.vlx-banner--gift .vlx-banner__copy>p:not(.vlx-kicker){color:#F9F8F6;margin-bottom:30px}
@media (max-width:960px){
  .vlx-scrub--gift{height:280vh}
  .vlx-gift{grid-template-columns:1fr}
}
@media (max-width:560px){
  .vlx-banner--gift::after{background:linear-gradient(to bottom,rgba(18,18,18,.75),rgba(18,18,18,.85))}
}

.vlx-gift--rev{grid-template-columns:.85fr 1.15fr}
.vlx-gift__img img{width:100%;height:100%;object-fit:cover}
@media (max-width:960px){.vlx-gift--rev{grid-template-columns:1fr}.vlx-gift--rev .vlx-split__img{order:-1}}
.vlx-banner--gift .vlx-banner__img{object-position:65% 50%}

/* galleria frantoio, 7 foto */
.vlx-gallery--7{grid-template-columns:repeat(4,1fr);grid-auto-rows:clamp(150px,15vw,230px)}
.vlx-gallery--7 .g1{grid-column:span 2;grid-row:span 2}
.vlx-gallery--7 .g2,.vlx-gallery--7 .g3{grid-row:span 2}
.vlx-gallery--7 .g4,.vlx-gallery--7 .g5,.vlx-gallery--7 .g6,.vlx-gallery--7 .g7{grid-column:span 2}
@media (max-width:560px){
  .vlx-gallery--7{grid-template-columns:1fr 1fr;grid-auto-rows:150px}
  .vlx-gallery--7 .g1,.vlx-gallery--7 .g4,.vlx-gallery--7 .g5,.vlx-gallery--7 .g6,.vlx-gallery--7 .g7{grid-column:span 2;grid-row:span 1}
}
.vlx-gallery--8 .g8{grid-column:span 2;grid-row:span 2}
@media (max-width:560px){.vlx-gallery--8 .g8{grid-column:span 2;grid-row:span 1}}

/* effetto Ken Burns sulla foto di apertura */
.vlx-phero--ken{overflow:hidden}
.vlx-phero--ken .vlx-phero__img{transform-origin:70% 45%;animation:vlxKen 24s ease-in-out infinite alternate;will-change:transform}
@keyframes vlxKen{
  from{transform:scale(1.02) translate3d(0,0,0)}
  to{transform:scale(1.16) translate3d(-2.5%,-1.5%,0)}
}
@media (prefers-reduced-motion:reduce){.vlx-phero--ken .vlx-phero__img{animation:none}}

/* galleria Experience, 13 foto */
.vlx-gallery--exp{grid-template-columns:repeat(4,1fr);grid-auto-rows:clamp(150px,15vw,230px);grid-auto-flow:dense}
.vlx-gallery--exp .xA,.vlx-gallery--exp .xF{grid-column:span 2;grid-row:span 2}
.vlx-gallery--exp .xB,.vlx-gallery--exp .xC,.vlx-gallery--exp .xG{grid-row:span 2}
.vlx-gallery--exp .xD,.vlx-gallery--exp .xE,.vlx-gallery--exp .xJ,.vlx-gallery--exp .xK,.vlx-gallery--exp .xL,.vlx-gallery--exp .xM{grid-column:span 2}
.vlx-gallery--exp .xB img{object-position:60% 40%}
@media (max-width:560px){
  .vlx-gallery--exp{grid-template-columns:1fr 1fr;grid-auto-rows:150px}
  .vlx-gallery--exp .xA,.vlx-gallery--exp .xF,.vlx-gallery--exp .xD,.vlx-gallery--exp .xE,.vlx-gallery--exp .xJ,.vlx-gallery--exp .xK,.vlx-gallery--exp .xL,.vlx-gallery--exp .xM{grid-column:span 2;grid-row:span 1}
}

/* ---------- tre colonne animate (Experience: Dall'ulivo alla tavola) ---------- */
.vlx-values--live .vlx-value{
  opacity:0;transform:translateY(34px);
  transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform 1.1s cubic-bezier(.2,.7,.2,1);
  transition-delay:calc(var(--i,0) * .22s);
}
.vlx-values--live .vlx-value__num--icon{
  clip-path:circle(0% at 50% 60%);
  transition:clip-path 1.4s cubic-bezier(.65,0,.35,1);
  transition-delay:calc(var(--i,0) * .22s + .25s);
}
.vlx-values--live .vlx-value__num--icon>*{animation:vlxFloat 4.8s ease-in-out infinite;animation-delay:calc(var(--i,0) * -1.6s)}
.vlx-values--live .vlx-value:nth-child(3) .vlx-value__num--icon>*{transform-origin:50% 92%;animation:vlxSway 6s ease-in-out infinite}
.vlx-values--live .vlx-value__title{position:relative;padding-bottom:16px}
.vlx-values--live .vlx-value__title::after{
  content:"";position:absolute;left:50%;bottom:0;width:44px;height:1px;background:var(--gold);
  transform:translateX(-50%) scaleX(0);transition:transform 1s cubic-bezier(.2,.7,.2,1);
  transition-delay:calc(var(--i,0) * .22s + .7s);
}
.vlx-values--live.is-live .vlx-value{opacity:1;transform:none}
.vlx-values--live.is-live .vlx-value__num--icon{clip-path:circle(140% at 50% 60%)}
.vlx-values--live.is-live .vlx-value__title::after{transform:translateX(-50%) scaleX(1)}
.vlx-values--live .vlx-value__num--icon svg,.vlx-values--live .vlx-value__num--icon img{transition:filter .5s ease,scale .5s ease}
@media (hover:hover){
  .vlx-values--live .vlx-value:hover .vlx-value__num--icon svg,
  .vlx-values--live .vlx-value:hover .vlx-value__num--icon img{scale:1.1;filter:drop-shadow(0 0 14px rgba(200,164,95,.45))}
  .vlx-values--live .vlx-value:hover .vlx-value__title::after{width:80px;transition-delay:0s}
}
@keyframes vlxFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@keyframes vlxSway{0%,100%{transform:rotate(-2.2deg)}50%{transform:rotate(2.2deg)}}
@media (prefers-reduced-motion:reduce){
  .vlx-values--live .vlx-value,.vlx-values--live .vlx-value__num--icon{opacity:1;transform:none;clip-path:none;transition:none}
  .vlx-values--live .vlx-value__num--icon>*{animation:none}
  .vlx-values--live .vlx-value__title::after{transform:translateX(-50%) scaleX(1)}
}

.vlx-plan__tiers{margin:4px 0 24px;display:grid;gap:0;border-top:1px solid var(--line)}
.vlx-plan__tiers div{display:flex;justify-content:space-between;align-items:baseline;padding:10px 0;border-bottom:1px solid var(--line)}
.vlx-plan__tiers dt{font-size:14px;color:var(--mute)}
.vlx-plan__tiers dd{margin:0;font-family:"Cormorant Garamond",Garamond,Georgia,serif;font-size:24px;color:var(--gold)}

/* ---------- "Cosa comprende ogni visita" animata ---------- */
.vlx-included--live li{
  border-bottom-color:transparent;
  opacity:0;transform:translateY(22px);
  transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1),padding-left .4s ease,color .4s ease;
  transition-delay:calc(var(--i,0) * .14s);
}
.vlx-included--live li::after{
  content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;
  background:linear-gradient(90deg,var(--gold),var(--line) 60%);
  transform:scaleX(0);transform-origin:0 50%;
  transition:transform 1.1s cubic-bezier(.65,0,.35,1);
  transition-delay:calc(var(--i,0) * .14s + .3s);
}
.vlx-included--live li::before{
  opacity:0;transform:rotate(-45deg) scale(.2);
  transition:opacity .3s ease,transform .6s cubic-bezier(.34,1.8,.5,1);
  transition-delay:calc(var(--i,0) * .14s + .45s);
}
.vlx-included--live.is-live li{opacity:1;transform:none}
.vlx-included--live.is-live li::after{transform:scaleX(1)}
.vlx-included--live.is-live li::before{opacity:1;transform:rotate(-45deg) scale(1)}
@media (hover:hover){
  .vlx-included--live.is-live li:hover{padding-left:38px;color:#F9F8F6;transition-delay:0s}
  .vlx-included--live.is-live li:hover::before{transform:rotate(-45deg) scale(1.25);transition-delay:0s}
}
.vlx-tip--live{opacity:0;transform:translateY(16px);transition:opacity 1s ease 1.1s,transform 1s cubic-bezier(.2,.7,.2,1) 1.1s}
.vlx-tip--live.is-live{opacity:1;transform:none}
.vlx-tip--live strong{
  background:linear-gradient(100deg,var(--gold) 0%,var(--gold) 40%,#F3DDA6 50%,var(--gold) 60%,var(--gold) 100%);
  background-size:250% 100%;background-position:100% 0;
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.vlx-tip--live.is-live strong{animation:vlxShine 4.5s ease-in-out 2s infinite}
@keyframes vlxShine{0%{background-position:100% 0}45%,100%{background-position:0 0}}
@media (prefers-reduced-motion:reduce){
  .vlx-included--live li,.vlx-tip--live{opacity:1;transform:none;transition:none}
  .vlx-included--live li::after{transform:none;transition:none}
  .vlx-included--live li::before{opacity:1;transform:rotate(-45deg);transition:none}
  .vlx-tip--live strong{animation:none}
}

.vlx-cta-row{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin-top:34px}
.vlx-cta-row .vlx-btn{margin-top:0}
.vlx-btn--wa{display:inline-flex;align-items:center;gap:12px}
.vlx-btn--wa svg{width:20px;height:20px;fill:currentColor;flex:none}

/* ---------- economia circolare: il cerchio si apre e ruota con lo scroll ---------- */
@media (min-width:561px){
  .vlx-circle{--open:1;--spin:0deg}
  .vlx-circle__ring li{
    --ang:calc(var(--a) + var(--spin));
    transform:rotate(var(--ang)) translate(calc(min(250px,38vw) * var(--open))) rotate(calc(-1 * var(--ang))) scale(calc(.55 + .45 * var(--open)));
    opacity:clamp(0, calc(var(--open) * 1.6 - .2), 1);
    will-change:transform,opacity;
  }
  .vlx-circle::before{
    transform:rotate(calc(var(--spin) * -.5)) scale(calc(.3 + .7 * var(--open)));
    opacity:var(--open);
  }
  .vlx-circle__core{
    transform:scale(calc(.72 + .28 * var(--open)));
    box-shadow:0 0 calc(70px * var(--open)) calc(4px * var(--open)) rgba(200,164,95,calc(.28 * var(--open)));
  }
  .vlx-circle__core span{opacity:clamp(0, calc(var(--open) * 2 - .6), 1)}
}

/* ---------- typewriter guidato dallo scroll (Sostenibilità: Extravergine 100% Biologico) ---------- */
.vlx-twscroll .vlx-twp__w{opacity:.12;transition:opacity .5s ease,color .5s ease}
.vlx-twscroll .vlx-twp__w.is-on{opacity:1}
.vlx-twscroll .vlx-btn{opacity:0;transform:translateY(14px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1),background .3s,color .3s}
.vlx-twscroll.is-done .vlx-btn{opacity:1;transform:none}
.vlx-twscroll .vlx-kicker{opacity:.15;letter-spacing:.5em;transition:opacity 1s ease,letter-spacing 1.2s cubic-bezier(.2,.7,.2,1)}
.vlx-twscroll.is-start .vlx-kicker{opacity:1;letter-spacing:.24em}
@media (prefers-reduced-motion:reduce){
  .vlx-twscroll .vlx-twp__w,.vlx-twscroll .vlx-btn,.vlx-twscroll .vlx-kicker{opacity:1;transform:none;transition:none}
}

/* ---------- "La cura continua": icone animate e fondo oro al passaggio del mouse ---------- */
.vlx-values--care .vlx-value{padding:clamp(28px,3vw,44px) clamp(18px,2vw,28px);border:1px solid transparent;
  transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform 1.1s cubic-bezier(.2,.7,.2,1),background .5s ease,border-color .5s ease,box-shadow .5s ease}
.vlx-values--care .vlx-value__num--icon svg{color:var(--gold);overflow:visible}
.vlx-values--care .vlx-value__title,.vlx-values--care .vlx-value p{transition:color .5s ease}
/* sole: il disco pulsa, i raggi brillano in sequenza */
.vlx-values--care .vlx-value:nth-child(1) svg circle{transform-box:fill-box;transform-origin:50% 50%;animation:vlxSun 3.2s ease-in-out infinite}
.vlx-values--care .vlx-value:nth-child(1) svg path:nth-of-type(-n+8){animation:vlxRay 2.4s ease-in-out infinite}
.vlx-values--care .vlx-value:nth-child(1) svg path:nth-of-type(2){animation-delay:.3s}
.vlx-values--care .vlx-value:nth-child(1) svg path:nth-of-type(3){animation-delay:.6s}
.vlx-values--care .vlx-value:nth-child(1) svg path:nth-of-type(4){animation-delay:.9s}
.vlx-values--care .vlx-value:nth-child(1) svg path:nth-of-type(5){animation-delay:1.2s}
.vlx-values--care .vlx-value:nth-child(1) svg path:nth-of-type(6){animation-delay:1.5s}
.vlx-values--care .vlx-value:nth-child(1) svg path:nth-of-type(7){animation-delay:1.8s}
.vlx-values--care .vlx-value:nth-child(1) svg path:nth-of-type(8){animation-delay:2.1s}
/* ulivi: la foglia respira, la freccia scende nel suolo, la CO2 sale e svanisce */
.vlx-values--care .vlx-value:nth-child(2) svg path:nth-of-type(-n+3){transform-box:fill-box;transform-origin:50% 100%;animation:vlxLeaf 4s ease-in-out infinite}
.vlx-values--care .vlx-value:nth-child(2) svg path:nth-of-type(4),
.vlx-values--care .vlx-value:nth-child(2) svg path:nth-of-type(5){animation:vlxDown 2.2s ease-in-out infinite}
.vlx-values--care .vlx-value:nth-child(2) svg text{animation:vlxCo2 3.6s ease-in-out infinite}
/* ciclo: le frecce girano attorno all'oliva */
.vlx-values--care .vlx-value:nth-child(3) svg path:nth-of-type(-n+4){transform-box:view-box;transform-origin:16px 16px;animation:vlxCycle 9s linear infinite}
@keyframes vlxSun{0%,100%{transform:scale(1)}50%{transform:scale(1.18)}}
@keyframes vlxRay{0%,100%{opacity:1}50%{opacity:.2}}
@keyframes vlxLeaf{0%,100%{transform:rotate(-4deg)}50%{transform:rotate(4deg)}}
@keyframes vlxDown{0%{transform:translateY(-1.5px);opacity:.4}50%{transform:translateY(1.2px);opacity:1}100%{transform:translateY(-1.5px);opacity:.4}}
@keyframes vlxCo2{0%{transform:translateY(1.5px);opacity:0}30%,70%{opacity:1}100%{transform:translateY(-2.5px);opacity:0}}
@keyframes vlxCycle{to{transform:rotate(360deg)}}
@keyframes vlxBob{0%,100%{transform:scale(1)}50%{transform:scale(1.1)}}
@media (hover:hover){
  .vlx-values--care.is-live .vlx-value:hover{background:var(--gold);border-color:var(--gold);transform:translateY(-6px);box-shadow:0 22px 50px -24px rgba(200,164,95,.55);transition-delay:0s}
  .vlx-values--care .vlx-value:hover .vlx-value__num--icon svg{stroke:#121212;color:#121212;filter:none;scale:1.12}
  .vlx-values--care .vlx-value:hover .vlx-value__title{color:#121212}
  .vlx-values--care .vlx-value:hover p{color:#2a2a2a}
  .vlx-values--care .vlx-value:hover .vlx-value__title::after{background:#121212}
  .vlx-values--care .vlx-value:hover svg *{animation-duration:1.1s}
  .vlx-values--care .vlx-value:nth-child(3):hover svg path:nth-of-type(-n+4){animation-duration:2.2s}
}
@media (prefers-reduced-motion:reduce){.vlx-values--care svg *{animation:none!important}}
.vlx-phero--sost .vlx-phero__img{object-position:65% 60%}
.vlx-phero--exp .vlx-phero__img{object-position:50% 42%}

/* ---------- home "Benvenuti a casa Vallarella": icone vive e fondo oro al passaggio del mouse ---------- */
.vlx-values--gold .vlx-value{padding:clamp(28px,3vw,44px) clamp(18px,2vw,28px);border:1px solid transparent;
  transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform 1.1s cubic-bezier(.2,.7,.2,1),background .5s ease,border-color .5s ease,box-shadow .5s ease}
.vlx-values--gold .vlx-value__title,.vlx-values--gold .vlx-value p{transition:color .5s ease}
.vlx-values--gold .vlx-value__num--icon svg{overflow:visible}
/* oliva: dondola appesa al picciolo */
.vlx-values--gold .vlx-value:nth-child(1) .vlx-value__num--icon>svg{animation:none}
.vlx-values--gold .vlx-value:nth-child(1) svg{transform-origin:72% 18%;animation:vlxSwing 3.6s ease-in-out infinite}
/* bicchierino: l'olio ondeggia nel calice */
.vlx-values--gold .vlx-value:nth-child(2) svg path:nth-of-type(2){transform-box:fill-box;transform-origin:50% 50%;animation:vlxSlosh 2.8s ease-in-out infinite}
.vlx-values--gold .vlx-value:nth-child(2) .vlx-value__num--icon>svg{animation:vlxTilt 5.6s ease-in-out infinite}
@keyframes vlxSwing{0%,100%{transform:rotate(-7deg)}50%{transform:rotate(7deg)}}
@keyframes vlxSlosh{0%,100%{transform:rotate(-5deg) translateY(0)}50%{transform:rotate(5deg) translateY(-.4px)}}
@keyframes vlxTilt{0%,100%{transform:rotate(-3deg) translateY(0)}50%{transform:rotate(3deg) translateY(-4px)}}
@media (hover:hover){
  .vlx-values--gold.is-live .vlx-value:hover{background:var(--gold);border-color:var(--gold);transform:translateY(-6px);box-shadow:0 22px 50px -24px rgba(200,164,95,.55);transition-delay:0s}
  .vlx-values--gold .vlx-value:hover .vlx-value__num--icon svg{stroke:#121212;scale:1.12;filter:none}
  .vlx-values--gold .vlx-value:hover .vlx-value__num--icon img{filter:brightness(0) saturate(100%);opacity:.88;scale:1.12}
  .vlx-values--gold .vlx-value:hover .vlx-value__title{color:#121212}
  .vlx-values--gold .vlx-value:hover p{color:#2a2a2a}
  .vlx-values--gold .vlx-value:hover .vlx-value__title::after{background:#121212}
  .vlx-values--gold .vlx-value:hover svg,.vlx-values--gold .vlx-value:hover svg *,.vlx-values--gold .vlx-value:hover .vlx-value__num--icon>*{animation-duration:1.3s}
}
@media (prefers-reduced-motion:reduce){.vlx-values--gold svg,.vlx-values--gold svg *{animation:none!important}}

/* ---------- parole in sequenza: [data-words] ---------- */
.vlx-word{display:inline-block;opacity:0;transform:translateY(.45em);filter:blur(6px);
  transition:opacity .7s ease,transform .9s cubic-bezier(.2,.7,.2,1),filter .8s ease;
  transition-delay:calc(var(--d0,0s) + var(--w,0) * var(--ws,.12s))}
[data-words].is-live .vlx-word{opacity:1;transform:none;filter:none}
@media (prefers-reduced-motion:reduce){.vlx-word{opacity:1;transform:none;filter:none;transition:none}}

li[data-words]::before{opacity:0;transform:scaleX(0);transform-origin:0 50%;transition:opacity .5s ease,transform .6s cubic-bezier(.2,.7,.2,1);transition-delay:var(--d0,0s)}
li[data-words].is-live::before{opacity:1;transform:none}
.vlx-fadein{opacity:0;transform:translateY(10px);transition:opacity .7s ease var(--fd,0s),transform .8s cubic-bezier(.2,.7,.2,1) var(--fd,0s)}
.vlx-info.is-live .vlx-fadein,.is-live>.vlx-fadein{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){li[data-words]::before,.vlx-fadein{opacity:1;transform:none;transition:none}}

/* ---------- recensioni: ingresso a cascata e fondo oro al passaggio del mouse ---------- */
.vlx-reviews--live .vlx-review{position:relative;overflow:hidden;
  opacity:0;transform:translateY(30px);
  transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform 1s cubic-bezier(.2,.7,.2,1),background .5s ease,border-color .5s ease,box-shadow .5s ease;
  transition-delay:calc(var(--i,0) * .18s)}
.vlx-reviews--live.is-live .vlx-review{opacity:1;transform:none}
.vlx-reviews--live .vlx-review::before{content:"\201C";position:absolute;right:18px;top:-18px;font-family:"Cormorant Garamond",Garamond,Georgia,serif;font-size:150px;line-height:1;color:var(--gold);opacity:0;transform:translateY(-10px);transition:opacity .8s ease,transform .8s ease,color .5s ease;transition-delay:calc(var(--i,0) * .18s + .5s);pointer-events:none}
.vlx-reviews--live.is-live .vlx-review::before{opacity:.12;transform:none}
.vlx-reviews--live .vlx-stars span{display:inline-block;opacity:0;transform:scale(.3) rotate(-40deg);transition:opacity .3s ease,transform .5s cubic-bezier(.34,1.8,.5,1),color .5s ease;transition-delay:calc(var(--i,0) * .18s + .45s + var(--s) * .09s)}
.vlx-reviews--live.is-live .vlx-stars span{opacity:1;transform:none}
.vlx-reviews--live blockquote,.vlx-reviews--live figcaption{transition:color .5s ease}
@media (hover:hover){
  .vlx-reviews--live.is-live .vlx-review:hover{background:var(--gold);border-color:var(--gold);transform:translateY(-6px);box-shadow:0 24px 50px -24px rgba(200,164,95,.55);transition-delay:0s}
  .vlx-reviews--live .vlx-review:hover blockquote{color:#121212}
  .vlx-reviews--live .vlx-review:hover figcaption{color:#3B3B3B}
  .vlx-reviews--live .vlx-review:hover .vlx-stars span{color:#121212;transition-delay:calc(var(--s) * .05s);animation:vlxStarPop .5s cubic-bezier(.34,1.8,.5,1) calc(var(--s) * .06s)}
  .vlx-reviews--live .vlx-review:hover::before{color:#121212;opacity:.14;transition-delay:0s}
}
@keyframes vlxStarPop{0%{transform:scale(1)}50%{transform:scale(1.4)}100%{transform:scale(1)}}
@media (prefers-reduced-motion:reduce){
  .vlx-reviews--live .vlx-review,.vlx-reviews--live .vlx-stars span{opacity:1;transform:none;transition:none}
  .vlx-reviews--live .vlx-review::before{opacity:.12;transform:none;transition:none}
}
.vlx-phero--sost.vlx-phero--ken .vlx-phero__img{transform-origin:62% 72%;animation-name:vlxKenSost}
@keyframes vlxKenSost{from{transform:scale(1.02) translate3d(0,0,0)}to{transform:scale(1.17) translate3d(-2%,-2.5%,0)}}
@media (prefers-reduced-motion:reduce){.vlx-phero--sost.vlx-phero--ken .vlx-phero__img{animation:none}}

/* ---------- schede con fondo oro al passaggio del mouse (sansa, nocciolino) ---------- */
.vlx-cards--gold>.vlx-detail{position:relative;overflow:hidden;
  opacity:0;transform:translateY(28px);
  transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform 1s cubic-bezier(.2,.7,.2,1),background .5s ease,border-color .5s ease,box-shadow .5s ease;
  transition-delay:calc(var(--i,0) * .2s)}
.vlx-cards--gold.is-live>.vlx-detail{opacity:1;transform:none}
.vlx-cards--gold>.vlx-detail::after{content:"";position:absolute;left:0;top:0;height:1px;width:100%;background:var(--gold);transform:scaleX(0);transform-origin:0 50%;transition:transform 1.2s cubic-bezier(.65,0,.35,1);transition-delay:calc(var(--i,0) * .2s + .4s)}
.vlx-cards--gold.is-live>.vlx-detail::after{transform:scaleX(1)}
.vlx-cards--gold h3,.vlx-cards--gold p{transition:color .5s ease}
@media (hover:hover){
  .vlx-cards--gold.is-live>.vlx-detail:hover{background:var(--gold);border-color:var(--gold);transform:translateY(-6px);box-shadow:0 24px 50px -24px rgba(200,164,95,.55);transition-delay:0s}
  .vlx-cards--gold>.vlx-detail:hover h3{color:#121212}
  .vlx-cards--gold>.vlx-detail:hover p{color:#2a2a2a}
  .vlx-cards--gold>.vlx-detail:hover::after{background:#121212}
}
@media (prefers-reduced-motion:reduce){.vlx-cards--gold>.vlx-detail{opacity:1;transform:none;transition:none}.vlx-cards--gold>.vlx-detail::after{transform:none;transition:none}}
.vlx-phero--chi.vlx-phero--ken .vlx-phero__img{transform-origin:68% 52%;animation:vlxKenChi 18s ease-in-out infinite alternate}
@keyframes vlxKenChi{from{transform:scale(1) translate3d(0,0,0)}to{transform:scale(1.22) translate3d(-3%,-2%,0)}}
@media (prefers-reduced-motion:reduce){.vlx-phero--chi.vlx-phero--ken .vlx-phero__img{animation:none}}

/* banner finale con lo shop (Chi siamo) */
.vlx-banner--shop{min-height:clamp(520px,50vw,720px)}
.vlx-banner--shop .vlx-banner__img{object-position:62% 50%}
.vlx-banner--shop::after{background:
  linear-gradient(90deg,rgba(18,18,18,.92) 0%,rgba(18,18,18,.72) 32%,rgba(18,18,18,.08) 58%,rgba(18,18,18,0) 100%),
  linear-gradient(to bottom,rgba(18,18,18,.45),rgba(18,18,18,0) 22%,rgba(18,18,18,0) 78%,rgba(18,18,18,.6))}
.vlx-banner--shop .vlx-banner__copy{max-width:440px}
.vlx-banner--shop .vlx-banner__copy>p:not(.vlx-kicker){color:#F9F8F6;margin-bottom:30px}
@media (max-width:560px){
  .vlx-banner--shop .vlx-banner__img{object-position:55% 50%}
  .vlx-banner--shop::after{background:linear-gradient(to bottom,rgba(18,18,18,.35),rgba(18,18,18,.85) 70%)}
}
.vlx-gallery--9 .g7{grid-column:span 1}
.vlx-gallery--9 .g9{grid-column:span 1}
@media (max-width:560px){.vlx-gallery--9 .g7,.vlx-gallery--9 .g9{grid-column:span 1;grid-row:span 1}}
.vlx-phero--cert.vlx-phero--ken .vlx-phero__img{transform-origin:78% 40%;animation:vlxKenCert 18s ease-in-out infinite alternate}
@keyframes vlxKenCert{from{transform:scale(1) translate3d(0,0,0)}to{transform:scale(1.2) translate3d(-2.5%,1.5%,0)}}
@media (prefers-reduced-motion:reduce){.vlx-phero--cert.vlx-phero--ken .vlx-phero__img{animation:none}}

/* numeri delle schede: compaiono scorrendo dall'alto e diventano neri sul fondo oro */
.vlx-cards--gold .vlx-pillars__n{display:inline-block;opacity:0;transform:translateY(-14px);transition:opacity .7s ease,transform .8s cubic-bezier(.34,1.6,.5,1),color .5s ease;transition-delay:calc(var(--i,0) * .2s + .35s)}
.vlx-cards--gold.is-live .vlx-pillars__n{opacity:1;transform:none}
@media (hover:hover){.vlx-cards--gold>.vlx-detail:hover .vlx-pillars__n{color:#121212;transition-delay:0s}}
@media (prefers-reduced-motion:reduce){.vlx-cards--gold .vlx-pillars__n{opacity:1;transform:none;transition:none}}

/* ---------- tappe che compaiono con lo scroll (Ricorrenze: Un regalo con una storia dentro) ---------- */
.vlx-msscroll{position:relative;--p:0}
.vlx-msscroll::after{content:"";position:absolute;left:0;right:0;top:-1px;height:1px;background:var(--gold);transform:scaleX(var(--p));transform-origin:0 50%}
.vlx-msscroll li>*{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .9s cubic-bezier(.2,.7,.2,1)}
.vlx-msscroll li>:nth-child(2){transition-delay:.1s}
.vlx-msscroll li>:nth-child(3){transition-delay:.2s}
.vlx-msscroll li::before{transform:scale(0);transition:transform .6s cubic-bezier(.34,1.8,.5,1),box-shadow .6s ease}
.vlx-msscroll li.is-on>*{opacity:1;transform:none}
.vlx-msscroll li.is-on::before{transform:scale(1);box-shadow:0 0 0 6px rgba(200,164,95,.18)}
@media (max-width:560px){
  .vlx-msscroll::after{left:-1px;right:auto;top:0;bottom:0;width:1px;height:auto;transform:scaleY(var(--p));transform-origin:50% 0}
}
@media (prefers-reduced-motion:reduce){
  .vlx-msscroll li>*{opacity:1;transform:none;transition:none}
  .vlx-msscroll li::before{transform:none}
  .vlx-msscroll::after{transform:none}
}
.vlx-phero--b2b.vlx-phero--ken .vlx-phero__img{transform-origin:70% 55%;animation:vlxKenB2b 18s ease-in-out infinite alternate}
@keyframes vlxKenB2b{from{transform:scale(1) translate3d(0,0,0)}to{transform:scale(1.2) translate3d(-3%,-1.5%,0)}}
@media (prefers-reduced-motion:reduce){.vlx-phero--b2b.vlx-phero--ken .vlx-phero__img{animation:none}}
.vlx-why.vlx-cards--gold>.vlx-detail:nth-child(n+4){transition-delay:calc((var(--i,0) - 3) * .2s + .35s)}
.vlx-why.vlx-cards--gold.is-live>.vlx-detail:hover{transition-delay:0s}

/* Navigation dropdowns */
.vlh__group{position:relative}
.vlh__parent{display:flex;align-items:center;gap:4px}
.vlh__toggle{display:grid;place-items:center;width:24px;height:32px;padding:5px;border:0;background:transparent;color:var(--vlh-gold);cursor:pointer}
.vlh__toggle svg{width:10px;height:7px;fill:none;stroke:currentColor;stroke-width:1.3;transition:transform .2s}
.vlh__toggle[aria-expanded="true"] svg{transform:rotate(180deg)}
.vlh__toggle:focus-visible{outline:1px solid var(--vlh-gold)}
.vlh__submenu{position:absolute;top:100%;left:0;min-width:160px;margin:0;padding:10px 16px;list-style:none;background:var(--vlh-bg);border:1px solid var(--vlh-line);box-shadow:0 12px 24px #0005;z-index:3}
.vlh__submenu[hidden]{display:none}
.vlh__submenu a{padding:10px 0}
@media(max-width:600px){.vlh__menu{gap:8px}.vlh__parent{gap:0}.vlh__menu>.vlh__group:last-child>.vlh__submenu{left:auto;right:0}.vlh__menu a{font-size:13px}.vlh__toggle{width:20px}}

/* Gentle dropdown reveal */
.vlh__submenu{border-radius:14px;opacity:1;visibility:visible;transform:translateY(8px);transition:opacity .28s ease,transform .32s cubic-bezier(.22,1,.36,1),visibility 0s linear;overflow:hidden}
.vlh__submenu[hidden]{display:block;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(0);transition:opacity .22s ease,transform .26s ease,visibility 0s linear .26s}
.vlh__submenu li+li{border-top:1px solid rgba(200,164,95,.22)}
.vlh__submenu a{padding:12px 0}
.vlh__toggle svg{transition:transform .32s cubic-bezier(.22,1,.36,1)}
@media(prefers-reduced-motion:reduce){.vlh__submenu,.vlh__submenu[hidden]{transition:none;transform:none}}

/* Contact page */
.vlx-contact-hero{position:relative;min-height:540px;display:flex;align-items:end;padding:100px max(6vw,24px) 70px;background:#171a15}
.vlx-contact-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.42}
.vlx-contact-hero>div{position:relative;z-index:1}
.vlx-contact-hero h1{font-size:clamp(42px,5.5vw,80px);line-height:1.08;margin:20px 0}
.vlx-contact-hero p:last-child{line-height:1.8;color:#e1ded7}
.vlx-contact-grid{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:48px;padding-top:80px;padding-bottom:80px}
.vlx-contact-grid h2{font-size:30px;line-height:1.2;margin:18px 0 26px}
.vlx-contact-grid p,.vlx-contact-grid address{font-style:normal;line-height:1.9;color:#c5c2ba}
.vlx-contact-grid a{color:inherit;text-decoration:none}
.vlx-contact-grid a:hover{color:var(--gold)}
.vlx-contact-grid .vlx-btn{margin-top:24px}
.vlx-contact-grid hr{border:0;border-top:1px solid var(--line);margin:24px 0}
.vlx-contact-emails{display:grid;gap:10px;margin-top:24px}
.vlx-contact-grid small{font-size:12px;color:#aaa69d}
.vlx-contact-write{display:grid;grid-template-columns:1fr 1.6fr;gap:80px;padding-top:70px;padding-bottom:100px;border-top:1px solid var(--line)}
.vlx-contact-write h2{font-size:clamp(38px,4vw,64px);line-height:1.12;margin:24px 0}
.vlx-contact-write p{line-height:1.8;color:#bcb8af}
.vlx-contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.vlx-contact-form label{display:grid;gap:10px;font-size:14px;margin-bottom:24px;color:#dedad1}
.vlx-contact-form label small{display:inline}
.vlx-contact-form input,.vlx-contact-form select,.vlx-contact-form textarea{width:100%;box-sizing:border-box;border:1px solid #ffffff25;background:#ffffff04;border-radius:10px;color:#eee;padding:14px;font:inherit;outline:none}
.vlx-contact-form input:focus,.vlx-contact-form select:focus,.vlx-contact-form textarea:focus{border-color:var(--gold)}
.vlx-contact-form select option{background:#171717}
.vlx-contact-form textarea{resize:vertical}
.vlx-contact-note{font-size:12px;max-width:540px}
.vlx-contact-form button{cursor:pointer}
@media(max-width:900px){.vlx-contact-grid{grid-template-columns:1fr;gap:40px}.vlx-contact-grid article+article{padding-top:32px;border-top:1px solid var(--line)}.vlx-contact-write{grid-template-columns:1fr;gap:28px}.vlx-contact-hero{min-height:460px}}
@media(max-width:500px){.vlx-contact-fields{grid-template-columns:1fr;gap:0}.vlx-contact-hero h1{font-size:42px}.vlx-contact-emails a{overflow-wrap:anywhere}}

/* Terms and conditions */
.vlx-legal-head{padding-top:110px;padding-bottom:60px;border-bottom:1px solid var(--line)}
.vlx-legal-head h1{font-size:clamp(38px,5vw,70px);line-height:1.12;margin:20px 0}
.vlx-legal-head>p{color:#d2cdc3}
.vlx-legal-head>span{color:#98948b;font-size:13px}
.vlx-legal-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:80px;padding-top:60px;padding-bottom:100px;align-items:start}
.vlx-legal-index{position:sticky;top:155px;max-height:calc(100vh - 180px);overflow:auto;padding-right:12px}
.vlx-legal-index>a{display:flex;gap:12px;color:#bcb7ac;text-decoration:none;font-size:13px;line-height:1.5;padding:10px 0;border-bottom:1px solid #c8a45f20}
.vlx-legal-index>a span{color:var(--gold);font-size:11px;padding-top:2px}
.vlx-legal-index>a:hover{color:var(--gold)}
.vlx-legal-article{scroll-margin-top:160px;padding-bottom:36px;margin-bottom:36px;border-bottom:1px solid var(--line)}
.vlx-legal-article h2{font-size:clamp(23px,2.2vw,32px);line-height:1.3;margin:0 0 24px}
.vlx-legal-article p{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:15px;color:#c7c3ba;line-height:1.95;overflow-wrap:anywhere;margin:0 0 20px}
.vlx-legal-article strong{font-weight:500;color:#e5e0d5}
.vlx-legal-article a{color:var(--gold);text-underline-offset:4px}
@media(max-width:850px){.vlx-legal-layout{grid-template-columns:1fr;gap:40px}.vlx-legal-index{position:static;max-height:none;display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.vlx-legal-index>p{grid-column:1/-1}.vlx-legal-head{padding-top:90px}}
@media(max-width:480px){.vlx-legal-index{grid-template-columns:1fr}.vlx-legal-article p{font-size:14px}}

.vlx-legal-article h3{font-size:21px;line-height:1.4;color:var(--gold);margin:32px 0 16px}

.vlx-policy-draft{font:14px/1.7 "Helvetica Neue",Arial,sans-serif;border:1px solid var(--line);border-radius:12px;padding:18px 22px;max-width:760px;color:#d4c8ae;background:#c8a45f09;margin-top:28px}
.vlx-policy-table{overflow-x:auto;margin:24px 0}
.vlx-policy-table table{width:100%;border-collapse:collapse;font:14px/1.7 "Helvetica Neue",Arial,sans-serif}
.vlx-policy-table th,.vlx-policy-table td{padding:16px;text-align:left;vertical-align:top;border:1px solid var(--line);min-width:155px}
.vlx-policy-table th{color:var(--gold);font-weight:500;background:#ffffff04}
.vlx-policy-table td{color:#c7c3ba}
.vlx-legal-article ul{padding-left:22px;color:#c7c3ba;font:15px/1.9 "Helvetica Neue",Arial,sans-serif}
.vlx-legal-article li{margin-bottom:12px}

.vlx-foot__payments{display:flex;justify-content:center;padding:28px 0 8px}
.vlx-foot__payments img{display:block;width:min(100%,820px);height:auto;object-fit:contain}
@media(max-width:600px){.vlx-foot__payments{padding:24px 0 4px}}

/* Compact navigation and footer */
.vlh__menu{gap:22px}
.vlh__parent{gap:2px}
.vlh__toggle{width:20px}
.vlx-foot__payments{padding:20px 0 6px}
.vlx-foot__payments img{width:min(100%,480px)}
.vlx-foot__credit{text-align:center;margin:14px 0 0;font:12px/1.6 "Helvetica Neue",Arial,sans-serif;color:#aaa}
.vlx-foot__credit a{color:inherit;text-decoration:none}
.vlx-foot__credit a:hover{color:var(--gold)}
@media(max-width:960px){.vlh__menu{gap:14px}.vlh__menu a{font-size:13px;letter-spacing:.025em}.vlh__parent{gap:0}.vlh__toggle{width:18px}}
@media(max-width:400px){.vlh__menu{gap:9px}.vlh__menu a{font-size:12px;letter-spacing:0}.vlh__toggle{width:16px}}

/* Smaller payment marks, aligned to the right */
.vlx-foot__payments{justify-content:flex-end;padding-top:18px}
.vlx-foot__payments img{width:min(100%,300px)}
@media(max-width:600px){.vlx-foot__payments img{width:min(100%,250px)}}

/* Frantoio Alfa Laval 5.0 */
.vlf{--vlf-gold:#c8a45f;--vlf-line:rgba(200,164,95,.3);background:#121212;overflow:hidden}
.vlf h3{margin:0;color:#f9f8f6;font:400 clamp(24px,2.2vw,32px)/1.15 "Cormorant Garamond",Garamond,serif}
.vlf-hero{position:relative;min-height:calc(100svh - 84px);display:flex;align-items:center;isolation:isolate;overflow:hidden}
.vlf-hero__image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 48%;z-index:-2;animation:vlfHero 18s ease-in-out infinite alternate}
.vlf-hero__veil{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(10,10,10,.92) 0%,rgba(10,10,10,.66) 46%,rgba(10,10,10,.12) 78%),linear-gradient(0deg,#121212 0%,transparent 35%)}
.vlf-hero__inner{width:min(1240px,100%);margin:0 auto;padding:clamp(110px,13vh,155px) clamp(24px,5vw,64px) clamp(90px,10vh,120px)}
.vlf-hero h1{max-width:840px;margin:20px 0 28px;color:#fff;font-size:clamp(58px,8vw,118px);line-height:.88;letter-spacing:-.025em}
.vlf-hero h1 em{color:var(--vlf-gold);font-weight:400}
.vlf-hero__lead{max-width:650px;color:#ddd9d0;font-size:clamp(16px,1.35vw,19px);line-height:1.75}
.vlf-scroll{display:inline-flex;align-items:center;gap:18px;margin-top:38px;color:#fff;text-decoration:none;font-size:13px;letter-spacing:.08em;text-transform:uppercase}
.vlf-scroll i{position:relative;width:54px;height:1px;background:var(--vlf-gold);overflow:hidden}
.vlf-scroll i::after{content:"";position:absolute;inset:0;background:#fff;transform:translateX(-110%);animation:vlfScan 2.4s ease-in-out infinite}
.vlf-hero__rail{position:absolute;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--vlf-line);background:rgba(18,18,18,.72);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.vlf-hero__rail span{padding:21px 26px;text-align:center;color:#ded9cf;font:200 14px/1.3 "Roboto Condensed","Arial Narrow",sans-serif;letter-spacing:.08em;text-transform:uppercase}
.vlf-hero__rail span+span{border-left:1px solid var(--vlf-line)}
@keyframes vlfHero{to{transform:scale(1.045)}}
@keyframes vlfScan{45%,100%{transform:translateX(110%)}}

.vlf-stats{max-width:1240px;margin:0 auto;padding:clamp(70px,8vw,110px) clamp(20px,4vw,40px);display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid #2d2d2d}
.vlf-stats article{position:relative;display:grid;justify-items:center;text-align:center;padding:8px 20px}
.vlf-stats article+article::before{content:"";position:absolute;left:0;top:8%;bottom:8%;width:1px;background:#353535}
.vlf-stats strong{color:var(--vlf-gold);font:400 clamp(48px,6vw,78px)/.9 "Cormorant Garamond",serif;font-variant-numeric:tabular-nums}
.vlf-stats span{margin-top:12px;color:#f7f5f0;font:200 15px/1.2 "Roboto Condensed",sans-serif;text-transform:uppercase;letter-spacing:.13em}
.vlf-stats small{margin-top:8px;color:#8f8b83;font-size:12px}

.vlf-history{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);gap:clamp(40px,7vw,96px);align-items:center;padding-bottom:clamp(90px,11vw,150px)}
.vlf-history__image{position:relative;min-height:clamp(450px,55vw,690px);overflow:hidden}
.vlf-history__image::after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,transparent 55%,rgba(18,18,18,.55))}
.vlf-history__image img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;filter:saturate(.68) contrast(1.08)}
.vlf-history__image span{position:absolute;z-index:1;left:24px;bottom:24px;padding:8px 14px;border:1px solid var(--vlf-line);background:#121212b8;color:#e5dfd4;font-size:11px;letter-spacing:.14em;text-transform:uppercase}
.vlf-history__copy h2,.vlf-section-head h2,.vlf-five__content h2,.vlf-eco h2,.vlf-manifesto h2{color:#f9f8f6;font-size:clamp(42px,5.4vw,76px);line-height:1.02;margin:18px 0 28px}
.vlf-history__copy>p:not(.vlx-kicker){margin-top:18px;color:#aaa69e;line-height:1.9}
.vlf-history blockquote{position:relative;margin:36px 0 0;padding:24px 0 0 28px;border-top:1px solid var(--vlf-line);color:#e4ded3;font:italic 500 clamp(23px,2.2vw,31px)/1.35 "Cormorant Garamond",serif}
.vlf-history blockquote::before{content:"";position:absolute;left:0;top:31px;width:12px;height:1px;background:var(--vlf-gold)}

.vlf-layout{padding:1px 0 clamp(95px,11vw,150px);background:#151515;border-block:1px solid #292929}
.vlf-section-head{text-align:center;max-width:900px}
.vlf-section-head>p:last-child{max-width:690px;margin:0 auto;color:#99958e;line-height:1.8}
.vlf-zones{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;padding-top:0;background:#35312b;border:1px solid #35312b}
.vlf-zone{position:relative;min-height:390px;padding:34px 28px 38px;background:#121212;overflow:hidden;transition:background .35s ease,transform .35s ease}
.vlf-zone:hover{z-index:1;background:#191815;transform:translateY(-7px)}
.vlf-zone::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:2px;background:var(--vlf-gold);transition:right .5s cubic-bezier(.22,1,.36,1)}
.vlf-zone:hover::after{right:0}
.vlf-zone__num{display:block;color:#716b61;font-size:11px;letter-spacing:.2em}
.vlf-zone svg{width:54px;height:54px;margin:48px 0 30px;fill:none;stroke:var(--vlf-gold);stroke-width:1.15;stroke-linecap:round;stroke-linejoin:round}
.vlf-zone h3{min-height:2.3em}
.vlf-zone p{margin-top:18px;color:#98948c;font-size:14px;line-height:1.8}

.vlf-process{padding-bottom:clamp(100px,12vw,170px);background:radial-gradient(circle at 50% 20%,#1c1a16 0,#121212 38%)}
.vlf-flow{position:relative;padding-top:20px}
.vlf-flow__line{position:absolute;left:50%;top:20px;bottom:30px;width:1px;background:#332f29;overflow:hidden}
.vlf-flow__line span{display:block;width:100%;height:100%;background:linear-gradient(var(--vlf-gold),#63502d 75%,transparent);transform-origin:top;animation:vlfFlow 5s ease-in-out infinite alternate}
@keyframes vlfFlow{from{transform:scaleY(.18)}to{transform:scaleY(1)}}
.vlf-step{position:relative;width:calc(50% - 65px);min-height:260px;margin-bottom:45px;padding:38px 40px;border:1px solid #2e2b26;background:linear-gradient(145deg,#171717,#111);box-shadow:0 24px 80px #0003}
html.js [data-step-reveal]{opacity:0;transform:translate3d(0,90px,0);transition:opacity .85s ease,transform 1.05s cubic-bezier(.22,1,.36,1);will-change:opacity,transform}
html.js [data-step-reveal].is-step-visible{opacity:1;transform:translate3d(0,0,0)}
.vlf-step--left{margin-right:auto;text-align:right}
.vlf-step--right{margin-left:auto}
.vlf-step__marker{position:absolute;top:50%;width:56px;height:56px;margin-top:-28px;display:grid;place-items:center;border:1px solid var(--vlf-gold);border-radius:50%;background:#121212;color:var(--vlf-gold);font-size:11px;letter-spacing:.1em;box-shadow:0 0 0 9px #121212}
.vlf-step--left .vlf-step__marker{right:-94px}.vlf-step--right .vlf-step__marker{left:-94px}
.vlf-step__marker::after{content:"";position:absolute;inset:-7px;border:1px solid #c8a45f30;border-radius:50%;animation:vlfPulse 2.5s ease-in-out infinite}
@keyframes vlfPulse{50%{transform:scale(1.18);opacity:.25}}
.vlf-step h3{font-size:clamp(28px,3vw,40px);margin:7px 0 20px}
.vlf-step p:not(.vlx-kicker){color:#aaa69e;line-height:1.85}
.vlf-step strong{display:block;margin-top:22px;color:var(--vlf-gold);font-weight:400;letter-spacing:.06em}
.vlf-step ul{margin:22px 0 0;padding:0;list-style:none;color:#aaa69e;font-size:14px}
.vlf-step li{padding:8px 0;border-top:1px solid #302d28}
.vlf-process-image{position:relative;width:calc(50% - 65px);margin:5px 0 50px auto;overflow:hidden;background:#181818}
.vlf-process-image--wide{width:72%;margin:15px auto 60px}
.vlf-process-image img{width:100%;aspect-ratio:16/9;object-fit:cover;filter:saturate(.72)}
.vlf-process-image--ken img{transform-origin:center center;animation:vlfKenBurns 14s ease-in-out infinite alternate;animation-play-state:paused}
.vlf-process-image--ken.is-image-visible img{animation-play-state:running}
html.js [data-image-reveal]{opacity:0;transform:translate3d(0,46px,0);transition:opacity 1.15s ease,transform 1.15s cubic-bezier(.22,1,.36,1);will-change:opacity,transform}
html.js [data-image-reveal].is-image-visible{opacity:1;transform:translate3d(0,0,0)}
@keyframes vlfKenBurns{from{transform:scale(1.01)}to{transform:scale(1.085)}}
.vlf-process-image figcaption{position:absolute;left:0;right:0;bottom:0;padding:30px 24px 18px;background:linear-gradient(transparent,#121212e8);color:#e0dbd1;font-size:12px;letter-spacing:.08em}

.vlf-five{display:grid;grid-template-columns:minmax(0,1fr) minmax(520px,1fr);border-block:1px solid #292929;background:#0f0f0f}
.vlf-five__visual{position:relative;min-height:100vh;overflow:hidden}
.vlf-five__visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.7) contrast(1.05)}
.vlf-five__visual::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 55%,#0f0f0f),linear-gradient(0deg,#0f0f0f99,transparent 45%)}
.vlf-five__badge{position:absolute;z-index:2;left:50%;top:50%;width:190px;height:190px;transform:translate(-50%,-50%);display:grid;place-content:center;text-align:center;border:1px solid var(--vlf-gold);border-radius:50%;background:#121212d9;box-shadow:0 0 80px #c8a45f26}
.vlf-five__badge b{color:#fff;font:400 68px/.9 "Cormorant Garamond",serif}.vlf-five__badge small{max-width:100px;margin:10px auto 0;color:var(--vlf-gold);font-size:10px;letter-spacing:.14em;text-transform:uppercase}
.vlf-orbit{position:absolute;z-index:1;left:50%;top:50%;border:1px solid #c8a45f4a;border-radius:50%;animation:vlfOrbit 13s linear infinite}
.vlf-orbit::after{content:"";position:absolute;left:50%;top:-4px;width:7px;height:7px;border-radius:50%;background:var(--vlf-gold);box-shadow:0 0 15px var(--vlf-gold)}
.vlf-orbit--one{width:310px;height:310px;margin:-155px}.vlf-orbit--two{width:460px;height:460px;margin:-230px;animation-direction:reverse;animation-duration:19s}
@keyframes vlfOrbit{to{transform:rotate(1turn)}}
.vlf-five__content{padding:clamp(90px,9vw,140px) clamp(30px,6vw,90px)}
.vlf-five__content>p:not(.vlx-kicker){max-width:650px;color:#aaa69e;line-height:1.9}
.vlf-benefits{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:52px;border:1px solid #2b2925}
.vlf-benefits article{min-height:260px;padding:28px;border-bottom:1px solid #2b2925}
.vlf-benefits article:nth-child(odd){border-right:1px solid #2b2925}
.vlf-benefits article:nth-last-child(-n+2){border-bottom:0}
.vlf-benefits svg{width:34px;height:34px;margin-bottom:25px;fill:none;stroke:var(--vlf-gold);stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round}
.vlf-benefits h3{font-size:25px}.vlf-benefits p{margin-top:14px;color:#918d85;font-size:13px;line-height:1.75}

.vlf-eco{position:relative;min-height:950px;isolation:isolate;display:flex;align-items:center}
.vlf-eco__image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;filter:saturate(.72)}
.vlf-eco__veil{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#111 0,#111e 48%,#1117),linear-gradient(0deg,#111 0,transparent 30%,#111a 100%)}
.vlf-eco__content{width:100%;padding-bottom:clamp(100px,11vw,150px)}
.vlf-eco__content header{max-width:750px}
.vlf-eco__grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:70px;border-top:1px solid #c8a45f66;border-bottom:1px solid #c8a45f66;background:#1118;backdrop-filter:blur(8px)}
.vlf-eco__grid article{min-height:285px;padding:30px 28px}
.vlf-eco__grid article+article{border-left:1px solid #c8a45f42}
.vlf-eco__grid span{color:var(--vlf-gold);font-size:11px;letter-spacing:.2em}
.vlf-eco__grid h3{margin:38px 0 18px}.vlf-eco__grid p{color:#aaa69e;font-size:14px;line-height:1.8}

.vlf-manifesto{padding:clamp(110px,13vw,190px) 24px;text-align:center}
.vlf-manifesto h2{max-width:1050px;margin:24px auto 52px;font-size:clamp(46px,7vw,96px)}
.vlf-manifesto h2 em{color:var(--vlf-gold);font-weight:400}
.vlf-manifesto>div{display:flex;align-items:center;justify-content:center;gap:34px}

@media(max-width:1050px){
  .vlf-zones{grid-template-columns:1fr 1fr}.vlf-zone{min-height:340px}
  .vlf-five{grid-template-columns:1fr}.vlf-five__visual{min-height:70svh}.vlf-five__visual::after{background:linear-gradient(0deg,#0f0f0f,transparent 45%)}
  .vlf-eco__grid{grid-template-columns:1fr 1fr}.vlf-eco__grid article:nth-child(3){border-left:0;border-top:1px solid #c8a45f42}.vlf-eco__grid article:nth-child(4){border-top:1px solid #c8a45f42}
}
@media(max-width:760px){
  .vlf-hero{min-height:calc(100svh - 64px)}.vlf-hero__veil{background:linear-gradient(0deg,#121212 0,rgba(10,10,10,.58) 70%,rgba(10,10,10,.3))}.vlf-hero__inner{padding:110px 24px 110px}.vlf-hero h1{font-size:clamp(54px,18vw,84px)}
  .vlf-hero__rail span{padding:16px 6px;font-size:10px;letter-spacing:.04em}
  .vlf-stats{grid-template-columns:1fr 1fr;row-gap:50px}.vlf-stats article:nth-child(3)::before{display:none}
  .vlf-history{grid-template-columns:1fr;gap:45px}.vlf-history__image{min-height:430px}.vlf-history__copy{padding:0 4px}
  .vlf-section-head{text-align:left}.vlf-section-head>p:last-child{margin-left:0}
  .vlf-flow__line{left:28px}.vlf-step,.vlf-step--left,.vlf-step--right{width:calc(100% - 72px);min-height:0;margin:0 0 34px 72px;padding:28px 24px;text-align:left}.vlf-step--left .vlf-step__marker,.vlf-step--right .vlf-step__marker{left:-72px;right:auto;width:56px;height:56px}
  .vlf-process-image,.vlf-process-image--wide{width:calc(100% - 72px);margin:10px 0 42px 72px}.vlf-process-image img{aspect-ratio:4/3}
  .vlf-five__content{padding-left:24px;padding-right:24px}.vlf-five__visual{min-height:62svh}.vlf-orbit--two{width:360px;height:360px;margin:-180px}.vlf-five__badge{width:160px;height:160px}
  .vlf-eco{min-height:auto;padding:70px 0}.vlf-eco__grid{margin-top:50px}
}
@media(max-width:540px){
  .vlf-zones,.vlf-benefits,.vlf-eco__grid{grid-template-columns:1fr}.vlf-zone{min-height:0}.vlf-zone h3{min-height:0}.vlf-zone svg{margin:34px 0 24px}
  .vlf-benefits article,.vlf-benefits article:nth-child(odd),.vlf-benefits article:nth-last-child(-n+2){min-height:0;border:0;border-bottom:1px solid #2b2925}.vlf-benefits article:last-child{border-bottom:0}
  .vlf-eco__grid article,.vlf-eco__grid article+article,.vlf-eco__grid article:nth-child(3),.vlf-eco__grid article:nth-child(4){min-height:0;border:0;border-bottom:1px solid #c8a45f42}.vlf-eco__grid article:last-child{border-bottom:0}
  .vlf-manifesto>div{flex-direction:column}.vlf-manifesto h2{font-size:43px}
}
@media(prefers-reduced-motion:reduce){.vlf-hero__image,.vlf-scroll i::after,.vlf-flow__line span,.vlf-step__marker::after,.vlf-orbit{animation:none!important}}

/* Frantoio: punti distintivi biologico e acqua a osmosi inversa */
.vlf-hero__bio{color:#c2d3a6!important;background:linear-gradient(180deg,rgba(85,111,57,.22),rgba(85,111,57,.05))}
.vlf-stat--bio{box-shadow:inset 0 0 0 1px rgba(139,164,96,.46);background:linear-gradient(145deg,rgba(87,112,58,.2),rgba(18,18,18,.15))}
.vlf-stat--bio small{color:#b6c89a}
.vlf-zones.vlx-sec{max-width:1240px;padding:0}
.vlf-zone--bio{border-color:rgba(139,164,96,.62);background:linear-gradient(145deg,rgba(87,112,58,.22),rgba(26,33,22,.88));box-shadow:inset 0 0 60px rgba(104,130,71,.08)}
.vlf-zone--bio:hover{background:linear-gradient(145deg,rgba(94,121,62,.28),rgba(27,35,22,.94))}
.vlf-zone__flag,.vlf-step__flag{display:inline-flex;align-items:center;width:max-content;margin:4px 0 12px;padding:7px 11px;border:1px solid rgba(200,164,95,.58);border-radius:999px;color:var(--vlf-gold);font:200 11px/1 "Roboto Condensed",Arial,sans-serif;letter-spacing:.18em;text-transform:uppercase;background:rgba(200,164,95,.08)}
.vlf-zone__flag{position:absolute;top:32px;right:28px;margin:0;border-color:rgba(150,178,105,.68);color:#c2d3a6;background:rgba(86,112,57,.2)}
.vlf-zone--bio h3{color:#f1eee6}
.vlf-zone--bio p strong,.vlf-step__body>strong{color:var(--vlf-gold)}
@media(max-width:1280px){.vlf-zones.vlx-sec{max-width:calc(100% - 40px)}}
@media(max-width:540px){.vlf-zone__flag{top:32px;right:24px}}
@media(max-width:760px){.vlf-process-image.vlf-process-image--wide{width:calc(100% - 48px);margin:10px auto 42px}}
@media(prefers-reduced-motion:reduce){.vlf-process-image--ken img{animation:none!important;transform:none!important}}
@media(prefers-reduced-motion:reduce){html.js [data-step-reveal]{opacity:1!important;transform:none!important;transition:none!important}}
@media(prefers-reduced-motion:reduce){html.js [data-image-reveal]{opacity:1!important;transform:none!important;transition:none!important}}

/* Card: ingresso progressivo dal basso */
html.js [data-card-reveal]{opacity:0;transform:translate3d(0,64px,0);transition:opacity .78s ease,transform .95s cubic-bezier(.22,1,.36,1);transition-delay:var(--card-delay,0s);will-change:opacity,transform}
html.js [data-card-reveal].is-card-visible{opacity:1;transform:translate3d(0,0,0)}
.vlf-zone[data-card-reveal].is-card-visible:hover{transform:translateY(-7px)}

/* Manifesto: scrittura progressiva */
.vlf-manifesto h2[data-typewriter].is-typing::after{content:"";display:inline-block;width:2px;height:.78em;margin-left:.12em;background:var(--vlf-gold);vertical-align:-.04em;animation:vlfTypeCursor .7s steps(1,end) infinite}
@keyframes vlfTypeCursor{50%{opacity:0}}
@media(prefers-reduced-motion:reduce){html.js [data-card-reveal]{opacity:1!important;transform:none!important;transition:none!important}.vlf-manifesto h2[data-typewriter]::after{display:none!important}}

/* Hover premium sulle card */
.vlf-benefits article,.vlf-eco__grid article{position:relative;overflow:hidden;transition:transform .48s cubic-bezier(.22,1,.36,1),background .4s ease,box-shadow .4s ease,border-color .4s ease}
.vlf-benefits article::after,.vlf-eco__grid article::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:2px;background:linear-gradient(90deg,var(--vlf-gold),#f1d08d);transition:right .55s cubic-bezier(.22,1,.36,1)}
.vlf-benefits article svg,.vlf-eco__grid article>span,.vlf-benefits article h3,.vlf-eco__grid article h3{transition:transform .45s cubic-bezier(.22,1,.36,1),color .35s ease,filter .35s ease}
@media(hover:hover) and (pointer:fine){
  .vlf-benefits article:hover,.vlf-eco__grid article:hover{z-index:2;transform:translateY(-9px);background:linear-gradient(145deg,rgba(200,164,95,.11),rgba(18,18,18,.9));box-shadow:0 24px 55px rgba(0,0,0,.35),inset 0 0 0 1px rgba(200,164,95,.34)}
  .vlf-benefits article:hover::after,.vlf-eco__grid article:hover::after{right:0}
  .vlf-benefits article:hover svg{transform:translateY(-5px) scale(1.1);filter:drop-shadow(0 0 9px rgba(200,164,95,.38))}
  .vlf-benefits article:hover h3,.vlf-eco__grid article:hover h3{transform:translateX(5px);color:#fffaf0}
  .vlf-eco__grid article:hover>span{transform:translateY(-3px);color:#efd18f}
  .vlf-zone:hover svg{transform:translateY(-5px) scale(1.07);filter:drop-shadow(0 0 8px rgba(200,164,95,.32));transition:transform .45s cubic-bezier(.22,1,.36,1),filter .35s ease}
  .vlf-zone--bio:hover{box-shadow:inset 0 0 0 1px rgba(151,181,105,.52),0 24px 55px rgba(27,44,20,.28)}
  .vlf-zone--bio:hover::after{background:linear-gradient(90deg,#809b59,#c0d39f)}
}
