/* La Mongolfiera — direzione «Vetrata». Carta crema, bordeaux del menu, azzurro della vetrata, arancio della mongolfiera solo come accento, linee «a piombo». */

@font-face{font-family:"Bodoni Moda";font-style:normal;font-weight:400 600;font-stretch:100%;font-display:swap;src:url(../fonts/lm-bodoni.woff2) format("woff2")}
@font-face{font-family:"Bodoni Moda";font-style:italic;font-weight:400 500;font-display:swap;src:url(../fonts/lm-bodoni-italic.woff2) format("woff2")}
@font-face{font-family:"Figtree";font-style:normal;font-weight:400 700;font-display:swap;src:url(../fonts/lm-figtree.woff2) format("woff2")}

:root{
	--carta:#faf6ee;--carta-2:#f3ecdf;--bianco:#fffdf9;
	--bordeaux:#961e32;--bordeaux-scuro:#6e1424;
	--cielo:#d7e8ef;--cielo-2:#a9cfe0;
	--arancio:#e8742a;--arancio-testo:#a8480a;
	--piombo:#1f1b1b;--inchiostro:#2b2323;--grigio:#5e5451;--filo:#d9cdbd;
	--titoli:"Bodoni Moda","Bodoni 72","Didot",Georgia,serif;
	--testo:"Figtree",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
	--piombo-w:3px;
	--r-pallone:999px 999px 0 0/60% 60% 0 0;
	--gutter:clamp(1.15rem,4vw,3rem);
	--max:76rem;
	--sez:clamp(4.5rem,10vw,8.5rem);
	--t-xs:clamp(.8rem,.77rem + .15vw,.875rem);
	--t-s:clamp(.9rem,.87rem + .15vw,.98rem);
	--t-m:clamp(1.02rem,.98rem + .2vw,1.13rem);
	--t-l:clamp(1.2rem,1.08rem + .6vw,1.55rem);
	--h3:clamp(1.35rem,1.2rem + .75vw,1.9rem);
	--h2:clamp(2.1rem,1.55rem + 2.6vw,3.9rem);
	--h1:clamp(3rem,1.6rem + 7vw,7.6rem);
	--ease:cubic-bezier(.22,.7,.2,1);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:5.5rem}
body{font-optical-sizing:auto;margin:0;background:var(--carta);color:var(--inchiostro);font:400 var(--t-m)/1.65 var(--testo);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
img,svg,video{display:block;max-width:100%;height:auto}
a{color:var(--bordeaux);text-decoration-thickness:1px;text-underline-offset:.2em}
a:hover{color:var(--bordeaux-scuro)}
:focus-visible{outline:2px solid var(--bordeaux);outline-offset:3px;border-radius:2px}
h1,h2,h3,h4{font-family:var(--titoli);font-weight:500;line-height:1.08;margin:0;color:var(--inchiostro);overflow-wrap:normal;hyphens:manual;letter-spacing:-.01em}
p{margin:0 0 1em}
button{font:inherit}
.vis-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.salta{position:absolute;left:1rem;top:-4rem;z-index:100;background:var(--piombo);color:var(--carta);padding:.7rem 1rem;border-radius:0 0 .4rem .4rem}
.salta:focus{top:0}
.nw{white-space:nowrap}
.wrap{width:min(100% - 2*var(--gutter),var(--max));margin-inline:auto}
.wrap--stretto{max-width:52rem}

/* Tipografia di servizio */
.occhiello{display:inline-flex;align-items:center;gap:.6em;font:600 var(--t-xs)/1.2 var(--testo);letter-spacing:.16em;text-transform:uppercase;color:var(--bordeaux);margin:0 0 1.1rem}
.occhiello::before{content:"";width:2.2rem;height:var(--piombo-w);background:var(--piombo)}
.occhiello--chiaro{color:var(--cielo-2)}
.occhiello--chiaro::before{background:var(--cielo-2)}
.titolo-sez{font-size:var(--h2);margin-bottom:1.2rem}
.titolo-sez em{font-style:italic;color:var(--bordeaux)}
.lead{font-size:var(--t-l);line-height:1.5;color:var(--grigio);max-width:38rem}

/* Pulsanti a pallone */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6em;min-height:3rem;padding:.8rem 1.5rem;border:2px solid var(--bordeaux);border-radius:999px;background:var(--bordeaux);color:var(--carta);font:600 var(--t-s)/1.1 var(--testo);letter-spacing:.02em;text-decoration:none;cursor:pointer;transition:background-color .25s var(--ease),color .25s var(--ease),border-color .25s var(--ease),transform .25s var(--ease)}
.btn:hover{background:var(--bordeaux-scuro);border-color:var(--bordeaux-scuro);color:var(--carta);transform:translateY(-2px)}
.btn:active{transform:none}
.btn--vuoto{background:transparent;color:var(--bordeaux)}
.btn--vuoto:hover{background:var(--bordeaux);color:var(--carta);border-color:var(--bordeaux)}
.btn--chiaro{background:var(--carta);border-color:var(--carta);color:var(--bordeaux-scuro)}
.btn--chiaro:hover{background:transparent;color:var(--carta);border-color:var(--carta)}
.btn svg{width:1.1em;height:1.1em;flex:none}

/* Testata */
.testata{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--carta) 94%,transparent);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:var(--piombo-w) solid var(--piombo)}
.testata__in{display:flex;align-items:center;gap:1.5rem;min-height:4.6rem}
.marchio{display:inline-flex;align-items:center;gap:.55rem;color:var(--inchiostro);text-decoration:none;margin-right:auto}
.marchio__logo{display:block;width:154px;height:58px;max-width:none}
.marchio:hover .marchio__logo{opacity:.85}
.nav__lista{display:flex;gap:clamp(1rem,2vw,2rem);list-style:none;margin:0;padding:0}
.nav__lista a{position:relative;color:var(--inchiostro);text-decoration:none;font:500 var(--t-s)/1 var(--testo);padding:.6rem 0;display:inline-block}
.nav__lista a::after{content:"";position:absolute;left:0;right:0;bottom:.2rem;height:2px;background:var(--arancio);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}
.nav__lista a:hover::after,.nav__lista a:focus-visible::after{transform:scaleX(1)}
.nav__lista a:hover{color:var(--bordeaux)}
.testata .btn{min-height:2.75rem;padding:.6rem 1.15rem}
.nav-apri{display:none;align-items:center;justify-content:center;width:3rem;height:3rem;border:2px solid var(--piombo);border-radius:50%;background:transparent;color:var(--inchiostro);cursor:pointer}
.nav-apri svg{width:1.2rem}
@media (max-width:62rem){
	.nav-apri{display:inline-flex}
	.testata .btn__testo{display:none}
	.testata .btn{width:3rem;height:3rem;padding:0}
	.nav{position:absolute;inset:100% 0 auto 0;background:var(--carta);border-bottom:var(--piombo-w) solid var(--piombo);display:none}
	.nav.aperta{display:block}
	.nav__lista{flex-direction:column;gap:0;padding:.5rem var(--gutter) 1.25rem}
	.nav__lista a{display:block;padding:.95rem 0;font-size:var(--t-l);font-family:var(--titoli);border-bottom:1px solid var(--filo)}
	.nav__lista a::after{display:none}
}
.nav-apri[hidden]{display:none}
.no-js .nav{position:static;display:block}
@media (max-width:62rem){
	.no-js .testata__in{flex-wrap:wrap}
	.no-js .nav{order:3;flex-basis:100%;border:0;background:none}
	.no-js .nav__lista{flex-direction:row;overflow-x:auto;gap:1.2rem;padding:0 0 .6rem}
	.no-js .nav__lista a{font:500 var(--t-s)/1 var(--testo);border:0;padding:.5rem 0;white-space:nowrap}
}

/* Apertura */
.apertura{padding-top:clamp(2.5rem,7vw,5.5rem);overflow:hidden}
.apertura__testo{display:grid;gap:1.6rem;grid-template-columns:minmax(0,1fr);align-items:end}
@media (min-width:56rem){.apertura__testo{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:3rem}}
.apertura h1{font-size:min(var(--h1),calc(100cqi / 6.2));line-height:.95;font-weight:500;letter-spacing:-.025em}
.apertura__titolo{container-type:inline-size}
.apertura h1 .riga{display:block}
.apertura h1 em{font-style:italic;color:var(--bordeaux);padding-right:.05em}
.apertura__dal{display:inline-flex;align-items:center;gap:.65rem;font:italic 400 var(--t-l)/1 var(--titoli);color:var(--arancio-testo);margin-top:1.1rem}
.apertura__dal::before{content:"";width:2.6rem;height:var(--piombo-w);background:var(--arancio)}
.apertura__lato .lead{margin-bottom:1.6rem}
.azioni{display:flex;flex-wrap:wrap;gap:1rem .8rem}
.vetrata{position:relative;margin:clamp(2.5rem,6vw,4.5rem) 0 0;border-block:var(--piombo-w) solid var(--piombo);background:var(--piombo);overflow:hidden}
.vetrata picture,.vetrata img{width:100%;height:clamp(15rem,44vw,39rem);object-fit:cover;object-position:50% 45%}
.vetrata figcaption{position:absolute;right:var(--gutter);bottom:1rem;background:var(--piombo);color:var(--carta);font:italic 400 var(--t-xs)/1.3 var(--titoli);padding:.4rem .8rem;border-radius:999px}

/* Fascia di cielo: orari, indirizzo, telefono */
.cielo{background:var(--cielo);border-bottom:var(--piombo-w) solid var(--piombo)}
.info{display:grid;grid-template-columns:minmax(0,1fr);list-style:none;margin:0;padding:0}
.info li{padding:1.5rem 0;display:grid;gap:.45rem;align-content:start}
.info li+li{border-top:1px solid rgb(31 27 27 / .18)}
@media (min-width:48rem){
	.info{grid-template-columns:repeat(3,minmax(0,1fr))}
	.info li{padding:2rem clamp(1rem,3vw,2.5rem)}
	.info li:first-child{padding-left:0}
	.info li+li{border-top:0;border-left:var(--piombo-w) solid var(--piombo)}
}
.info__et{font:600 var(--t-xs)/1.2 var(--testo);letter-spacing:.14em;text-transform:uppercase;color:var(--bordeaux-scuro)}
.info__val{font:500 var(--t-l)/1.3 var(--titoli);color:var(--inchiostro)}
.info__val a{color:inherit;text-decoration:none}
.info__val a:hover{color:var(--bordeaux)}
.info__nota{font-size:var(--t-s);color:var(--grigio)}

/* Sezioni */
.sez{padding-block:var(--sez)}
.sez--carta2{background:var(--carta-2)}
.sez--piombo{background:var(--piombo);color:var(--carta)}
.sez--piombo h2,.sez--piombo h3{color:var(--carta)}
.sez__testa{max-width:44rem;margin-bottom:clamp(2.2rem,5vw,3.6rem)}
.sez__testa--centro{margin-inline:auto;text-align:center}
.sez__testa--centro .occhiello{justify-content:center}
.linea-piombo{height:var(--piombo-w);background:var(--piombo);border:0;margin:0}

/* Cornice a pallone */
.pallone{position:relative;border-radius:var(--r-pallone);overflow:hidden;border:var(--piombo-w) solid var(--piombo);background:var(--cielo)}
.pallone img{width:100%;height:100%;object-fit:cover}

/* Storia */
.storia{display:grid;gap:clamp(2.5rem,6vw,5rem);grid-template-columns:minmax(0,1fr);align-items:center}
@media (min-width:56rem){.storia{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}}
.storia__foto{aspect-ratio:4/5;max-width:30rem;width:100%;margin-inline:auto}
.storia__foto img{object-position:30% 50%}
.storia__testo p{font-size:var(--t-m)}
.firma{font:italic 400 var(--t-l)/1.35 var(--titoli);color:var(--bordeaux);margin-top:1.6rem}
.firma small{display:block;font:500 var(--t-xs)/1.4 var(--testo);letter-spacing:.14em;text-transform:uppercase;color:var(--grigio);margin-top:.4rem}

.citazione{margin:0;text-align:center;padding-block:clamp(3.5rem,8vw,6rem);position:relative}
.citazione p{font:italic 400 clamp(1.6rem,1.1rem + 2.4vw,3.2rem)/1.2 var(--titoli);color:var(--bordeaux);max-width:48rem;margin:0 auto;text-wrap:balance}
.citazione footer{margin-top:1.5rem;font:600 var(--t-xs)/1.2 var(--testo);letter-spacing:.14em;text-transform:uppercase;color:var(--grigio)}
.citazione__pallone{width:2rem;height:auto;margin:0 auto 1.4rem}

/* Specialità */
.special{display:grid;gap:clamp(3rem,7vw,6rem)}
.special__blocco{display:grid;gap:clamp(1.8rem,4vw,3.5rem);grid-template-columns:minmax(0,1fr);align-items:center}
@media (min-width:56rem){
	.special__blocco{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}
	.special__blocco--inv .special__foto{order:2}
}
.special__foto{display:grid;gap:.8rem;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}
.special__foto .pallone:first-child{grid-row:span 2;aspect-ratio:3/4}
.special__foto .pallone:not(:first-child){aspect-ratio:1}
.special__foto .pallone:not(:first-child){border-radius:1rem}
.special h3{font-size:var(--h2);margin-bottom:1.4rem}
.special h3 em{font-style:italic;color:var(--bordeaux)}
.prezzo-tag{display:inline-flex;align-items:baseline;gap:.5rem;margin:0 0 1.4rem;padding:.45rem 1rem;border:2px solid var(--arancio);border-radius:999px;font:500 var(--t-s)/1.2 var(--testo);color:var(--inchiostro)}
.prezzo-tag strong{font:italic 500 var(--t-l)/1 var(--titoli);color:var(--arancio-testo)}
.elenco-breve{list-style:none;margin:0 0 1.6rem;padding:0;border-top:1px solid var(--filo)}
.elenco-breve li{display:flex;gap:1rem;justify-content:space-between;align-items:baseline;padding:.7rem 0;border-bottom:1px solid var(--filo)}
.elenco-breve span{min-width:0}
.elenco-breve small{display:block;color:var(--grigio);font-style:italic;font-size:var(--t-s)}
.elenco-breve b{font:500 var(--t-l)/1 var(--titoli);color:var(--arancio-testo);white-space:nowrap}
.nota-sale{font-size:var(--t-s);color:var(--grigio);border-left:var(--piombo-w) solid var(--cielo-2);padding-left:1rem;margin:0 0 1.6rem}

/* Il menu: una carta vera */
.carta{background:var(--bianco);border:var(--piombo-w) solid var(--piombo);border-radius:clamp(1.5rem,5vw,3rem) clamp(1.5rem,5vw,3rem) 0 0;padding:clamp(1.3rem,4vw,3.5rem);box-shadow:0 1.5rem 3rem -2rem rgb(31 27 27 / .35)}
.schede{display:flex;gap:.5rem;overflow-x:auto;scrollbar-width:thin;margin:0 calc(-1*clamp(1.3rem,4vw,3.5rem)) clamp(1.5rem,4vw,2.6rem);padding:0 clamp(1.3rem,4vw,3.5rem) .6rem;border-bottom:1px solid var(--filo);scroll-snap-type:x proximity}
.schede[hidden]{display:none}
.scheda{flex:none;scroll-snap-align:start;min-height:2.75rem;padding:.55rem 1.1rem;border:2px solid transparent;border-radius:999px;background:transparent;color:var(--inchiostro);font:500 var(--t-s)/1.1 var(--testo);cursor:pointer;transition:background-color .2s,color .2s,border-color .2s}
.scheda:hover{border-color:var(--filo)}
.scheda[aria-selected="true"]{background:var(--bordeaux);color:var(--carta);border-color:var(--bordeaux)}
.pannello+.pannello{margin-top:clamp(2.5rem,6vw,4rem)}
.js .schede:not([hidden])~.pannello+.pannello{margin-top:0}
.pannello__titolo{font-size:var(--h3);text-align:center;margin-bottom:.9rem}
.pannello__cit{text-align:center;font:italic 400 var(--t-m)/1.4 var(--titoli);color:var(--bordeaux);margin:0 auto 1.8rem;max-width:36rem;text-wrap:balance}
.pannello__cit cite{display:block;font:500 var(--t-xs)/1.4 var(--testo);font-style:normal;letter-spacing:.12em;text-transform:uppercase;color:var(--grigio);margin-top:.3rem}
.gruppo__titolo{font:italic 500 var(--t-l)/1.2 var(--titoli);color:var(--bordeaux);text-align:center;margin:2.4rem 0 .6rem;display:flex;align-items:center;gap:1rem}
.gruppo__titolo::before,.gruppo__titolo::after{content:"";flex:1;height:1px;background:var(--filo)}
.piatti{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:minmax(0,1fr);column-gap:clamp(2rem,5vw,4.5rem)}
@media (min-width:60rem){.piatti--2{grid-template-columns:repeat(2,minmax(0,1fr))}}
.piatto{padding:.85rem 0;border-bottom:1px dashed var(--filo);break-inside:avoid}
.piatto__riga{display:flex;align-items:baseline;gap:.5rem}
.piatto__nome{font:500 var(--t-m)/1.35 var(--titoli);color:var(--inchiostro);min-width:0}
.piatto__punti{flex:1;min-width:1.2rem;border-bottom:2px dotted var(--cielo-2);transform:translateY(-.3em)}
.piatto__prezzo{font:500 var(--t-m)/1 var(--titoli);color:var(--arancio-testo);white-space:nowrap}
.piatto__prezzo small{font-size:.8em;margin-left:.1em}
.piatto__det{display:block;font-size:var(--t-s);color:var(--grigio);font-style:italic;margin-top:.15rem}
.allergeni{display:inline-flex;flex-wrap:wrap;gap:.25rem;margin-top:.5rem;padding:0;list-style:none}
.allergeni li{display:inline-grid;place-items:center;min-width:1.35rem;height:1.35rem;padding:0 .3rem;border-radius:999px;background:var(--cielo);color:var(--inchiostro);font:600 .72rem/1 var(--testo)}
.aggiunte{margin:1.2rem 0 0;padding:1rem 1.2rem;border-radius:1rem;background:var(--carta-2);font-size:var(--t-s)}
.aggiunte p{margin:0;display:flex;justify-content:space-between;gap:1rem}
.aggiunte b{color:var(--arancio-testo);font-family:var(--titoli);font-weight:500;white-space:nowrap}
.nota-griglia{max-width:40rem;margin:1.6rem auto 0;text-align:center;font-size:var(--t-s);color:var(--grigio);font-style:italic}
.carta__piede{margin-top:clamp(2rem,5vw,3rem);padding-top:1.6rem;border-top:var(--piombo-w) solid var(--piombo);display:grid;gap:1.4rem;grid-template-columns:minmax(0,1fr)}
@media (min-width:52rem){.carta__piede{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);align-items:start}}
.carta__note{font-size:var(--t-s);color:var(--grigio);margin:0}
.carta__note p{margin:0 0 .5rem}
.carta__note strong{color:var(--inchiostro)}
details.legenda{border:1px solid var(--filo);border-radius:1rem;background:var(--carta);padding:0}
details.legenda summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 1.2rem;font:600 var(--t-s)/1.2 var(--testo);min-height:2.75rem}
details.legenda summary::-webkit-details-marker{display:none}
details.legenda summary::after{content:"+";font:400 1.5rem/1 var(--titoli);color:var(--bordeaux);transition:transform .25s var(--ease)}
details.legenda[open] summary::after{transform:rotate(45deg)}
.legenda ol{margin:0;padding:0 1.2rem 1.1rem 1.2rem;list-style:none;display:grid;gap:.45rem;font-size:var(--t-s)}
@media (min-width:40rem){.legenda ol{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:1.5rem}}
.legenda li{display:flex;gap:.6rem;align-items:baseline}
.legenda li span{flex:none;display:inline-grid;place-items:center;min-width:1.35rem;height:1.35rem;border-radius:999px;background:var(--cielo);font:600 .72rem/1 var(--testo)}
.legenda .nota{padding:0 1.2rem 1.1rem;margin:0;font-size:var(--t-xs);color:var(--grigio)}
.menu-azioni{display:flex;flex-wrap:wrap;gap:1rem .8rem;justify-content:center;margin-top:clamp(2rem,5vw,3rem)}

/* Vini */
.vini{display:grid;gap:clamp(2.5rem,6vw,4rem);grid-template-columns:minmax(0,1fr)}
@media (min-width:64rem){.vini{grid-template-columns:repeat(2,minmax(0,1fr))}}
.vini__testa{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;padding-bottom:.8rem;border-bottom:var(--piombo-w) solid var(--carta)}
.vini h3{font-size:var(--h3);min-width:0}
.vini__col{font:600 var(--t-xs)/1.2 var(--testo);letter-spacing:.12em;text-transform:uppercase;color:var(--cielo-2);display:flex;gap:1rem;white-space:nowrap}
.vini__col span,.vino__prezzi>span{width:5.2rem;text-align:right}
.vini__col{letter-spacing:.08em}
@media (max-width:40rem){
	.vini__col{display:none}
	.vino__riga{flex-direction:column;gap:.75rem}
	.vino__prezzi{gap:1.4rem}
	.vino__prezzi>span{width:auto;text-align:left}
	.vino__prezzi .vis-hidden{position:static!important;width:auto;height:auto;clip:auto;overflow:visible;font:600 var(--t-xs)/1 var(--testo);letter-spacing:.1em;text-transform:uppercase;color:var(--cielo-2);margin-right:.35rem}
}
.vino{padding:1.1rem 0;border-bottom:1px solid rgb(250 246 238 / .16)}
.vino__riga{display:flex;gap:1rem;justify-content:space-between;align-items:baseline}
.vino__nome{font:500 var(--t-l)/1.25 var(--titoli);color:var(--carta);min-width:0;margin:0}
.vino__nome small{display:block;font:500 var(--t-xs)/1.4 var(--testo);letter-spacing:.12em;text-transform:uppercase;color:var(--cielo-2);margin-bottom:.2rem}
.vino__cantina{display:block;font-style:italic;font-size:var(--t-m);color:#e6dccf;margin-top:.1rem}
.vino__prezzi{margin:0;display:flex;gap:1rem;font:500 var(--t-l)/1 var(--titoli);color:#f0883e;white-space:nowrap}
.vino__note{margin:.75rem 0 0;font-size:var(--t-s);color:#c9bfb5;max-width:34rem}
.vino__note b{color:#e6dccf;font-weight:600}
.bollicine{margin-top:clamp(3rem,7vw,5rem);display:grid;gap:2rem;grid-template-columns:minmax(0,1fr)}
@media (min-width:48rem){.bollicine{grid-template-columns:repeat(2,minmax(0,1fr))}}
.bollicine h4{font:italic 500 var(--t-l)/1.2 var(--titoli);color:var(--cielo-2);margin-bottom:.9rem}
.bollicine ul{list-style:none;margin:0;padding:0}
.bollicine li{display:flex;gap:1rem;justify-content:space-between;align-items:baseline;padding:.65rem 0;border-bottom:1px solid rgb(250 246 238 / .16)}
.bollicine li span{min-width:0;color:var(--carta);font-family:var(--titoli);font-size:var(--t-m)}
.bollicine li i{color:#c9bfb5;font-size:var(--t-s)}
.bollicine li b{font:500 var(--t-l)/1 var(--titoli);color:#f0883e;white-space:nowrap}
.sez--piombo .citazione p{color:var(--carta)}
.sez--piombo .citazione footer{color:#c9bfb5}

/* Galleria */
.galleria{display:grid;gap:clamp(.5rem,1.2vw,.9rem);grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:dense}
@media (min-width:48rem){.galleria{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:clamp(9rem,17vw,15rem)}}
.galleria li{list-style:none;min-width:0}
.galleria button{display:block;width:100%;height:100%;padding:0;border:0;background:var(--cielo);cursor:zoom-in;overflow:hidden;border-radius:.8rem;aspect-ratio:1}
@media (min-width:48rem){.galleria button{aspect-ratio:auto}}
.galleria .g-largo{grid-column:span 2}
.galleria .g-alto{grid-row:span 2}
@media (max-width:47.99rem){.galleria .g-largo button{aspect-ratio:16/10}.galleria .g-alto button{aspect-ratio:auto}}
@media (min-width:48rem){.galleria .g-largo button{border-radius:var(--r-pallone)}}
.galleria img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease),filter .4s}
.galleria button:hover img,.galleria button:focus-visible img{transform:scale(1.045)}
.lightbox{border:0;padding:0;background:transparent;max-width:none;max-height:none;width:100vw;height:100dvh;margin:0;color:var(--carta)}
.lightbox::backdrop{background:rgb(20 16 16 / .92)}
.lightbox[open]{display:grid;place-items:center}
.lightbox figure{margin:0;display:grid;gap:.8rem;justify-items:center;padding:4.5rem 1rem 2rem}
.lightbox img{max-width:min(92vw,1600px);max-height:78dvh;width:auto;height:auto;border:var(--piombo-w) solid var(--piombo);border-radius:.6rem}
.lightbox figcaption{font:italic 400 var(--t-m)/1.4 var(--titoli);text-align:center}
.lb-btn{position:fixed;display:grid;place-items:center;width:3rem;height:3rem;border-radius:50%;border:2px solid var(--carta);background:rgb(20 16 16 / .6);color:var(--carta);cursor:pointer}
.lb-btn:hover{background:var(--carta);color:var(--piombo)}
.lb-btn svg{width:1.2rem}
.lb-chiudi{top:1rem;right:1rem}
.lb-prec{left:1rem;top:50%;translate:0 -50%}
.lb-succ{right:1rem;top:50%;translate:0 -50%}

/* Video */
.video{display:grid;gap:clamp(1.2rem,3vw,2rem);grid-template-columns:minmax(0,1fr)}
@media (min-width:48rem){.video{grid-template-columns:repeat(2,minmax(0,1fr))}}
.video figure{margin:0}
.video__box{position:relative;aspect-ratio:16/9;border:var(--piombo-w) solid var(--piombo);border-radius:1rem;overflow:hidden;background:var(--piombo)}
.video__box iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.video__play{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;background:none;cursor:pointer;color:var(--carta)}
.video__play img{width:100%;height:100%;object-fit:cover;opacity:.85;transition:opacity .3s,transform .6s var(--ease)}
.video__play:hover img{opacity:1;transform:scale(1.03)}
.video__icona{position:absolute;left:50%;top:50%;translate:-50% -50%;width:4.4rem;height:4.4rem;border-radius:50%;background:var(--bordeaux);display:grid;place-items:center;box-shadow:0 0 0 .5rem rgb(250 246 238 / .25);transition:transform .3s var(--ease)}
.video__play:hover .video__icona{transform:scale(1.08)}
.video__icona svg{width:1.4rem;margin-left:.2rem}
.video figcaption{margin-top:.9rem;font:500 var(--t-l)/1.3 var(--titoli)}
.video__nota{font-size:var(--t-xs);color:var(--grigio);margin-top:1.4rem}

/* Dove siamo e contatti */
.contatti{display:grid;gap:clamp(2.5rem,6vw,5rem);grid-template-columns:minmax(0,1fr)}
@media (min-width:60rem){.contatti{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}}
.recapiti{list-style:none;margin:0 0 2rem;padding:0;border-top:var(--piombo-w) solid var(--piombo)}
.recapiti li{padding:1.1rem 0;border-bottom:1px solid var(--filo);display:grid;grid-template-columns:7.5rem minmax(0,1fr);gap:1rem}
.recapiti dt,.recapiti .et{font:600 var(--t-xs)/1.6 var(--testo);letter-spacing:.14em;text-transform:uppercase;color:var(--bordeaux-scuro)}
.recapiti .val{font-size:var(--t-m);min-width:0}
.recapiti .val a{overflow-wrap:anywhere}
@media (max-width:30rem){.recapiti li{grid-template-columns:minmax(0,1fr);gap:.4rem}}
.recapiti .val a{color:var(--inchiostro)}
.recapiti .val a:hover{color:var(--bordeaux)}
.social{display:flex;flex-wrap:wrap;gap:1rem .6rem}
.modulo{background:var(--bianco);border:var(--piombo-w) solid var(--piombo);border-radius:clamp(1.5rem,5vw,3rem) clamp(1.5rem,5vw,3rem) 0 0;padding:clamp(1.3rem,4vw,2.8rem)}
.modulo h3{font-size:var(--h3);margin-bottom:1rem}
.modulo>p{color:var(--grigio);font-size:var(--t-s)}
.campi{display:grid;gap:1rem;grid-template-columns:minmax(0,1fr)}
@media (min-width:36rem){.campi{grid-template-columns:repeat(2,minmax(0,1fr))}.campo--pieno{grid-column:1/-1}}
.campo label{display:block;font:600 var(--t-s)/1.3 var(--testo);margin-bottom:.35rem}
.campo input,.campo textarea{width:100%;min-height:3rem;padding:.75rem .95rem;border:1.5px solid #b9ab99;border-radius:.7rem;background:var(--carta);color:var(--inchiostro);font:400 1rem/1.4 var(--testo);transition:border-color .2s,box-shadow .2s}
.campo textarea{min-height:8.5rem;resize:vertical}
.campo input:hover,.campo textarea:hover{border-color:var(--grigio)}
.campo input:focus,.campo textarea:focus{outline:0;border-color:var(--bordeaux);box-shadow:0 0 0 3px rgb(150 30 50 / .18)}
.campo input::placeholder,.campo textarea::placeholder{color:#8a7f79}
.campo input:user-invalid,.campo textarea:user-invalid{border-color:#b3261e}
.campo .aiuto{font-size:var(--t-xs);color:var(--grigio);margin-top:.3rem}
.consenso{display:flex;gap:.7rem;align-items:flex-start;font-size:var(--t-s);margin:.4rem 0 1.2rem}
.consenso input{flex:none;width:1.3rem;height:1.3rem;margin-top:.15rem;accent-color:var(--bordeaux)}
.trappola{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.esito{padding:1rem 1.2rem;border-radius:.8rem;margin-bottom:1.2rem;font-weight:500}
.esito--ok{background:#e3f0e6;color:#1d5b2c;border:1px solid #9cc7a6}
.esito--ko{background:#fbe6e4;color:#8c1d15;border:1px solid #e3a49e}

/* Piede */
.piede{background:var(--piombo);color:#d8cfc4;padding-block:clamp(3rem,7vw,5rem) 2rem;font-size:var(--t-s)}
.piede a{color:var(--carta)}
.piede a:hover{color:#f0883e}
.piede__in{display:grid;gap:2rem;grid-template-columns:minmax(0,1fr)}
@media (min-width:52rem){.piede__in{grid-template-columns:minmax(0,1.4fr) repeat(2,minmax(0,1fr))}}
.piede__nome{font:italic 500 var(--t-l)/1.2 var(--titoli);color:var(--carta);margin:0 0 .8rem}
.piede h2{font:600 var(--t-xs)/1.2 var(--testo);letter-spacing:.14em;text-transform:uppercase;color:var(--cielo-2);margin-bottom:.8rem}
.piede ul{list-style:none;margin:0;padding:0;display:grid;gap:.4rem}
.piede__fondo{margin-top:clamp(2.5rem,6vw,4rem);padding-top:1.4rem;border-top:1px solid rgb(250 246 238 / .16);display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;font-size:var(--t-xs)}

/* La mongolfiera che sale con lo scorrimento */
.sale{position:fixed;right:clamp(.6rem,1.6vw,1.4rem);bottom:1rem;z-index:40;width:1.5rem;pointer-events:none;opacity:.9}
.sale img{width:100%;height:auto}
@supports (animation-timeline:scroll()){
	.sale{animation:salita linear both;animation-timeline:scroll(root)}
	@keyframes salita{from{transform:translateY(0) rotate(-4deg)}50%{transform:translateY(calc(-50vh + 3rem)) rotate(3deg)}to{transform:translateY(calc(-100vh + 8rem)) rotate(-2deg)}}
}
@media (max-width:40rem){.sale{width:1.15rem;opacity:.75}}

/* Comparse morbide e parallasse leggera (solo CSS, solo se il browser le supporta) */
@media (prefers-reduced-motion:no-preference){
	@supports (animation-timeline:view()){
		.compare{animation:compare linear both;animation-timeline:view();animation-range:entry 5% cover 28%}
		@keyframes compare{from{opacity:0;transform:translateY(2.2rem)}to{opacity:1;transform:none}}
		.parallasse img{animation:parallasse linear both;animation-timeline:view();scale:1.12}
		@keyframes parallasse{from{transform:translateY(-4%)}to{transform:translateY(4%)}}
	}
	.apertura__titolo .riga{animation:su 1s var(--ease) both}
	.apertura__titolo .riga+.riga{animation-delay:.12s}
	.apertura__lato{animation:su 1s .25s var(--ease) both}
	@keyframes su{from{opacity:0;transform:translateY(1.2rem)}to{opacity:1;transform:none}}
}
@media (prefers-reduced-motion:reduce){
	html{scroll-behavior:auto}
	*,*::before,*::after{animation:none!important;transition:none!important}
	.sale{display:none}
}

/* Pagine interne (privacy, 404) */
.pagina{padding-block:clamp(3rem,8vw,6rem)}
.pagina h1{font-size:var(--h2);margin-bottom:1.5rem}
.pagina h2{font-size:var(--h3);margin:2rem 0 .8rem}
.pagina .contenuto{max-width:46rem}

@media print{.testata,.sale,.video,.galleria,.modulo,.piede{display:none}.schede{display:none}.pannello[hidden]{display:block!important}body{background:#fff}}
.lightbox:not([open]){display:none}
