/* ====================================================================
   ItalFire — sito pubblico
   Impostazione: fondo chiaro e caldo, inchiostro quasi nero, un solo
   rosso che porta l'accento. Le fotografie fanno il lavoro pesante,
   la tipografia le tiene insieme.
   ==================================================================== */
:root{
  --rosso:#d21f26;
  --rosso-scuro:#a5141a;
  --rosso-tenue:#fdf1f1;
  --inchiostro:#131316;
  --inchiostro-tenue:#5b5b63;
  --carta:#ffffff;
  --fondo:#faf9f8;
  --bordo:#e7e5e3;
  --nero:#0d0d0f;
  --r:14px;
  --r-grande:22px;
  --ombra:0 1px 2px rgba(19,19,22,.05), 0 12px 32px rgba(19,19,22,.07);
  --ombra-alta:0 2px 6px rgba(19,19,22,.06), 0 28px 60px rgba(19,19,22,.14);
  --sezione:clamp(64px, 9vw, 128px);
  --curva:cubic-bezier(.22,.61,.36,1);
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:88px}
body{
  font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  background:var(--fondo);color:var(--inchiostro);
  line-height:1.6;-webkit-font-smoothing:antialiased;
  font-size:clamp(1rem,.97rem + .16vw,1.075rem);
  overflow-x:hidden;
}
img{max-width:100%;display:block}
a{color:inherit}
button{font:inherit;cursor:pointer;color:inherit}

h1,h2,h3{
  font-family:Archivo,Inter,system-ui,sans-serif;
  font-weight:800;line-height:1.05;letter-spacing:-.03em;
  text-wrap:balance;
}
h1{font-size:clamp(2.6rem,1.6rem + 4.6vw,5.4rem)}
h2{font-size:clamp(2rem,1.4rem + 2.6vw,3.4rem)}
h3{font-size:clamp(1.12rem,1.05rem + .4vw,1.35rem);letter-spacing:-.02em}
p{text-wrap:pretty}

.contenitore{width:min(1200px,100% - 2.5rem);margin-inline:auto}
.contenitore.stretto{width:min(760px,100% - 2.5rem)}
.salta{position:absolute;left:-9999px;top:0;background:var(--nero);color:#fff;padding:12px 18px;z-index:200}
.salta:focus{left:12px;top:12px}

/* ---------- testata ---------- */
.testata{
  position:fixed;inset:0 0 auto;z-index:100;
  padding:16px 0;transition:padding .3s var(--curva),background .3s,box-shadow .3s;
}
.testata::before{
  content:"";position:absolute;inset:0;
  background:linear-gradient(to bottom,rgba(13,13,15,.72),rgba(13,13,15,0));
  transition:opacity .3s;
}
.testata.ancorata{padding:9px 0;background:rgba(255,255,255,.86);
  backdrop-filter:saturate(180%) blur(14px);box-shadow:0 1px 0 var(--bordo)}
.testata.ancorata::before{opacity:0}
.testata-riga{display:flex;align-items:center;gap:28px;position:relative}
.marchio{flex:0 0 auto;line-height:0}
.marchio img{height:38px;width:auto;filter:brightness(0) invert(1);transition:filter .3s}
.testata.ancorata .marchio img{filter:none}

.nav-principale{display:flex;gap:30px;margin-left:auto;font-size:.95rem;font-weight:500}
.nav-principale a{color:#fff;text-decoration:none;position:relative;padding:6px 0;opacity:.88;transition:opacity .2s,color .3s}
.nav-principale a::after{
  content:"";position:absolute;left:0;right:100%;bottom:0;height:2px;
  background:var(--rosso);transition:right .28s var(--curva);
}
.nav-principale a:hover{opacity:1}
.nav-principale a:hover::after{right:0}
.testata.ancorata .nav-principale a{color:var(--inchiostro)}

.testata-azioni{display:flex;align-items:center;gap:14px}
.tel-testata{color:#fff;text-decoration:none;font-weight:600;font-size:.95rem;
  font-variant-numeric:tabular-nums;transition:color .3s}
.testata.ancorata .tel-testata{color:var(--inchiostro)}
.apri-menu{display:none;background:none;border:0;width:42px;height:42px;
  flex-direction:column;justify-content:center;gap:5px;padding:0 8px}
.apri-menu span{display:block;height:2px;background:#fff;border-radius:2px;transition:.3s var(--curva)}
.testata.ancorata .apri-menu span{background:var(--inchiostro)}
.apri-menu[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.apri-menu[aria-expanded="true"] span:nth-child(2){opacity:0}
.apri-menu[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ---------- bottoni ---------- */
.bottone{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  background:var(--rosso);color:#fff;text-decoration:none;font-weight:650;
  padding:13px 26px;border:1px solid var(--rosso);border-radius:999px;
  transition:transform .2s var(--curva),background .2s,box-shadow .2s;
  box-shadow:0 8px 22px rgba(210,31,38,.28);white-space:nowrap;
}
.bottone:hover{background:var(--rosso-scuro);border-color:var(--rosso-scuro);
  transform:translateY(-2px);box-shadow:0 14px 30px rgba(210,31,38,.34)}
.bottone.grande{padding:16px 34px;font-size:1.03rem}
.bottone.piccolo{padding:9px 18px;font-size:.9rem;box-shadow:none}
.bottone.fantasma{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.42);
  color:#fff;box-shadow:none;backdrop-filter:blur(6px)}
.bottone.fantasma:hover{background:rgba(255,255,255,.18);border-color:#fff}
.bottone.pieno{width:100%}

.collegamento{display:inline-flex;align-items:center;gap:7px;color:var(--rosso);
  font-weight:600;text-decoration:none;font-size:.94rem;margin-top:14px}
.collegamento::after{content:"→";transition:transform .2s var(--curva)}
.collegamento:hover::after{transform:translateX(4px)}

/* ---------- sezioni ---------- */
.blocco{padding-block:var(--sezione);position:relative}
.blocco-hero{padding:0}
.blocco+.blocco{padding-top:0}
.blocco-servizi,.blocco-faq{padding-top:var(--sezione)}

.sez-testa{max-width:720px;margin-bottom:clamp(36px,4vw,60px)}
.occhiello{
  font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.16em;
  color:var(--rosso);margin-bottom:14px;display:flex;align-items:center;gap:12px;
}
.occhiello::before{content:"";width:26px;height:2px;background:var(--rosso);flex:none}
.occhiello.chiaro{color:#fff}
.occhiello.chiaro::before{background:var(--rosso)}

/* ---------- copertina ---------- */
.blocco-hero{min-height:min(100svh,860px);display:grid;align-items:center;
  isolation:isolate;overflow:hidden}
.hero-sfondo{position:absolute;inset:0;background-size:cover;background-position:center;
  z-index:-2;transform:scale(1.06);animation:respiro 22s ease-in-out infinite alternate}
@keyframes respiro{to{transform:scale(1.16)}}
/* fiamme animate (assets/fiamme.js): il nero della tela sparisce nello sfondo */
.blocco-hero{background:#0d0d0f}
.hero-fiamme{position:absolute;inset:0;width:100%;height:100%;z-index:-2;
  mix-blend-mode:screen;pointer-events:none}
.con-fiamme .hero-sfondo{display:none}
/* con le fiamme il velo resta scuro dietro al testo ma lascia vedere la base del fuoco */
.con-fiamme .hero-velo{background:
  radial-gradient(120% 80% at 20% 50%,rgba(13,13,15,.85),rgba(13,13,15,.3) 60%,transparent),
  linear-gradient(to top,rgba(13,13,15,.35),transparent 30%,rgba(13,13,15,.55))}
.hero-velo{position:absolute;inset:0;z-index:-1;
  background:
    radial-gradient(120% 80% at 20% 50%,rgba(13,13,15,.9),rgba(13,13,15,.35) 60%,transparent),
    linear-gradient(to top,rgba(13,13,15,.96),rgba(13,13,15,.25) 45%,rgba(13,13,15,.6));
}
.hero-testo{color:#fff;padding-block:clamp(140px,18vh,200px) clamp(90px,12vh,140px);max-width:920px}
.hero-testo h1,.hero-testo h2{
  font-size:clamp(2.6rem,1.6rem + 4.6vw,5.4rem);   /* la misura non dipende dal tag */
  margin-bottom:22px;text-shadow:0 2px 40px rgba(0,0,0,.35);
}
.hero-frase{font-size:clamp(1.05rem,1rem + .5vw,1.3rem);max-width:620px;
  color:rgba(255,255,255,.9);margin-bottom:38px}
.hero-azioni{display:flex;gap:14px;flex-wrap:wrap}

/* ---------- numeri ---------- */
.blocco-numeri{padding-block:0;margin-top:calc(var(--sezione) * -.5)}
.griglia-numeri{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));
  background:var(--nero);color:#fff;border-radius:var(--r-grande);
  padding:clamp(28px,3.5vw,44px);gap:26px;box-shadow:var(--ombra-alta);position:relative;z-index:2;
}
.numero{text-align:center;position:relative}
.numero+.numero::before{content:"";position:absolute;left:-13px;top:10%;bottom:10%;
  width:1px;background:rgba(255,255,255,.14)}
.numero-valore{display:block;font-family:Archivo,sans-serif;font-weight:800;
  font-size:clamp(1.9rem,1.4rem + 1.8vw,2.9rem);letter-spacing:-.03em;line-height:1}
.numero-etichetta{display:block;font-size:.83rem;color:rgba(255,255,255,.6);
  margin-top:8px;text-transform:uppercase;letter-spacing:.08em}

/* ---------- schede servizi ---------- */
.griglia-schede{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:26px}
.scheda{
  background:var(--carta);border:1px solid var(--bordo);border-radius:var(--r-grande);
  overflow:hidden;position:relative;
  transition:transform .35s var(--curva),box-shadow .35s,border-color .35s;
}
.scheda:hover{transform:translateY(-6px);box-shadow:var(--ombra-alta);border-color:transparent}
.scheda-foto{aspect-ratio:16/10;background-size:cover;background-position:center;
  transition:transform .6s var(--curva)}
.scheda:hover .scheda-foto{transform:scale(1.05)}
.scheda-corpo{padding:26px 26px 30px}
.scheda-corpo h3{margin-bottom:10px}
.scheda-corpo p{color:var(--inchiostro-tenue);font-size:.97rem}

/* ---------- settori ---------- */
/* schede indipendenti: con sei voci su quattro colonne, una griglia unica
   lascerebbe due caselle vuote in evidenza */
.griglia-settori{list-style:none;display:grid;
  grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:14px}
.settore{background:var(--carta);border:1px solid var(--bordo);border-radius:var(--r);
  padding:26px 24px;display:flex;gap:16px;position:relative;
  transition:background .3s,border-color .3s,transform .3s var(--curva)}
.settore:hover{background:var(--rosso-tenue);border-color:transparent;transform:translateY(-3px)}
.settore-segno{width:10px;height:10px;border-radius:3px;background:var(--rosso);
  flex:none;margin-top:8px;transition:transform .3s var(--curva)}
.settore:hover .settore-segno{transform:rotate(45deg) scale(1.15)}
.settore h3{margin-bottom:6px}
.settore p{color:var(--inchiostro-tenue);font-size:.93rem}

/* ---------- carosello ---------- */
.carosello{position:relative;--foto:clamp(280px,44vw,660px)}
.carosello-pista{
  display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;
  scroll-behavior:smooth;scrollbar-width:none;-webkit-overflow-scrolling:touch;
  /* il primo e l'ultimo scatto restano centrati rispetto al contenitore */
  padding:4px max(1.25rem,calc((100% - min(1200px,100% - 2.5rem)) / 2)) 26px;
}
.carosello-pista::-webkit-scrollbar{display:none}
.carosello-pista:focus-visible{outline:2px solid var(--rosso);outline-offset:-2px;border-radius:var(--r)}
.carosello-foto{
  flex:0 0 var(--foto);scroll-snap-align:center;margin:0;position:relative;
  aspect-ratio:4/3;border-radius:var(--r-grande);overflow:hidden;background:var(--bordo);
  box-shadow:var(--ombra);
}
.carosello-foto img{width:100%;height:100%;object-fit:cover;
  transition:transform .8s var(--curva),filter .4s;filter:saturate(.94)}
.carosello-foto:hover img{transform:scale(1.05);filter:saturate(1.08)}

.carosello-freccia{
  position:absolute;top:calc(50% - 13px);translate:0 -50%;z-index:3;
  width:52px;height:52px;border-radius:50%;border:1px solid var(--bordo);
  background:rgba(255,255,255,.92);backdrop-filter:blur(10px);
  display:grid;place-items:center;box-shadow:var(--ombra);
  transition:background .2s,transform .2s var(--curva),opacity .2s;
}
.carosello-freccia svg{width:22px;height:22px;fill:none;stroke:var(--inchiostro);
  stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.carosello-freccia:hover{background:var(--rosso);transform:scale(1.06)}
.carosello-freccia:hover svg{stroke:#fff}
.carosello-freccia.indietro{left:max(12px,calc((100% - min(1200px,100% - 2.5rem)) / 2 - 26px))}
.carosello-freccia.avanti{right:max(12px,calc((100% - min(1200px,100% - 2.5rem)) / 2 - 26px))}
.carosello-freccia[disabled]{opacity:.35;pointer-events:none}

.carosello-punti{display:flex;gap:9px;justify-content:center;margin-top:4px}
.carosello-punti button{
  width:9px;height:9px;padding:0;border:0;border-radius:50%;
  background:var(--bordo);transition:background .25s,width .25s var(--curva);
}
.carosello-punti button:hover{background:#c9c6c3}
.carosello-punti button.attivo{background:var(--rosso);width:26px;border-radius:999px}

/* ---------- domande ---------- */
.faq{border-top:1px solid var(--bordo)}
.faq-voce{border-bottom:1px solid var(--bordo);position:relative}
.faq-voce summary{
  list-style:none;cursor:pointer;padding:24px 44px 24px 0;position:relative;
  font-family:Archivo,sans-serif;font-weight:700;font-size:clamp(1.02rem,1rem + .3vw,1.2rem);
  letter-spacing:-.015em;
}
.faq-voce summary::-webkit-details-marker{display:none}
.faq-voce summary::after{
  content:"";position:absolute;right:6px;top:50%;width:13px;height:13px;
  border-right:2px solid var(--rosso);border-bottom:2px solid var(--rosso);
  translate:0 -70%;rotate:45deg;transition:rotate .3s var(--curva)
}
.faq-voce[open] summary::after{rotate:-135deg;translate:0 -30%}
.faq-voce p{padding-bottom:26px;color:var(--inchiostro-tenue);max-width:64ch}

/* ---------- richiamo ---------- */
.blocco-cta{padding-block:0;margin-block:var(--sezione)}
.fascia-cta{
  background:linear-gradient(115deg,var(--nero),#2a1113 60%,#4a1114);
  color:#fff;border-radius:var(--r-grande);padding:clamp(38px,5vw,64px);
  display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap;
  box-shadow:var(--ombra-alta);position:relative;overflow:hidden;
}
.fascia-cta::after{
  content:"";position:absolute;right:-90px;top:-90px;width:320px;height:320px;
  border-radius:50%;background:radial-gradient(circle,rgba(210,31,38,.5),transparent 68%);
}
.fascia-cta h2{margin-bottom:10px}
.fascia-cta p{color:rgba(255,255,255,.78);max-width:52ch}

/* ---------- offerta del mese ----------
   Deve farsi notare senza uscire dalla lingua del sito: fondo scuro,
   un solo rosso, la foto che fa da richiamo. */
.blocco-offerta{padding-block:0;margin-block:var(--sezione)}
.offerta{
  display:grid;grid-template-columns:1.05fr .95fr;align-items:stretch;
  background:linear-gradient(120deg,var(--nero) 0%,#251012 55%,#4a1216 100%);
  color:#fff;border-radius:var(--r-grande);overflow:hidden;position:relative;
  box-shadow:var(--ombra-alta);
}
.offerta::before{
  content:"";position:absolute;left:-140px;top:-140px;width:420px;height:420px;
  border-radius:50%;background:radial-gradient(circle,rgba(210,31,38,.45),transparent 70%);
  pointer-events:none;
}
.offerta-testo{padding:clamp(32px,4vw,60px);position:relative;z-index:2;
  display:flex;flex-direction:column;align-items:flex-start}

.offerta-etichetta{
  font-size:clamp(.82rem,.78rem + .2vw,.95rem);font-weight:800;
  text-transform:uppercase;letter-spacing:.2em;color:var(--rosso);
  display:flex;align-items:center;gap:12px;margin-bottom:18px;line-height:1.2;
}
.offerta-etichetta::before{content:"";width:30px;height:3px;background:var(--rosso);flex:none}

.offerta-titolo{
  font-family:Archivo,sans-serif;font-weight:800;letter-spacing:-.03em;line-height:1.03;
  font-size:clamp(2.1rem,1.5rem + 2.4vw,3.4rem);margin-bottom:16px;text-wrap:balance;
}
.offerta-descrizione{color:rgba(255,255,255,.82);max-width:46ch;margin-bottom:28px}

.offerta-prezzi{display:flex;align-items:baseline;gap:20px;flex-wrap:wrap;margin-bottom:10px}
.prezzo-vecchio{
  font-size:clamp(1.1rem,1rem + .5vw,1.5rem);color:rgba(255,255,255,.55);
  text-decoration:line-through;text-decoration-color:var(--rosso);
  text-decoration-thickness:3px;font-variant-numeric:tabular-nums;
}
.prezzo-nuovo{
  font-family:Archivo,sans-serif;font-weight:800;letter-spacing:-.03em;
  font-size:clamp(2.4rem,1.7rem + 3vw,4rem);line-height:1;
  font-variant-numeric:tabular-nums;
}
.offerta-nota{font-size:.86rem;color:rgba(255,255,255,.55);margin-bottom:28px}
.offerta-testo .bottone{box-shadow:0 10px 30px rgba(210,31,38,.42)}

.offerta-foto{
  background-size:cover;background-position:center;min-height:340px;position:relative;
}
.offerta-foto::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(to right,rgba(37,16,18,.92),rgba(37,16,18,.1) 45%,transparent);
}

/* il bollino con lo sconto: calcolato dai due prezzi, non scritto a mano */
.offerta-bollino{
  position:absolute;top:22px;right:22px;z-index:3;
  width:104px;height:104px;border-radius:50%;display:grid;place-items:center;
  background:var(--rosso);rotate:-12deg;
  box-shadow:0 12px 34px rgba(210,31,38,.5);
  border:3px dashed rgba(255,255,255,.55);
}
.offerta-bollino b{font-family:Archivo,sans-serif;font-size:1.55rem;letter-spacing:-.03em}

/* ---------- contatti ---------- */
.contatti-griglia{display:grid;grid-template-columns:1fr 1.15fr;gap:clamp(28px,4vw,64px);align-items:start}
.contatti-invito{color:var(--inchiostro-tenue);margin-bottom:28px;font-size:1.05rem}
.recapito{display:block;text-decoration:none;padding:18px 0;border-top:1px solid var(--bordo)}
.recapito:last-child{border-bottom:1px solid var(--bordo)}
.recapito-et{display:block;font-size:.74rem;text-transform:uppercase;letter-spacing:.14em;
  color:var(--inchiostro-tenue);margin-bottom:4px}
.recapito-val{display:block;font-family:Archivo,sans-serif;font-weight:700;font-size:1.12rem;
  letter-spacing:-.02em}
a.recapito:hover .recapito-val{color:var(--rosso)}

.modulo{background:var(--carta);border:1px solid var(--bordo);border-radius:var(--r-grande);
  padding:clamp(24px,3vw,38px);box-shadow:var(--ombra)}
.campo{margin-bottom:18px}
.campo label{display:block;font-size:.84rem;font-weight:600;margin-bottom:7px}
.modulo input,.modulo textarea{
  width:100%;padding:13px 15px;border:1px solid var(--bordo);border-radius:12px;
  background:var(--fondo);font:inherit;color:inherit;transition:border-color .2s,box-shadow .2s,background .2s;
}
.modulo input:focus,.modulo textarea:focus{
  outline:none;border-color:var(--rosso);background:var(--carta);
  box-shadow:0 0 0 4px rgba(210,31,38,.1)
}
.modulo textarea{resize:vertical;min-height:120px}
.coppia{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.consenso{display:flex;gap:10px;align-items:flex-start;font-size:.86rem;
  color:var(--inchiostro-tenue);margin-bottom:20px}
.consenso input{width:auto;margin-top:3px;accent-color:var(--rosso)}
.consenso a{color:var(--rosso)}
.nascosto-ai-vivi{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.esito-modulo{margin-top:14px;font-size:.9rem;min-height:1.2em}
.esito-modulo.ok{color:#0a7d3f}
.esito-modulo.ko{color:var(--rosso)}

/* ---------- piede ---------- */
.pie{background:var(--nero);color:rgba(255,255,255,.72);padding-top:clamp(48px,6vw,80px);margin-top:var(--sezione)}
.pie-griglia{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px;padding-bottom:44px}
.pie-logo{filter:brightness(0) invert(1);opacity:.9;margin-bottom:16px}
.pie-frase{max-width:34ch}
.pie-cert{margin-top:12px;font-size:.82rem;color:rgba(255,255,255,.45)}
.pie h3{font-size:.78rem;text-transform:uppercase;letter-spacing:.14em;color:#fff;margin-bottom:14px}
.pie p{margin-bottom:7px;font-size:.94rem}
.pie a{color:inherit;text-decoration:none}
.pie a:hover{color:#fff}
.pie-basso{border-top:1px solid rgba(255,255,255,.1);padding-block:22px;
  display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:.86rem;
  color:rgba(255,255,255,.45)}
.pie-accedi,.pie-utente a{color:rgba(255,255,255,.45)}

/* ---------- prosa ---------- */
.prosa p{margin-bottom:1.1em;color:var(--inchiostro-tenue)}
.prosa p:first-child{font-size:1.1rem;color:var(--inchiostro)}

/* ---------- comparsa allo scorrimento ---------- */
.rivela{opacity:0;transform:translateY(26px);
  transition:opacity .7s var(--curva),transform .7s var(--curva)}
.rivela.dentro{opacity:1;transform:none}
.griglia-schede .rivela:nth-child(2),.griglia-settori .rivela:nth-child(2){transition-delay:.08s}
.griglia-schede .rivela:nth-child(3),.griglia-settori .rivela:nth-child(3){transition-delay:.16s}
.griglia-settori .rivela:nth-child(4){transition-delay:.24s}
.griglia-settori .rivela:nth-child(5){transition-delay:.32s}
.griglia-settori .rivela:nth-child(6){transition-delay:.4s}

/* ---------- barra telefono su mobile ---------- */
.barra-mobile{display:none}

@media (max-width:960px){
  .contatti-griglia{grid-template-columns:1fr}
  .pie-griglia{grid-template-columns:1fr 1fr}
}

@media (max-width:760px){
  html{scroll-padding-top:72px}
  .apri-menu{display:flex}
  .tel-testata{display:none}
  .testata-azioni .bottone{display:none}
  .nav-principale{
    position:fixed;inset:0 0 auto;top:0;padding:88px 26px 32px;
    background:rgba(13,13,15,.97);backdrop-filter:blur(16px);
    flex-direction:column;gap:4px;margin:0;
    transform:translateY(-102%);transition:transform .4s var(--curva);
  }
  .nav-principale.aperto{transform:none}
  .nav-principale a{color:#fff!important;font-size:1.5rem;font-family:Archivo,sans-serif;
    font-weight:700;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.08)}
  .offerta{grid-template-columns:1fr}
  .offerta-foto{min-height:240px;order:-1}
  .offerta-foto::after{background:linear-gradient(to top,rgba(37,16,18,.95),transparent 60%)}
  .offerta-bollino{width:84px;height:84px;top:16px;right:16px}
  .offerta-bollino b{font-size:1.2rem}
  .offerta-testo .bottone{width:100%}
  .carosello-freccia{display:none}
  .carosello{--foto:min(86vw,420px)}
  .hero-testo{padding-block:130px 120px}
  .hero-azioni{flex-direction:column;align-items:stretch}
  .hero-azioni .bottone{width:100%}
  .griglia-numeri{grid-template-columns:repeat(2,1fr);gap:24px}
  .numero+.numero::before{display:none}
  .coppia{grid-template-columns:1fr}
  .pie-griglia{grid-template-columns:1fr;gap:32px}
  .fascia-cta{flex-direction:column;align-items:flex-start}
  body{padding-bottom:68px}
  .barra-mobile{
    display:grid;grid-template-columns:1fr 1fr;gap:10px;
    position:fixed;inset:auto 0 0;z-index:99;padding:10px 14px calc(10px + env(safe-area-inset-bottom));
    background:rgba(255,255,255,.94);backdrop-filter:blur(14px);border-top:1px solid var(--bordo);
  }
  .barra-mobile .bottone{width:100%;padding:13px;box-shadow:none}
  .barra-mobile .scuro{background:var(--nero);border-color:var(--nero)}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;
    transition-duration:.01ms!important;scroll-behavior:auto!important}
  .rivela{opacity:1;transform:none}
}
