/* ==========================================================================
   SPRÙZ - foglio di stile
   Direzione: nero notte, testo bianco, un solo accento rosso cremisi
   (il cuneo del logo). Un solo tema scuro, perché il prodotto vive di notte.
   Un solo carattere (Archivo): la larghezza variabile fa da gerarchia.
   Raggi: pulsanti e scelte a pillola, foto e pannelli 18px, campi 12px.
   ========================================================================== */

@font-face{
  font-family:"Archivo";
  src:url("/assets/fonts/archivo-latin.woff2") format("woff2");
  font-weight:100 900; font-stretch:62% 125%; font-display:swap;
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face{
  font-family:"Archivo";
  src:url("/assets/fonts/archivo-latin-ext.woff2") format("woff2");
  font-weight:100 900; font-stretch:62% 125%; font-display:swap;
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

:root{
  --night:#0A0A0B;        /* fondo nero */
  --raise:#141416;        /* superfici in rilievo */
  --raise-2:#1F1F23;      /* hover / stato attivo */
  --line:rgba(255,255,255,.12);
  --line-2:rgba(255,255,255,.24);
  --text:#FAFAFA;
  --muted:#A8A8AD;        /* 8:1 sul nero */
  --red:#D4143C;          /* cremisi: riempimenti, testo bianco sopra a 5.3:1 */
  --red-hi:#E8284F;
  --red-text:#FF4D6A;     /* cremisi chiaro per testo piccolo sul nero: 6:1 */

  --r-card:18px; --r-input:12px; --r-pill:999px;
  --wrap:1240px;
  --gut:clamp(20px,4.5vw,40px);
  --hdr:68px;
  --ease:cubic-bezier(.16,1,.3,1);
  color-scheme:dark;
}

/* ---------- Base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--hdr) + 16px)}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
body{
  margin:0;background:var(--night);color:var(--text);
  font-family:"Archivo",system-ui,-apple-system,"Segoe UI",sans-serif;
  font-size:1.0625rem;line-height:1.6;font-stretch:100%;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
  overflow-x:clip;
}
body.menu-open{overflow:hidden}
img,video{max-width:100%;display:block}
a{color:inherit}
button,input,textarea,select{font:inherit;color:inherit}
::selection{background:var(--red);color:#fff}
:focus-visible{outline:2px solid var(--red-text);outline-offset:3px;border-radius:6px}
h1,h2,h3,p,figure,ul,ol{margin:0}
h1,h2,h3,p,li{overflow-wrap:break-word}
strong{font-weight:600;color:var(--text)}

.skip{position:absolute;left:12px;top:-60px;z-index:100;background:var(--red);color:#fff;padding:12px 18px;border-radius:var(--r-pill);text-decoration:none;font-weight:600}
.skip:focus{top:12px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* ---------- Tipografia ---------- */
.h1,.h2,.h3{font-stretch:112%;font-weight:650;letter-spacing:-.022em;line-height:1.04;text-wrap:balance}
.h1{font-size:clamp(2.5rem,1.4rem + 4.2vw,4.5rem)}
.h2{font-size:clamp(2rem,1.3rem + 2.6vw,3.25rem)}
.h3{font-size:clamp(1.25rem,1.1rem + .5vw,1.5rem);line-height:1.15;letter-spacing:-.012em}
.lead{font-size:clamp(1.125rem,1.05rem + .35vw,1.3125rem);line-height:1.5;color:var(--muted);max-width:44ch}
.body{color:var(--muted);max-width:62ch}
.body + .body{margin-top:1em}
.small{font-size:.9375rem;color:var(--muted)}
.tag{font-size:.9375rem;font-weight:600;color:var(--red-text)}
.accent{color:var(--red-text)}

/* ---------- Layout ---------- */
.wrap{width:100%;max-width:calc(var(--wrap) + var(--gut)*2);margin-inline:auto;padding-inline:var(--gut)}
.sec{padding-block:clamp(72px,9vw,128px)}
.sec-sm{padding-block:clamp(48px,6vw,80px)}
.band{background:var(--raise)}
/* dentro una fascia in rilievo, le schede scendono di un livello per restare visibili */
.band .feature,.band .fr-card,.band .pair-card,.band .form{background:var(--night)}
.band .f input,.band .f textarea{background:var(--raise)}
.stack > * + *{margin-top:20px}
.head{max-width:760px;margin-bottom:clamp(36px,5vw,56px)}
.head .body,.head .lead{margin-top:16px}
.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}

/* ---------- Pulsanti e link ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  min-height:48px;padding:0 24px;border-radius:var(--r-pill);
  font-size:.9688rem;font-weight:600;font-stretch:105%;letter-spacing:.005em;white-space:nowrap;
  text-decoration:none;cursor:pointer;border:1px solid transparent;
  transition:background-color .2s ease,border-color .2s ease,color .2s ease,transform .12s ease;
}
.btn:active{transform:translateY(1px) scale(.985)}
.btn-primary{background:var(--red);color:#fff}
.btn-primary:hover{background:var(--red-hi)}
.btn-ghost{border-color:var(--line-2);color:var(--text);background:transparent}
.btn-ghost:hover{background:var(--raise-2);border-color:var(--raise-2)}
.btn[disabled]{opacity:.6;cursor:progress}
.btn-sm{min-height:42px;padding:0 18px;font-size:.9063rem}

.link{
  font-weight:600;color:var(--text);text-decoration:underline;text-decoration-color:var(--red);
  text-decoration-thickness:2px;text-underline-offset:6px;transition:text-decoration-color .2s,color .2s;
}
.link:hover{color:var(--red-text);text-decoration-color:currentColor}
.more{margin-top:28px}

/* ---------- Header ---------- */
.hdr{
  position:fixed;inset:0 0 auto;z-index:50;height:var(--hdr);
  transition:background-color .3s ease,border-color .3s ease;
  border-bottom:1px solid transparent;
}
.hdr.is-solid,body.menu-open .hdr{background:rgba(10,10,11,.88);border-bottom-color:var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.hdr-in{height:100%;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;align-items:center;flex:none;border-radius:8px}
.brand img{width:112px;height:auto}
.nav{display:none;align-items:center;gap:4px}
.nav a{
  padding:8px 12px;border-radius:var(--r-pill);font-size:.9375rem;font-weight:500;color:var(--muted);
  text-decoration:none;transition:color .2s,background-color .2s;white-space:nowrap;
}
.nav a:hover{color:var(--text);background:var(--raise)}
.nav a[aria-current="page"]{color:var(--text);background:var(--raise-2)}
.hdr-cta{display:none}
.burger{
  display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0 18px;border-radius:var(--r-pill);
  border:1px solid var(--line-2);background:transparent;cursor:pointer;font-weight:600;font-size:.9375rem;
}
.burger-i{position:relative;width:16px;height:10px}
.burger-i::before,.burger-i::after{content:"";position:absolute;left:0;right:0;height:2px;border-radius:2px;background:currentColor;transition:transform .3s var(--ease),top .3s var(--ease)}
.burger-i::before{top:0}
.burger-i::after{top:8px}
body.menu-open .burger-i::before{top:4px;transform:rotate(45deg)}
body.menu-open .burger-i::after{top:4px;transform:rotate(-45deg)}

.menu{
  position:fixed;inset:0;z-index:40;background:var(--night);
  padding:calc(var(--hdr) + 24px) var(--gut) calc(32px + env(safe-area-inset-bottom));
  display:flex;flex-direction:column;gap:32px;overflow-y:auto;overscroll-behavior:contain;
  opacity:0;visibility:hidden;transform:translateY(-8px);
  transition:opacity .25s ease,transform .35s var(--ease),visibility 0s linear .35s;
}
body.menu-open .menu{opacity:1;visibility:visible;transform:none;transition-delay:0s}
.menu ul{list-style:none;padding:0;display:grid}
.menu ul a{
  display:block;padding:12px 0;font-size:clamp(1.75rem,7vw,2.5rem);font-weight:650;font-stretch:112%;
  letter-spacing:-.02em;text-decoration:none;border-bottom:1px solid var(--line);
}
.menu ul a[aria-current="page"]{color:var(--red-text)}
.menu-foot{display:grid;gap:20px;margin-top:auto}
.menu-social{display:flex;gap:24px}

@media (min-width:1080px){
  .nav{display:flex}
  .hdr-cta{display:inline-flex}
  .burger,.menu{display:none}
}

/* ---------- Media ---------- */
.media{width:100%;height:auto;border-radius:var(--r-card);background:var(--raise);object-fit:cover}
.media-tall{aspect-ratio:9/16;width:min(100%,calc(80svh * 9 / 16));height:auto;margin-inline:auto}
.media-wide{aspect-ratio:16/10}
.media-portrait{aspect-ratio:4/5}
.plate{background:#F6F5F9;border-radius:var(--r-card);display:grid;place-items:center;padding:12%}
.plate img{width:100%;max-width:280px;height:auto}

/* ---------- Hero (home) ---------- */
.hero{padding-top:calc(var(--hdr) + clamp(32px,6vw,72px));padding-bottom:clamp(56px,8vw,96px)}
.hero-grid{display:grid;gap:40px;align-items:center}
.hero-copy .lead{margin-top:24px}
.hero-media .media{aspect-ratio:4/5;max-height:74svh;object-position:50% 42%}
@media (min-width:900px){
  .hero{min-height:100svh;display:flex;align-items:center}
  .hero > .wrap{width:100%}
  .hero-grid{grid-template-columns:1.15fr .85fr;gap:clamp(40px,6vw,96px)}
}
/* Unico momento animato all'apertura: il titolo entra, poi il resto */
@media (prefers-reduced-motion:no-preference){
  .intro > *{animation:intro .9s var(--ease) both}
  .intro > *:nth-child(2){animation-delay:.08s}
  .intro > *:nth-child(3){animation-delay:.16s}
  .hero-media{animation:intro-media 1.1s var(--ease) .1s both}
}
@keyframes intro{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes intro-media{from{opacity:0;transform:scale(.97)}to{opacity:1;transform:none}}

/* ---------- Testata delle pagine interne ---------- */
.page-head{padding-top:calc(var(--hdr) + clamp(48px,8vw,112px));padding-bottom:clamp(32px,4vw,56px)}
.page-head .lead{margin-top:20px}

/* ---------- La curva della serata ---------- */
.meter{background:var(--raise);border-radius:24px;padding:clamp(20px,3.5vw,40px);border:1px solid var(--line)}
.meter-top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px 32px;margin-bottom:24px}
.readout{display:block;font-size:clamp(3rem,2rem + 4vw,5rem);font-weight:700;font-stretch:115%;line-height:.9;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.readout small{font-size:.4em;color:var(--muted);font-weight:600;margin-left:4px;letter-spacing:0}
.readout-state{display:block;margin-top:12px;color:var(--muted);min-height:1.6em}
.clock{text-align:left}
@media (min-width:640px){.clock{text-align:right}}
.clock b{display:block;font-size:clamp(1.5rem,1.2rem + 1vw,2rem);font-weight:650;font-variant-numeric:tabular-nums;letter-spacing:-.01em}
.clock span{font-size:.9375rem;color:var(--muted)}
.chart{width:100%;height:clamp(150px,24vw,240px);display:block;touch-action:pan-y;cursor:ew-resize}
.chart .grid-l{stroke:var(--line);stroke-width:1;vector-effect:non-scaling-stroke}
.chart .trace{fill:none;stroke:var(--text);stroke-width:2;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.chart .area{fill:url(#gfade)}
.chart .marker{stroke:var(--red-text);stroke-width:1.5;vector-effect:non-scaling-stroke}
.chart .dot{fill:var(--red)}
.hours{display:flex;justify-content:space-between;margin-top:8px;font-size:.875rem;color:var(--muted);font-variant-numeric:tabular-nums}
.meter-ctl{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px 16px;margin-top:24px;padding-top:24px;border-top:1px solid var(--line)}
.meter-ctl label{flex:1 1 240px;display:grid;gap:4px;font-size:.9375rem;font-weight:600}
.range{-webkit-appearance:none;appearance:none;width:100%;height:36px;background:transparent;cursor:ew-resize;margin:0}
.range::-webkit-slider-runnable-track{height:4px;border-radius:4px;background:var(--line-2)}
.range::-moz-range-track{height:4px;border-radius:4px;background:var(--line-2)}
.range::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;border-radius:50%;background:var(--red);border:3px solid var(--night);margin-top:-9px}
.range::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--red);border:3px solid var(--night)}
.spruzz{position:relative}
.burst{position:absolute;inset:0;pointer-events:none}
.burst i{position:absolute;left:50%;top:50%;width:6px;height:6px;border-radius:50%;background:var(--red-text);opacity:0}
.burst.go i{animation:burst .7s var(--ease) forwards}
@keyframes burst{0%{opacity:1;transform:translate(-50%,-50%) scale(.5)}100%{opacity:0;transform:translate(calc(-50% + var(--bx)),calc(-50% + var(--by))) scale(0)}}

/* ---------- Come funziona ---------- */
.how{display:grid;gap:48px;align-items:center}
.steps{list-style:none;padding:0;display:grid;gap:28px;counter-reset:step}
.steps li{display:grid;grid-template-columns:44px 1fr;gap:4px 18px;align-items:start}
.steps li::before{
  counter-increment:step;content:counter(step);grid-row:span 2;
  width:44px;height:44px;border-radius:50%;display:grid;place-items:center;
  background:var(--raise-2);color:var(--text);font-weight:650;font-size:1.0625rem;
}
.steps h3{margin-top:9px}
.steps p{color:var(--muted)}
@media (min-width:900px){
  .how{grid-template-columns:.8fr 1.2fr;gap:clamp(48px,7vw,112px)}
  .how.flip{grid-template-columns:1.2fr .8fr}
  .how.flip .how-media{order:2}
}

/* ---------- Fragranze: il pannello della macchina ---------- */
.vend{display:grid;gap:16px}
.slots{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;align-content:start}
.slot{
  text-align:left;cursor:pointer;border:1px solid var(--line);background:var(--night);
  border-radius:var(--r-card);padding:16px;min-height:108px;display:grid;align-content:space-between;gap:10px;
  transition:background-color .2s ease,border-color .2s ease;
}
.slot:hover{border-color:var(--line-2);background:var(--raise-2)}
.slot-code{display:inline-flex;align-items:center;gap:8px;font-size:.875rem;font-weight:600;color:var(--muted);font-variant-numeric:tabular-nums}
.slot-code::before{content:"";width:10px;height:10px;border-radius:50%;border:2px solid var(--line-2);transition:background-color .2s,border-color .2s}
.slot-nm{font-weight:650;font-stretch:108%;font-size:1.0625rem;line-height:1.15}
.slot-hs{display:block;font-size:.875rem;color:var(--muted);font-weight:400;font-stretch:100%;margin-top:3px}
.slot[aria-pressed="true"]{border-color:var(--red);background:var(--raise-2)}
.slot[aria-pressed="true"] .slot-code{color:var(--text)}
.slot[aria-pressed="true"] .slot-code::before{background:var(--red);border-color:var(--red)}
.panel{background:var(--night);border:1px solid var(--line);border-radius:var(--r-card);padding:clamp(18px,3vw,28px)}
.panel-in{display:grid;gap:20px}
.fr-vid{width:100%;aspect-ratio:760/476;object-fit:contain;border-radius:12px;background:#fff}
.panel-txt{display:grid;gap:12px;align-content:start}
.panel .fam{font-size:.9375rem;font-weight:600;color:var(--red-text)}
.panel .nm{font-size:clamp(1.6rem,1.2rem + 1.4vw,2.25rem);font-weight:650;font-stretch:112%;letter-spacing:-.02em;line-height:1.02}
.panel .by{color:var(--muted);font-size:.9375rem}
.panel .desc{color:var(--muted)}
.int{display:flex;align-items:center;gap:12px;font-size:.9375rem;color:var(--muted)}
.int-dots{display:flex;gap:6px}
.int-dots i{width:12px;height:12px;border-radius:50%;border:2px solid var(--line-2)}
.int-dots i.on{background:var(--red);border-color:var(--red)}
.swap{animation:swap .4s var(--ease)}
@keyframes swap{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media (min-width:640px){.slots{grid-template-columns:repeat(4,1fr)}}
@media (min-width:1000px){
  .vend{grid-template-columns:1fr 1fr;gap:20px;align-items:stretch}
  .slots{grid-template-columns:repeat(2,1fr)}
}

/* Schede fragranza (pagina fragranze) */
.fr-list{display:grid;gap:16px}
.fr-card{background:var(--raise);border-radius:var(--r-card);padding:24px;display:grid;gap:12px;align-content:start}
.fr-card .code{font-size:.875rem;font-weight:600;color:var(--muted);font-variant-numeric:tabular-nums}
.fr-card .house{display:block;font-size:.9375rem;font-weight:400;font-stretch:100%;color:var(--muted);letter-spacing:0;margin-top:4px}
.fr-card p{color:var(--muted)}
@media (min-width:760px){.fr-list{grid-template-columns:1fr 1fr}}

/* ---------- Location ---------- */
.locs{display:grid;gap:28px 12px}
.locs-4{grid-template-columns:1fr 1fr}
.loc{display:grid;gap:14px;align-content:start}
.loc-media{position:relative;border-radius:var(--r-card);overflow:hidden;aspect-ratio:3/4;background:var(--raise)}
.loc-media > img,.loc-media > video{width:100%;height:100%;object-fit:cover}
.loc-media.plate{background:#fff;padding:12%;display:grid;place-items:center}
.loc-media.plate > img{object-fit:contain;height:auto;max-width:240px}
.loc-city{font-size:.9375rem;color:var(--muted)}
.loc .h3{margin-top:4px}
.loc p{color:var(--muted)}
@media (min-width:640px){.locs{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1000px){.locs-4{grid-template-columns:repeat(4,1fr)}}

/* Location in pagina dedicata: righe larghe */
.loc-rows{display:grid;gap:clamp(56px,8vw,112px)}
.loc-row{display:grid;gap:24px;align-items:center}
.loc-row .loc-media{aspect-ratio:4/5;width:100%;max-width:480px}
.loc-row .body{margin-top:16px}
@media (min-width:860px){
  .loc-row{grid-template-columns:.8fr 1.2fr;gap:clamp(40px,6vw,96px)}
  .loc-row:nth-child(even){grid-template-columns:1.2fr .8fr}
  .loc-row:nth-child(even) > .loc-media{order:2;justify-self:end}
}

/* Location invernali: la boccetta che si riempie */
.winter{
  margin-top:clamp(72px,9vw,128px);background:var(--raise);border-radius:24px;border:1px solid var(--line);
  padding:clamp(32px,5vw,64px);display:grid;gap:28px;align-items:center;justify-items:center;text-align:center;
}
.winter-title{font-size:clamp(1.5rem,1rem + 2vw,2.6rem);font-weight:700;font-stretch:118%;letter-spacing:.005em;line-height:1.08;text-transform:uppercase;max-width:20ch}
.winter .small{margin-top:14px;max-width:48ch}
.bottle{width:clamp(104px,14vw,140px);height:auto;overflow:visible}
.bottle .glass{fill:rgba(242,241,247,.04);stroke:var(--text);stroke-width:2.5}
.bottle .cap{fill:var(--text)}
.bottle .collar{fill:#5A5A60}
.bottle .liquid{fill:var(--red)}
.bottle .shine{fill:none;stroke:rgba(255,255,255,.4);stroke-width:2.5;stroke-linecap:round}
.bottle .fill{transform:translateY(100%);animation:fill 4.2s cubic-bezier(.45,.05,.35,1) infinite}
.bottle .wave{animation:wave 1.4s linear infinite}
.bottle .mist circle{fill:var(--red-text);opacity:0;animation:mist 4.2s ease-out infinite}
.bottle .mist circle:nth-child(2){animation-delay:.1s}
.bottle .mist circle:nth-child(3){animation-delay:.2s}
@keyframes fill{0%{transform:translateY(100%)}72%,90%{transform:translateY(6%)}100%{transform:translateY(6%)}}
@keyframes wave{to{transform:translateX(-40px)}}
@keyframes mist{0%,74%{opacity:0;transform:none}80%{opacity:.9}100%{opacity:0;transform:translate(-16px,-12px) scale(1.7)}}
@media (min-width:760px){
  .winter{grid-template-columns:auto 1fr;justify-items:start;text-align:left;gap:56px}
}

/* ---------- Servizi: griglia a tessere ---------- */
.bento{display:grid;gap:16px}
.tile{
  position:relative;border-radius:var(--r-card);overflow:hidden;background:var(--raise);
  padding:28px;min-height:300px;display:flex;flex-direction:column;justify-content:flex-end;gap:10px;
  text-decoration:none;isolation:isolate;
}
.tile p{color:var(--muted);max-width:44ch}
.tile .link{margin-top:6px;align-self:flex-start}
.tile-img{position:absolute;inset:0;z-index:-1}
.tile-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.tile-img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,10,11,0) 15%,rgba(10,10,11,.94) 80%)}
.tile.has-img p{color:#D9D8E8}
a.tile:hover .tile-img img{transform:scale(1.03)}
.tile-red{background:var(--red)}
.tile-red p{color:rgba(255,255,255,.9)}
.tile-red .link{text-decoration-color:#fff}
.tile-red .link:hover{color:#fff}
@media (min-width:760px){
  .bento{grid-template-columns:repeat(3,1fr);grid-auto-rows:minmax(320px,auto)}
  .tile.span-2{grid-column:span 2}
}

/* Servizi: blocchi della pagina dedicata */
.svc{display:grid;gap:32px;align-items:center}
.pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px;list-style:none;padding:0}
.pills li{border:1px solid var(--line-2);border-radius:var(--r-pill);padding:6px 14px;font-size:.9375rem;color:var(--muted)}
@media (min-width:900px){
  .svc{grid-template-columns:1fr 1fr;gap:clamp(48px,7vw,112px)}
  .svc.flip .svc-media{order:2}
}
.pair{display:grid;gap:16px}
.pair-card{background:var(--raise);border-radius:var(--r-card);overflow:hidden;display:grid;align-content:start}
.pair-card .media{border-radius:0;aspect-ratio:16/10}
.pair-card .in{padding:clamp(24px,3vw,36px)}
.pair-card .in .body{margin-top:14px}
@media (min-width:860px){.pair{grid-template-columns:1fr 1fr}}

/* ---------- Partner ---------- */
.quote-block{text-align:center;max-width:920px;margin-inline:auto}
.quote{font-size:clamp(1.75rem,1.2rem + 2.4vw,3rem);font-weight:600;font-stretch:108%;letter-spacing:-.02em;line-height:1.12;text-wrap:balance}
.quote-by{margin-top:28px;display:flex;flex-direction:column;align-items:center;gap:20px}
.quote-by img{width:150px;height:auto;opacity:.92}
.quote-block .body{margin:24px auto 0}

/* ---------- Numeri del progetto ---------- */
.facts{display:grid;grid-template-columns:repeat(2,1fr);gap:28px 24px;margin-top:40px;padding-top:32px;border-top:1px solid var(--line)}
.facts b{display:block;font-size:clamp(2rem,1.6rem + 1.4vw,2.75rem);font-weight:700;font-stretch:115%;line-height:1;letter-spacing:-.03em}
.facts span{display:block;margin-top:8px;font-size:.9375rem;color:var(--muted)}
@media (min-width:760px){.facts{grid-template-columns:repeat(4,1fr)}}

.split{display:grid;gap:40px;align-items:center}
@media (min-width:900px){
  .split{grid-template-columns:1fr 1fr;gap:clamp(48px,7vw,112px)}
  .split.flip > :first-child{order:2}
}

/* Caratteristiche della macchina */
.features{display:grid;gap:16px}
.feature{background:var(--raise);border-radius:var(--r-card);padding:24px}
.feature p{color:var(--muted);margin-top:8px}
@media (min-width:700px){.features{grid-template-columns:1fr 1fr}.feature:last-child{grid-column:span 2}}
@media (min-width:1080px){.features{grid-template-columns:repeat(3,1fr)}.feature:last-child{grid-column:auto}.feature:first-child{grid-column:span 2}}

/* ---------- Modulo richiesta ---------- */
.form{background:var(--raise);border:1px solid var(--line);border-radius:24px;padding:clamp(22px,4vw,40px);display:grid;gap:24px}
.chips{border:0;margin:0;padding:0;min-width:0}
.chips legend{font-size:1.0625rem;font-weight:600;padding:0;margin-bottom:12px}
.chips-row{display:flex;flex-wrap:wrap;gap:8px}
.chip{position:relative;cursor:pointer}
.chip input{position:absolute;opacity:0;width:1px;height:1px;margin:0}
.chip span{
  display:inline-flex;align-items:center;min-height:44px;padding:0 18px;border-radius:var(--r-pill);
  border:1px solid var(--line-2);font-weight:500;transition:background-color .2s,border-color .2s,color .2s;
}
.chip:hover span{border-color:var(--text)}
.chip input:checked + span{background:var(--red);border-color:var(--red);color:#fff}
.chip input:focus-visible + span{outline:2px solid var(--red-text);outline-offset:3px}
.need-err{font-size:.9375rem;color:var(--red-text);margin-top:10px}
.fields{display:grid;gap:20px}
.js .fields:not(.show){display:none}
html:not(.js) .js-only,.chips:has(input:checked) .js-only{display:none}
.grid2{display:grid;gap:20px}
@media (min-width:640px){.grid2{grid-template-columns:1fr 1fr}}
.f{display:grid;gap:8px;align-content:start}
.f label{font-size:.9375rem;font-weight:600}
.f .opt{font-weight:400;color:var(--muted)}
.f input,.f textarea{
  width:100%;background:var(--night);border:1px solid var(--line-2);border-radius:var(--r-input);
  padding:12px 14px;min-height:48px;transition:border-color .2s,box-shadow .2s;
}
.f input::placeholder,.f textarea::placeholder{color:#8A8A90}
.f input:focus,.f textarea:focus{outline:0;border-color:var(--red-text);box-shadow:0 0 0 3px rgba(255,77,106,.22)}
.f textarea{resize:vertical;min-height:112px}
.f .err{display:none;font-size:.9375rem;color:var(--red-text)}
.f.invalid .err{display:block}
.f.invalid input,.f.invalid textarea{border-color:var(--red-text)}
.form-foot{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px}
.form-note{font-size:.9375rem;color:var(--muted)}
.form-status{border-radius:var(--r-input);background:rgba(212,20,60,.12);border:1px solid rgba(255,77,106,.45);padding:16px 18px;display:grid;gap:8px}
.done{display:none;gap:14px}
.form.sent .done{display:grid}
.form.sent > :not(.done){display:none}
.done:focus{outline:0}
.hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}

.contact-list{list-style:none;padding:0;border-top:1px solid var(--line)}
.contact-list a{display:flex;justify-content:space-between;flex-wrap:wrap;gap:4px 16px;padding:18px 0;border-bottom:1px solid var(--line);text-decoration:none;font-weight:600}
.contact-list a span{color:var(--muted);font-weight:400}
.contact-list a:hover{color:var(--red-text)}

/* ---------- Footer ---------- */
.ftr{border-top:1px solid var(--line);padding-top:clamp(64px,8vw,104px);padding-bottom:calc(32px + env(safe-area-inset-bottom))}
.ftr-cta{display:grid;gap:28px;align-items:end;padding-bottom:clamp(48px,6vw,72px);border-bottom:1px solid var(--line)}
.ftr-cols{display:grid;gap:32px;padding-block:48px;grid-template-columns:1fr 1fr}
.ftr-cols h2{font-size:.9375rem;font-weight:600;color:var(--muted);margin-bottom:12px}
.ftr-cols ul{list-style:none;padding:0;display:grid}
.ftr-cols a{display:inline-block;padding:7px 0;text-decoration:none;color:var(--text);transition:color .2s}
.ftr-cols a:hover{color:var(--red-text)}
.ftr-about{grid-column:1/-1}
.ftr-about img{width:132px;height:auto;margin-bottom:18px}
.ftr-about p{color:var(--muted);max-width:36ch}
.ftr-btm{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding-top:24px;border-top:1px solid var(--line);font-size:.9375rem;color:var(--muted)}
.ftr-btm a{color:var(--muted);text-underline-offset:4px}
.ftr-btm a:hover{color:var(--text)}
.ftr-anna{display:inline-flex;align-items:center;gap:10px}
.ftr-anna img{width:84px;height:auto;opacity:.85}
@media (min-width:860px){
  .ftr-cta{grid-template-columns:1fr auto}
  .ftr-cols{grid-template-columns:1.6fr 1fr 1fr 1fr}
  .ftr-about{grid-column:auto}
}

/* ---------- Pagine legali ---------- */
.legal{display:grid;gap:48px}
.legal-toc ol{list-style:none;padding:0;margin-top:12px;display:grid;gap:2px}
.legal-toc a{display:block;padding:8px 0;color:var(--muted);text-decoration:none}
.legal-toc a:hover{color:var(--text)}
.legal-body{max-width:68ch;display:grid}
.legal-body article{padding-block:32px;border-top:1px solid var(--line)}
.legal-body article:first-child{border-top:0;padding-top:0}
.legal-body h2{margin-bottom:16px}
.legal-body p,.legal-body li{color:var(--muted)}
.legal-body p + p,.legal-body ul + p,.legal-body p + ul{margin-top:14px}
.legal-body ul{padding-left:20px;display:grid;gap:8px}
.legal-body li::marker{color:var(--red-text)}
@media (min-width:900px){
  .legal{grid-template-columns:220px 1fr;gap:80px}
  .legal-toc{position:sticky;top:calc(var(--hdr) + 24px);align-self:start}
}

/* ---------- Movimento ridotto ---------- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
  .bottle .fill{animation:none!important;transform:translateY(40%)!important}
  .bottle .wave,.bottle .mist circle{animation:none!important}
}
