
@font-face {
  font-family: "Archivo";
  font-style: normal;
  font-weight: 100 900;
  font-stretch: 62% 125%;
  font-display: swap;
  src: url("../fonts/archivo-latin-wdth-normal.woff2") format("woff2");
  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: "Atkinson Hyperlegible Next";
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  src: url("../fonts/atkinson-hyperlegible-next-latin-wght-normal.woff2") format("woff2");
  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: "Atkinson Hyperlegible Next";
  font-style: italic;
  font-weight: 200 800;
  font-display: swap;
  src: url("../fonts/atkinson-hyperlegible-next-latin-wght-italic.woff2") format("woff2");
  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;
}

:root {
  color-scheme: light;

  
  --carta: #F1F4F3;
  --bianco: #FFFFFF;
  --inchiostro: #0F2B30;
  --grafite: #4A5C5F;
  --isoipsa: #BCCACA;
  --segnale: #1C6B70;
  --segnale-scuro: #14555A;
  --chiaro: #9FD3D3;
  --errore: #A8321E;
  
  

  
  --font-titoli: "Archivo", "Arial Narrow", Arial, sans-serif;
  --font-testo: "Atkinson Hyperlegible Next", Verdana, sans-serif;
  --larghezza-titoli: 118%;

  
  --t-14: 0.875rem;
  --t-18: 1.125rem;
  --t-22: 1.375rem;
  --t-28: 1.75rem;
  --t-35: 2.1875rem;
  --t-44: 2.75rem;
  --t-56: 3.5rem;
  --t-h1: clamp(2.1875rem, 1.4rem + 2.6vw, 3.5rem);

  
  --s1: 4px;  --s2: 8px;  --s3: 12px; --s4: 16px; --s5: 24px;
  --s6: 32px; --s7: 48px; --s8: 64px; --s9: 96px;

  
  --r-campo: 2px;
  --r-pannello: 6px;

  
  --contenuto: 1240px;
  --margine: max(24px, env(safe-area-inset-left, 0px));
  --margine-d: max(24px, env(safe-area-inset-right, 0px));
  --linea: 1px solid var(--isoipsa);
  --linea-forte: 1px solid var(--grafite);
}
@media (max-width: 639px) {
  :root {
    --margine: max(16px, env(safe-area-inset-left, 0px));
    --margine-d: max(16px, env(safe-area-inset-right, 0px));
  }
}

*,*::before,*::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body {
  margin: 0;
  background: var(--carta);
  color: var(--inchiostro);
  font-family: var(--font-testo);
  font-size: var(--t-18);
  line-height: 1.55;
  overflow-wrap: break-word;
}
img,svg { max-width: 100%; }
img { height: auto; display: block; }
[hidden] { display: none !important; }

h1,h2,h3,h4 {
  font-family: var(--font-titoli);
  font-stretch: var(--larghezza-titoli);
  font-weight: 680;
  line-height: 1.15;
  margin: 0;
  text-wrap: balance;
}
h1 { font-size: var(--t-h1); line-height: 1.1; }
h2 { font-size: var(--t-35); }
h3 { font-size: var(--t-22); line-height: 1.2; }
h4 { font-size: var(--t-18); }
@media (max-width: 639px) {
  h2 { font-size: var(--t-28); }
}
p,ul,ol,dl,figure,table { margin: 0; }
p + p { margin-top: var(--s4); }

a { color: var(--segnale); text-decoration-thickness: 1px; text-underline-offset: 0.18em; }
a:hover { color: var(--segnale-scuro); text-decoration-thickness: 2px; }

:focus-visible { outline: 3px solid var(--segnale); outline-offset: 2px; }
main:focus { outline: none; }

.dato,.num { font-family: var(--font-titoli); font-stretch: 100%; font-variant-numeric: tabular-nums; }

.visivamente-nascosto {
  position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}

.salta {
  position: absolute; left: var(--s4); top: -100px; z-index: 100;
  background: var(--inchiostro); color: var(--bianco); padding: var(--s3) var(--s4);
  border-radius: var(--r-campo); text-decoration: none; font-weight: 700;
}
.salta:focus { top: var(--s4); color: var(--bianco); }

.contenitore {
  width: 100%;
  max-width: calc(var(--contenuto) + var(--margine) + var(--margine-d));
  margin-inline: auto;
  padding-left: var(--margine);
  padding-right: var(--margine-d);
}

.testo { max-width: 70ch; }
.testo > * + * { margin-top: var(--s4); }
.testo ul,.testo ol { padding-left: 1.3em; }
.testo li + li { margin-top: var(--s2); }

.sezione { padding-block: var(--s8); }
.sezione + .sezione { border-top: var(--linea); }
.sezione__testa { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: var(--s3) var(--s5); margin-bottom: var(--s6); }
.sezione__testa p { color: var(--grafite); max-width: 60ch; }
@media (max-width: 639px) { .sezione { padding-block: var(--s7); } }

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

.intestazione { background: var(--bianco); border-bottom: var(--linea); position: sticky; top: env(safe-area-inset-top, 0px); z-index: 40; transition: background-color .25s, box-shadow .25s, border-color .25s; }
.intestazione.scorre { box-shadow: 0 6px 24px rgba(15, 43, 48, .08); }
.intestazione__dentro { display: flex; align-items: center; gap: var(--s5); min-height: 92px; padding-block: var(--s3); }
.intestazione__logo { flex: 0 0 auto; display: block; border-radius: var(--r-campo); }
.intestazione__logo img { width: 80px; height: 73px; }
.intestazione__pannello { display: flex; align-items: center; gap: var(--s5); margin-left: auto; }
.intestazione__menu-pulsante { display: none; }

.menu__lista { display: flex; align-items: center; gap: var(--s1); list-style: none; padding: 0; }
.menu__voce { position: relative; display: flex; align-items: center; }
.menu__link {
  display: block; padding: var(--s3) var(--s3); color: var(--inchiostro); text-decoration: none;
  font-family: var(--font-titoli); font-weight: 600; font-size: var(--t-18);
  border-bottom: 3px solid transparent;
}
.menu__link:hover { color: var(--segnale); text-decoration: none; }
.menu__link[aria-current] { border-bottom-color: var(--segnale); }
.menu__apri-sotto {
  display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 40px; margin-left: -6px;
  background: none; border: 0; color: var(--inchiostro); cursor: pointer; border-radius: var(--r-campo);
}
.menu__apri-sotto .icona { width: 18px; height: 18px; transition: transform .15s; }
.menu__apri-sotto[aria-expanded="true"] .icona { transform: rotate(180deg); }
.sottomenu {
  position: absolute; top: 100%; left: 0; min-width: 280px; list-style: none; padding: var(--s2) 0; margin: 0;
  background: var(--bianco); border: var(--linea); border-top: 3px solid var(--segnale); border-radius: 0 0 var(--r-pannello) var(--r-pannello);
  display: none;
}
.js .menu__voce--sotto.aperto .sottomenu { display: block; }
.no-js .menu__voce--sotto:hover .sottomenu,.no-js .menu__voce--sotto:focus-within .sottomenu { display: block; }
.sottomenu a { display: block; padding: var(--s2) var(--s4); color: var(--inchiostro); text-decoration: none; }
.sottomenu a:hover { background: var(--carta); color: var(--segnale); }

.icona { width: 24px; height: 24px; flex: 0 0 auto; }

.lingue { flex: 0 0 auto; }
.lingue__elenco { display: flex; align-items: center; gap: var(--s1); list-style: none; margin: 0; padding: 0; }
.lingue__link {
  display: inline-flex; flex-direction: column; align-items: center; justify-content: center; gap: 5px;
  min-width: 44px; min-height: 44px; padding: 0 var(--s1); color: var(--inchiostro); border-radius: var(--r-campo);
}
.lingue__bandiera { display: block; width: 30px; height: 20px; border-radius: 2px; box-shadow: 0 0 0 1px rgba(15, 43, 48, .35); }
.lingue__link::after { content: ""; display: block; width: 30px; height: 3px; border-radius: 2px; background: transparent; }
.lingue__link[aria-current]::after { background: currentColor; }
.lingue__link:hover .lingue__bandiera { box-shadow: 0 0 0 2px currentColor; }

@media (max-width: 899px) {
  .intestazione__dentro { min-height: 76px; }
  .intestazione__logo img { width: 62px; height: 56px; }
  .js .intestazione__menu-pulsante {
    display: inline-flex; align-items: center; gap: var(--s2); margin-left: auto;
    padding: var(--s2) var(--s3); min-height: 44px; background: var(--bianco); color: var(--inchiostro);
    border: var(--linea-forte); border-radius: var(--r-campo); font: inherit; font-weight: 700; cursor: pointer;
  }
  .intestazione__menu-pulsante .icona-chiudi { display: none; }
  .intestazione__menu-pulsante[aria-expanded="true"] .icona-chiudi { display: block; }
  .intestazione__menu-pulsante[aria-expanded="true"] .icona-apri { display: none; }

  .js .intestazione__pannello {
    display: none; position: absolute; left: 0; right: 0; top: 100%;
    flex-direction: column; align-items: stretch; gap: var(--s4);
    background: var(--bianco); border-bottom: var(--linea-forte);
    padding: var(--s4) var(--margine-d) var(--s5) var(--margine);
    max-height: calc(100vh - 120px); overflow-y: auto;
  }
  .js .intestazione__pannello.aperto { display: flex; }
  .no-js .intestazione__dentro { flex-wrap: wrap; }
  .no-js .intestazione__pannello { flex-direction: column; align-items: stretch; width: 100%; }
  .menu__lista { flex-direction: column; align-items: stretch; gap: 0; }
  .menu__voce { flex-wrap: wrap; border-bottom: var(--linea); }
  .menu__link { flex: 1; padding: var(--s3) 0; border-bottom: 0; }
  .menu__link[aria-current] { border-bottom: 0; box-shadow: inset 4px 0 0 var(--segnale); padding-left: var(--s3); }
  .menu__apri-sotto { width: 44px; height: 44px; }
  .sottomenu { position: static; width: 100%; min-width: 0; border: 0; border-left: 3px solid var(--isoipsa); border-radius: 0; padding: 0 0 var(--s2) var(--s3); }
  .intestazione__cta { align-self: flex-start; }
  .lingue { margin-left: calc(-1 * var(--s3)); }
}

.percorso { padding-top: var(--s5); font-size: var(--t-14); }
.percorso ol { display: flex; flex-wrap: wrap; gap: var(--s1) 0; list-style: none; padding: 0; }
.percorso li { display: flex; align-items: center; }
.percorso li + li::before { content: "›"; margin: 0 var(--s2); color: var(--grafite); }
.percorso a { color: var(--grafite); }
.percorso [aria-current] { color: var(--inchiostro); }

.pie { background: var(--inchiostro); color: var(--carta); margin-top: var(--s9); font-size: var(--t-14); line-height: 1.5; }
.pie a { color: var(--chiaro); }
.pie a:hover { color: var(--bianco); }
.pie :focus-visible { outline-color: var(--chiaro); }
.pie__griglia {
  display: grid; gap: var(--s6) var(--s5); padding-block: var(--s8) var(--s6);
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
}
.pie__colonna { min-width: 0; }
.pie__logo { display: inline-block; border-radius: var(--r-pannello); }
.pie__logo img { width: 132px; height: 120px; }
.pie__frase { margin-top: var(--s4); max-width: 34ch; color: var(--isoipsa); }
.pie__titolo { font-size: var(--t-18); font-stretch: var(--larghezza-titoli); margin-bottom: var(--s3); color: var(--bianco); }
.pie ul { list-style: none; padding: 0; }
.pie__menu li + li,.pie__contatti li + li,.pie__news li + li { margin-top: var(--s2); }
.pie__menu ul { margin-top: var(--s2); padding-left: var(--s3); border-left: 1px solid var(--grafite); }
.pie__contatti li { display: flex; gap: var(--s2); align-items: flex-start; }
.pie__contatti .icona { width: 20px; height: 20px; color: var(--isoipsa); margin-top: 1px; }
.pie__contatti span { min-width: 0; }
.pie__news a { display: block; }
.pie__data { color: var(--isoipsa); }
.pie__legale { border-top: 1px solid var(--grafite); padding-block: var(--s5) var(--s6); display: grid; gap: var(--s3); }
.pie__riga-societaria { color: var(--isoipsa); text-align: center; }
.pie__copyright { color: var(--isoipsa); font-size: var(--t-14); text-align: center; }
.senza-a-capo { white-space: nowrap; }
.pie__link-legali { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--s2) var(--s5); }

@media print {
  .intestazione,.pie,.percorso,.salta { display: none !important; }
  body { background: var(--bianco); }
}

@media (forced-colors: active) {
  .lingue__bandiera { box-shadow: none; outline: 1px solid CanvasText; }
  .lingue__link::after { background: Canvas; forced-color-adjust: none; }
  .lingue__link[aria-current]::after { background: CanvasText; }
  .menu__link { border-bottom-color: Canvas; }
  .menu__link[aria-current] { border-bottom-color: CanvasText; }
}

.pulsante {
  display: inline-flex; align-items: center; justify-content: center; gap: var(--s2);
  min-height: 44px; padding: var(--s2) var(--s5);
  font-family: var(--font-titoli); font-weight: 650; font-size: var(--t-18); line-height: 1.2;
  border-radius: var(--r-campo); border: 2px solid transparent; text-decoration: none; cursor: pointer;
  text-align: center;
}
.pulsante .icona { width: 20px; height: 20px; }
.pulsante--principale { background: var(--segnale); color: var(--bianco); border-color: var(--segnale); }
.pulsante--principale:hover { background: var(--segnale-scuro); border-color: var(--segnale-scuro); color: var(--bianco); text-decoration: none; }
.pulsante--secondario { background: transparent; color: var(--inchiostro); border-color: var(--inchiostro); }
.pulsante--secondario:hover { background: var(--inchiostro); color: var(--bianco); text-decoration: none; }
.pulsante--testo { background: none; border: 0; padding-inline: 0; color: var(--segnale); text-decoration: underline; text-underline-offset: 0.18em; min-height: 44px; }
.pulsante[disabled],.pulsante[aria-disabled="true"] { opacity: .55; cursor: not-allowed; }
.azioni { display: flex; flex-wrap: wrap; gap: var(--s3); align-items: center; }

.campo { display: grid; gap: var(--s2); align-content: start; }
.campo label,.campo legend { font-weight: 700; }
.campo__aiuto { font-size: var(--t-14); color: var(--grafite); }
.campo__errore { font-size: var(--t-14); color: var(--errore); font-weight: 700; }
.campo__errore:empty { display: none; }
input[type="text"],input[type="search"],input[type="email"],input[type="tel"],select,textarea {
  width: 100%; min-height: 48px; padding: var(--s3) var(--s3);
  font: inherit; color: var(--inchiostro); background: var(--bianco);
  border: 1px solid var(--grafite); border-radius: var(--r-campo);
}
textarea { min-height: 160px; resize: vertical; }
select { appearance: none; padding-right: 40px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230F2B30' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 10l5 5 5-5'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 10px center; background-size: 20px; }
input:focus-visible,select:focus-visible,textarea:focus-visible { outline: 3px solid var(--segnale); outline-offset: 1px; border-color: var(--segnale); }
[aria-invalid="true"] { border-color: var(--errore); border-width: 2px; }
.scelta { display: flex; gap: var(--s3); align-items: flex-start; }
.scelta input { width: 22px; height: 22px; margin: 2px 0 0; accent-color: var(--segnale); flex: 0 0 auto; }

.ricerca { display: flex; gap: 0; position: relative; max-width: 560px; }
.ricerca input { border-radius: var(--r-campo) 0 0 var(--r-campo); min-height: 52px; }
.ricerca .pulsante { border-radius: 0 var(--r-campo) var(--r-campo) 0; min-height: 52px; flex: 0 0 auto; }
.suggerimenti {
  position: absolute; left: 0; right: 0; top: 100%; z-index: 30; list-style: none; margin: 4px 0 0; padding: var(--s1) 0;
  background: var(--bianco); color: var(--inchiostro); text-align: left; border: 1px solid var(--grafite); border-radius: var(--r-campo);
}
.suggerimenti li { padding: var(--s2) var(--s3); cursor: pointer; display: flex; justify-content: space-between; gap: var(--s3); }
.suggerimenti li:hover { background: var(--carta); }
.suggerimenti li[aria-selected="true"] { background: var(--inchiostro); color: var(--bianco); box-shadow: inset 4px 0 0 var(--chiaro); }
.suggerimenti li[aria-selected="true"] .suggerimenti__dove { color: var(--carta); }
.suggerimenti .suggerimenti__dove { color: var(--grafite); font-size: var(--t-14); white-space: nowrap; }
.suggerimenti__vuoto { color: var(--grafite); }

.tabella-tecnica { width: 100%; border-collapse: collapse; background: var(--bianco); border-top: 2px solid var(--inchiostro); }
.tabella-tecnica th,.tabella-tecnica td { text-align: left; vertical-align: top; padding: var(--s3) var(--s4); border-bottom: var(--linea); }
.tabella-tecnica th { width: 34%; font-weight: 700; color: var(--grafite); font-size: var(--t-14); padding-top: calc(var(--s3) + 3px); }
.tabella-tecnica td .secondario { display: block; color: var(--grafite); font-size: var(--t-14); }

.pannello { background: var(--bianco); border: var(--linea); border-radius: var(--r-pannello); padding: var(--s5); }

.ripiego { width: 100%; height: auto; display: block; }
.ripiego__fondo { fill: var(--carta); }
.ripiego__isoipse path { stroke: var(--isoipsa); stroke-width: 1.5; }
.ripiego__traliccio { stroke: var(--inchiostro); stroke-width: 3; }
.ripiego__testo { fill: var(--grafite); font-family: var(--font-testo); font-size: 18px; }

.fascia-contatto { background: var(--bianco); border-top: 2px solid var(--inchiostro); border-bottom: var(--linea); }
.fascia-contatto__dentro { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--s5); padding-block: var(--s7); }
.fascia-contatto h2 { font-size: var(--t-28); max-width: 28ch; }
.fascia-contatto p { color: var(--grafite); max-width: 60ch; margin-top: var(--s2); }

.testa-pagina { padding-block: var(--s6) var(--s7); }
.testa-pagina h1 + p,.testa-pagina .sottotitolo { margin-top: var(--s4); font-size: var(--t-22); color: var(--grafite); max-width: 60ch; line-height: 1.45; }

.mappa { position: relative; }
.mappa__area { position: relative; overflow: hidden; background: var(--carta); border: var(--linea); }
.mappa__svg { display: block; width: 100%; height: auto; }
.mappa__svg .mare,.mappa__svg rect.mare { fill: var(--carta); }
.mappa__svg .provincia { fill: var(--bianco); stroke: var(--isoipsa); stroke-width: 1; stroke-linejoin: round; vector-effect: non-scaling-stroke; }
.mappa__svg .provincia.attiva,.mappa__svg .provincia--attiva,.mappa__svg .provincia[aria-current],.mappa__svg .provincia.evidenziata { fill: #E3EEEE; stroke: var(--segnale); stroke-width: 1.5; }
.mappa__etichetta { fill: var(--grafite); font-family: var(--font-testo); font-size: 15px; letter-spacing: .02em; pointer-events: none; }
.mappa__etichetta--attiva { fill: var(--inchiostro); font-weight: 700; }
.mappa--piccola .mappa__etichetta { display: none; }

.marcatore { cursor: pointer; }
.marcatore__scala { transform: scale(var(--k, 1.4)); transform-box: fill-box; transform-origin: center; }
.marcatore__area { fill: transparent; }
.marcatore__triangolo { fill: var(--segnale); stroke: var(--bianco); stroke-width: 1.6; stroke-linejoin: round; paint-order: stroke; }
.marcatore__punto { fill: var(--bianco); }
.marcatore:hover .marcatore__triangolo,.marcatore:focus-visible .marcatore__triangolo,.marcatore.attivo .marcatore__triangolo { fill: var(--inchiostro); }
.marcatore:focus { outline: none; }
.marcatore:focus-visible .marcatore__area { fill: none; stroke: var(--segnale); stroke-width: 2.5; }
.marcatore.attenuato { opacity: .25; }
.marcatore.nascosto { display: none; }

.mappa__suggerimento {
  position: absolute; z-index: 5; pointer-events: none; transform: translate(-50%, calc(-100% - 14px));
  background: var(--inchiostro); color: var(--bianco); padding: var(--s2) var(--s3); border-radius: var(--r-campo);
  font-size: var(--t-14); line-height: 1.35; white-space: nowrap;
}
.mappa__suggerimento strong { display: block; font-family: var(--font-titoli); font-stretch: 110%; }

.mappa.interattiva .mappa__area { cursor: grab; touch-action: none; }
.mappa.interattiva .mappa__area.trascina { cursor: grabbing; }
.mappa__comandi { position: absolute; top: var(--s3); right: var(--s3); display: flex; flex-direction: column; gap: var(--s1); z-index: 4; }
.mappa__comandi button {
  width: 44px; height: 44px; background: var(--bianco); color: var(--inchiostro); border: 1px solid var(--grafite);
  border-radius: var(--r-campo); font: 700 var(--t-22)/1 var(--font-titoli); cursor: pointer;
}
.mappa__comandi button:hover { background: var(--carta); }
.mappa__comandi .mappa__ripristina { font-size: var(--t-14); width: auto; padding-inline: var(--s2); }
.mappa__nota { margin-top: var(--s2); font-size: var(--t-14); color: var(--grafite); }
.mappa-interattiva__comandi { margin-top: var(--s4); display: flex; flex-wrap: wrap; gap: var(--s3); align-items: center; }

.isoipse { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; }
.isoipse path { fill: none; stroke: var(--isoipsa); stroke-width: 1; opacity: .45; }

.apertura { position: relative; overflow: hidden; border-bottom: var(--linea); }
.apertura__griglia {
  position: relative; display: grid; gap: var(--s6) var(--s7); align-items: center;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); padding-block: var(--s8);
}
.apertura__testo { min-width: 0; display: grid; gap: var(--s5); }
.apertura__testo h1 { max-width: 21ch; font-size: clamp(2.125rem, 1.35rem + 1.9vw, 3.25rem); }
.apertura__sotto .sottotitolo { font-size: var(--t-22); line-height: 1.45; color: var(--grafite); max-width: 40ch; }
.form-ricerca { display: grid; gap: var(--s2); }
.form-ricerca__etichetta { font-weight: 700; }
.apertura__link { font-size: var(--t-18); }
.apertura__mappa { min-width: 0; }
.apertura__mappa .mappa__area { background: color-mix(in srgb, var(--carta) 70%, transparent); }

@media (max-width: 1023px) {
  .apertura__griglia { grid-template-columns: minmax(0, 1fr); padding-block: var(--s6) var(--s7); gap: var(--s5); }
  .apertura__testo h1 { max-width: 22ch; }
}
@media (max-width: 639px) {
  .apertura__griglia { padding-block: var(--s5) var(--s6); }
  .apertura__sotto .sottotitolo { font-size: var(--t-18); }
}

.foto-home { margin: 0; background: var(--inchiostro); }
.foto-home img { width: 100%; height: auto; max-height: 620px; object-fit: cover; }
.foto-home__didascalia { padding-block: var(--s2); font-size: var(--t-14); color: var(--isoipsa); }
.foto-home__didascalia a { color: var(--chiaro); }

.servizi__elenco { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: var(--s6) 0; }
.servizi__voce { padding: 0 var(--s5); border-left: var(--linea); display: grid; gap: var(--s3); align-content: start; }
.servizi__voce:first-child { padding-left: 0; border-left: 0; }
.servizi__voce p { color: var(--grafite); }
@media (max-width: 799px) {
  .servizi__voce { padding: 0 0 0 var(--s4); border-left: 3px solid var(--isoipsa); }
  .servizi__voce:first-child { padding-left: var(--s4); border-left: 3px solid var(--isoipsa); }
}

.province__elenco { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); border-top: var(--linea-forte); }
.province__elenco li { border-bottom: var(--linea); }
.province__elenco a { display: flex; justify-content: space-between; align-items: baseline; gap: var(--s4); padding: var(--s4) var(--s3) var(--s4) 0; text-decoration: none; color: var(--inchiostro); }
.province__elenco a:hover .province__nome { color: var(--segnale); text-decoration: underline; }
.province__nome { font-family: var(--font-titoli); font-stretch: 110%; font-weight: 650; font-size: var(--t-22); }
.province__conta { color: var(--grafite); }
@media (min-width: 640px) { .province__elenco li:nth-child(odd) a { padding-right: var(--s6); } }

.perche__griglia { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: var(--s5) var(--s7); }
.perche__elenco { list-style: none; padding: 0; display: grid; gap: var(--s4); max-width: 62ch; }
.perche__elenco li { padding-left: var(--s5); position: relative; font-size: var(--t-18); }
.perche__elenco li::before { content: ""; position: absolute; left: 0; top: .5em; width: 10px; height: 9px; background: var(--segnale); clip-path: polygon(50% 0, 100% 100%, 0 100%); }
@media (max-width: 799px) { .perche__griglia { grid-template-columns: minmax(0, 1fr); } }

.news-elenco { list-style: none; padding: 0; border-top: var(--linea-forte); }
.news-riga { display: grid; grid-template-columns: 12rem minmax(0, 1fr); gap: var(--s3) var(--s5); padding-block: var(--s5); border-bottom: var(--linea); }
.news-riga__data { font-family: var(--font-titoli); font-weight: 650; color: var(--grafite); }
.news-riga h3 { margin-bottom: var(--s2); }
.news-riga h3 a { color: var(--inchiostro); text-decoration: none; }
.news-riga h3 a:hover { color: var(--segnale); text-decoration: underline; }
.news-riga p:last-child { color: var(--grafite); max-width: 70ch; }
@media (max-width: 639px) { .news-riga { grid-template-columns: minmax(0, 1fr); } }

.catalogo__testa { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: var(--s3) var(--s5); padding-bottom: var(--s5); }
.catalogo__conta { font-size: var(--t-22); color: var(--grafite); }
.catalogo__conta strong { color: var(--inchiostro); font-weight: 700; }

.filtri {
  display: grid; gap: var(--s4) var(--s4); align-items: end;
  grid-template-columns: minmax(220px, 2fr) repeat(auto-fit, minmax(170px, 1fr));
  background: var(--bianco); border: var(--linea); border-radius: var(--r-pannello); padding: var(--s5);
}
.filtri__campo { min-width: 0; }
.filtri__campo label { font-size: var(--t-14); }
.filtri__azioni { display: flex; flex-wrap: wrap; gap: var(--s3); align-items: center; }
.js .filtri__applica { display: none; }
@media (max-width: 639px) { .filtri { grid-template-columns: minmax(0, 1fr); padding: var(--s4); } }

.catalogo__vista { display: inline-flex; margin-block: var(--s5) var(--s4); border: 1px solid var(--inchiostro); border-radius: var(--r-campo); overflow: hidden; }
.vista__pulsante { min-height: 44px; padding: var(--s2) var(--s5); border: 0; background: var(--bianco); color: var(--inchiostro); font: 650 var(--t-18) var(--font-titoli); cursor: pointer; }
.vista__pulsante + .vista__pulsante { border-left: 1px solid var(--inchiostro); }
.vista__pulsante[aria-pressed="true"] { background: var(--inchiostro); color: var(--bianco); }
.no-js .catalogo__vista { display: none; }
.no-js .catalogo__mappa[hidden] { display: block !important; margin-top: var(--s6); }

.gruppo-siti + .gruppo-siti { margin-top: var(--s6); }
.gruppo-siti__titolo { font-size: var(--t-22); padding-bottom: var(--s2); border-bottom: var(--linea-forte); display: flex; align-items: baseline; justify-content: space-between; gap: var(--s3); }
.gruppo-siti__conta { font-size: var(--t-14); font-weight: 400; color: var(--grafite); }

.elenco-siti { list-style: none; padding: 0; }
.riga-sito {
  display: grid; align-items: center; gap: var(--s2) var(--s4);
  grid-template-columns: 96px minmax(0, 1fr) 7rem minmax(0, 12rem);
  padding: var(--s3) 0; border-bottom: var(--linea); position: relative;
}
.riga-sito:hover { background: var(--bianco); }
.riga-sito__foto { width: 96px; aspect-ratio: 4 / 3; overflow: hidden; background: var(--carta); border: var(--linea); }
.riga-sito__foto img,.riga-sito__foto svg { width: 100%; height: 100%; object-fit: cover; }
.riga-sito__nome { font-size: var(--t-22); }
.riga-sito__nome a { color: var(--inchiostro); text-decoration: none; }
.riga-sito__nome a::after { content: ""; position: absolute; inset: 0; }
.riga-sito__nome a:hover { color: var(--segnale); text-decoration: underline; }
.riga-sito__nome a:focus-visible { outline: none; }
.riga-sito:focus-within { outline: 3px solid var(--segnale); outline-offset: 2px; }
.riga-sito__luogo { color: var(--grafite); }
.riga-sito__quota { text-align: right; font-size: var(--t-22); font-weight: 600; }
.riga-sito__struttura { color: var(--grafite); }
@media (max-width: 799px) {
  .riga-sito { grid-template-columns: 80px minmax(0, 1fr) auto; grid-template-areas: "foto testo quota" "foto struttura struttura"; }
  .riga-sito__foto { grid-area: foto; width: 80px; align-self: start; }
  .riga-sito__testo { grid-area: testo; }
  .riga-sito__quota { grid-area: quota; font-size: var(--t-18); }
  .riga-sito__struttura { grid-area: struttura; font-size: var(--t-14); }
  .riga-sito__nome { font-size: var(--t-18); }
}

.vuoto { background: var(--bianco); border: var(--linea); border-radius: var(--r-pannello); padding: var(--s6); display: grid; gap: var(--s4); margin-top: var(--s5); }
.vuoto h2 { font-size: var(--t-28); }
.vuoto p { color: var(--grafite); max-width: 60ch; }

.provincia__griglia { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--s6); align-items: start; }
.provincia__elenco .elenco-siti { border-top: var(--linea-forte); }
@media (max-width: 899px) { .provincia__griglia { grid-template-columns: minmax(0, 1fr); } .provincia__mappa { order: -1; } }
.altre-province { margin-top: var(--s8); border-top: var(--linea); padding-top: var(--s6); display: grid; gap: var(--s4); }
.altre-province h2 { font-size: var(--t-22); }
.altre-province ul { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: var(--s2) var(--s5); }

.pagina-404 .form-ricerca { max-width: 560px; }
.pagina-404__link { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: var(--s3) var(--s5); margin-top: var(--s6); }

.catalogo__mappa .mappa { max-width: min(100%, calc(72vh * 1.5)); margin-inline: auto; }
@media (max-width: 639px) {
  .mappa__comandi { position: static; flex-direction: row; justify-content: flex-end; margin-top: var(--s2); }
}

.pagina-404__altra { display: block; margin-top: var(--s3); font-size: .55em; }

.scheda__testa { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: var(--s3) var(--s5); padding-block: var(--s5) var(--s5); border-bottom: var(--linea-forte); }
.scheda__luogo { font-size: var(--t-22); color: var(--grafite); margin-top: var(--s2); }
.scheda__codice { font-size: var(--t-18); color: var(--grafite); }
.scheda__codice .num { color: var(--inchiostro); font-weight: 700; font-size: var(--t-22); }

.scheda__griglia { display: grid; grid-template-columns: minmax(0, 8fr) minmax(0, 4fr); gap: var(--s6); margin-top: var(--s6); align-items: start; }
.scheda__foto { margin: 0; background: var(--bianco); border: var(--linea); }
.scheda__foto img,.scheda__foto svg { width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; }
.scheda__didascalia { padding: var(--s3) var(--s4); font-size: var(--t-14); color: var(--grafite); border-top: var(--linea); }
.scheda__lato { display: grid; gap: var(--s5); }
.scheda__quota { display: grid; gap: var(--s1); border-top: 2px solid var(--inchiostro); padding-top: var(--s3); }
.scheda__quota-etichetta { color: var(--grafite); font-weight: 700; font-size: var(--t-14); }
.scheda__quota-valore { font-size: var(--t-56); font-weight: 700; line-height: 1; letter-spacing: -0.01em; }
.scheda__quota-unita { font-size: var(--t-22); font-weight: 500; color: var(--grafite); }

.scheda__griglia--dati { margin-top: var(--s7); }
.scheda__dati h2 { font-size: var(--t-28); margin-bottom: var(--s4); }
.scheda__descrizione { max-width: 70ch; margin-bottom: var(--s4); }
.scheda__azioni { display: grid; gap: var(--s3); align-content: start; padding-top: calc(var(--t-28) * 1.2 + var(--s4)); }
.scheda__azioni .pulsante { width: 100%; }
.scheda__nota-stampa { font-size: var(--t-14); color: var(--grafite); }
@media (max-width: 899px) {
  .scheda__griglia { grid-template-columns: minmax(0, 1fr); }
  .scheda__azioni { padding-top: 0; }
  .scheda__quota-valore { font-size: var(--t-44); }
}

.scheda__galleria { margin-top: var(--s7); border-top: var(--linea); }
.galleria { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: var(--s5) var(--s4); }
.galleria__link { display: block; aspect-ratio: 4 / 3; overflow: hidden; background: var(--carta); border: var(--linea); }
.galleria__link img { width: 100%; height: 100%; object-fit: cover; }
.galleria__didascalia { font-size: var(--t-14); color: var(--grafite); margin-top: var(--s2); }

.visore { border: 0; padding: 0; background: transparent; max-width: 100vw; max-height: 100vh; max-height: 100dvh; width: 100%; height: 100%; }
.visore::backdrop { background: rgba(15, 43, 48, .92); }
.visore__dentro { height: 100%; display: grid; grid-template-rows: auto minmax(0, 1fr) auto; gap: var(--s3); padding: var(--s4) max(16px, env(safe-area-inset-right, 0px)) var(--s4) max(16px, env(safe-area-inset-left, 0px)); color: var(--bianco); }
.visore__barra { display: flex; justify-content: space-between; align-items: center; gap: var(--s3); }
.visore__conta { font-family: var(--font-titoli); }
.visore__immagine { min-height: 0; display: flex; align-items: center; justify-content: center; }
.visore__immagine img { max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; }
.visore__piede { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: var(--s3); }
.visore__didascalia { max-width: 70ch; }
.visore button { min-height: 44px; padding: var(--s2) var(--s4); background: var(--bianco); color: var(--inchiostro); border: 0; border-radius: var(--r-campo); font: 650 var(--t-18) var(--font-titoli); cursor: pointer; }
.visore button:focus-visible { outline-color: var(--chiaro); }

.scheda__fondo { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--s6); margin-top: var(--s7); padding-top: var(--s6); border-top: var(--linea); }
.vicini h2 { font-size: var(--t-22); margin-bottom: var(--s4); }
.vicini__elenco { list-style: none; padding: 0; border-top: var(--linea-forte); }
.vicini__elenco li { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 0 var(--s4); padding: var(--s3) 0; border-bottom: var(--linea); }
.vicini__elenco a { font-weight: 700; }
.vicini__luogo { grid-column: 1; color: var(--grafite); font-size: var(--t-14); }
.vicini__km { grid-column: 2; grid-row: 1 / span 2; align-self: center; font-size: var(--t-22); font-weight: 600; }
.navps ul { list-style: none; padding: 0; display: grid; gap: var(--s3); }
.navps a { display: block; padding: var(--s3) var(--s4); background: var(--bianco); border: var(--linea); border-radius: var(--r-pannello); text-decoration: none; font-weight: 700; }
.navps a:hover { border-color: var(--segnale); }
.navps__etichetta { display: block; font-weight: 400; font-size: var(--t-14); color: var(--grafite); }
@media (max-width: 799px) { .scheda__fondo { grid-template-columns: minmax(0, 1fr); } }

@media print {
  @page { size: A4; margin: 14mm; }
  .scheda__azioni,.scheda__galleria,.scheda__fondo,.mappa__comandi { display: none !important; }
  .scheda__griglia { grid-template-columns: 1fr 1fr; gap: 8mm; margin-top: 6mm; }
  .scheda__griglia--dati { grid-template-columns: 1fr; }
  .scheda__quota-valore { font-size: 28pt; }
  .tabella-tecnica { font-size: 10pt; }
  body { font-size: 11pt; }
}
.intero { white-space: nowrap; }
@media (max-width: 899px) { .scheda__lato .mappa { max-width: 360px; } }

.testa-pagina__sotto { margin-top: var(--s4); }
.testa-pagina__sotto .sottotitolo { margin-top: 0; }

main > .contenitore + .fascia-contatto { margin-top: var(--s8); }

.punti-chiave { list-style: none; padding: 0; display: grid; gap: var(--s3); max-width: 70ch; }
.punti-chiave li { position: relative; padding-left: var(--s5); }
.punti-chiave li::before {
  content: ""; position: absolute; left: 0; top: .5em; width: 10px; height: 9px;
  background: var(--segnale); clip-path: polygon(50% 0, 100% 100%, 0 100%);
}

.dati-lista { border-top: 2px solid var(--inchiostro); max-width: 900px; }
.dati-lista__riga {
  display: grid; grid-template-columns: minmax(0, 14rem) minmax(0, 1fr); gap: var(--s1) var(--s5);
  padding: var(--s3) 0; border-bottom: var(--linea);
}
.dati-lista--larga .dati-lista__riga { grid-template-columns: minmax(0, 18rem) minmax(0, 1fr); }
.dati-lista dt { font-weight: 700; color: var(--grafite); font-size: var(--t-14); padding-top: 3px; }
.dati-lista dd { margin: 0; min-width: 0; }
.dati-lista dd ul { padding-left: 1.2em; }
.dati-lista__valore { overflow-wrap: anywhere; }
@media (max-width: 639px) {
  .dati-lista__riga,.dati-lista--larga .dati-lista__riga { grid-template-columns: minmax(0, 1fr); }
}
.servizi-indice { list-style: none; padding: 0; border-top: var(--linea-forte); }
.servizi-indice__voce {
  display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--s4) var(--s7);
  padding-block: var(--s6); border-bottom: var(--linea);
}
.servizi-indice__testa h2 { font-size: var(--t-28); }
.servizi-indice__segmento { margin-top: var(--s2); color: var(--grafite); }
.servizi-indice__corpo { min-width: 0; }
.servizi-indice__corpo > p { max-width: 60ch; font-size: var(--t-22); line-height: 1.45; }
.servizi-indice__link { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: var(--s2) var(--s5); margin-top: var(--s4); }
.servizi-indice__link a { font-weight: 700; }
@media (max-width: 799px) {
  .servizi-indice__voce { grid-template-columns: minmax(0, 1fr); }
  .servizi-indice__corpo > p { font-size: var(--t-18); }
}

.servizio__griglia { display: grid; grid-template-columns: minmax(0, 8fr) minmax(0, 4fr); gap: var(--s6) var(--s7); align-items: start; }
.servizio__contenuto { min-width: 0; }
.servizio__intro { font-size: var(--t-18); }
.servizio__punti { margin-top: var(--s7); }
.servizio__punti h2 { font-size: var(--t-28); margin-bottom: var(--s4); }
.servizio__catalogo { margin-top: var(--s6); }
.servizio__lato { display: grid; gap: var(--s6); align-content: start; min-width: 0; }
.servizio__altri { border-top: 2px solid var(--inchiostro); padding-top: var(--s3); }
.servizio__altri h2 { font-size: var(--t-22); margin-bottom: var(--s2); }
.servizio__altri ul { list-style: none; padding: 0; }
.servizio__altri li { border-bottom: var(--linea); }
.servizio__altri li a { display: block; padding: var(--s3) 0; font-weight: 700; }
.servizio__altri p { margin-top: var(--s3); }
@media (max-width: 899px) { .servizio__griglia { grid-template-columns: minmax(0, 1fr); } }

.chi-siamo__testo { font-size: var(--t-18); }
.chi-siamo .sezione { border-top: var(--linea); }
.chi-siamo .sezione:first-of-type { margin-top: var(--s7); }
.chi-siamo .sezione > h2 { font-size: var(--t-28); margin-bottom: var(--s5); }
.chi-siamo .sezione:last-child { padding-bottom: 0; }
.segmenti__servizi { list-style: none; padding: 0; display: grid; gap: var(--s1); }
.segmenti__servizi a,.chi-siamo__segmenti .servizi__voce > p > a { font-weight: 700; }
.chi-siamo__contatti { margin-top: var(--s4); }

.news-riga h2 { font-size: var(--t-22); line-height: 1.2; margin-bottom: var(--s2); }
.news-riga h2 a { color: var(--inchiostro); text-decoration: none; }
.news-riga h2 a:hover { color: var(--segnale); text-decoration: underline; }
.news-riga__testo { min-width: 0; }
.news-elenco--pagina .news-riga__data { font-size: var(--t-18); color: var(--inchiostro); }
.news-riga--foto { grid-template-columns: 12rem minmax(0, 1fr) 160px; }
.news-riga__foto { width: 160px; aspect-ratio: 4 / 3; overflow: hidden; background: var(--carta); border: var(--linea); }
.news-riga__foto img { width: 100%; height: 100%; object-fit: cover; }
@media (max-width: 799px) {
  .news-riga--foto { grid-template-columns: minmax(0, 1fr) 120px; }
  .news-riga--foto .news-riga__data { grid-column: 1 / -1; }
  .news-riga--foto .news-riga__foto { width: 120px; }
}
.news-vuoto { color: var(--grafite); }
.news-pagina__nota { margin-top: var(--s7); }
.idee { list-style: none; padding: 0; display: grid; gap: var(--s4); margin-top: var(--s3); }
.idee__dati { margin-top: var(--s1); }
.idee__dati dt { font-weight: 700; margin-top: var(--s1); }
.idee__dati dd { margin: 0; }

.articolo__testa { padding-bottom: var(--s6); }
.articolo__data { font-family: var(--font-titoli); font-weight: 650; }
.articolo__testo { font-size: var(--t-18); }
.articolo__sito { padding-top: var(--s4); border-top: var(--linea); }
.prima-dopo { margin-top: var(--s7); padding-top: var(--s6); border-top: var(--linea); }
.prima-dopo > h2 { font-size: var(--t-28); margin-bottom: var(--s5); }
.prima-dopo__griglia { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s6); align-items: start; }
.prima-dopo__griglia--una { grid-template-columns: minmax(0, 1fr); max-width: 760px; }
.prima-dopo__colonna { min-width: 0; display: grid; gap: var(--s5); }
.prima-dopo__colonna h3 { padding-bottom: var(--s2); border-bottom: var(--linea-forte); }
.prima-dopo__foto { margin: 0; background: var(--bianco); border: var(--linea); padding: var(--s3); display: grid; gap: var(--s2); }
.prima-dopo__foto img { width: auto; max-width: 100%; height: auto; max-height: 32rem; margin-inline: auto; }
.prima-dopo__foto figcaption { font-size: var(--t-14); color: var(--grafite); }
.articolo__nav { margin-top: var(--s7); max-width: 760px; }
@media (max-width: 799px) { .prima-dopo__griglia { grid-template-columns: minmax(0, 1fr); } }

.contatti__griglia { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--s7); align-items: start; }
.contatti__modulo,.contatti__recapiti { min-width: 0; }
.contatti__modulo > h2,.contatti__recapiti > h2 { font-size: var(--t-28); margin-bottom: var(--s2); }
.contatti__recapiti > h2 { margin-bottom: var(--s4); }
.modulo__obbligatori { font-size: var(--t-14); color: var(--grafite); margin-bottom: var(--s4); }
.modulo {
  display: grid; gap: var(--s5); background: var(--bianco); border: var(--linea);
  border-radius: var(--r-pannello); padding: var(--s6);
}
.modulo__coppia { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr)); gap: var(--s5); }
.modulo__asterisco { font-weight: 700; }
.campo--gruppo { border: 0; margin: 0; padding: 0; min-width: 0; }
.campo--gruppo legend { padding: 0; margin-bottom: var(--s2); }
.scelte { display: grid; gap: var(--s3); }
.scelta label { font-weight: 400; }
.campo--privacy .scelta label { font-weight: 700; }
.campo--errore { border-left: 4px solid var(--errore); padding-left: var(--s3); }
.modulo__invio .pulsante { min-width: 12rem; }

.modulo__riepilogo {
  background: var(--bianco); border: 2px solid var(--errore); border-radius: var(--r-pannello);
  padding: var(--s4) var(--s5); margin-bottom: var(--s5);
}
.modulo__riepilogo:focus { outline: 3px solid var(--segnale); outline-offset: 2px; }
.modulo__riepilogo-titolo { font-size: var(--t-18); color: var(--errore); margin-bottom: var(--s2); }
.modulo__riepilogo ul { padding-left: 1.2em; display: grid; gap: var(--s1); }
.modulo__riepilogo a { color: var(--errore); font-weight: 700; }

.modulo__esito--visibile {
  margin-top: var(--s4); padding: var(--s3) var(--s4); background: var(--carta);
  border-left: 4px solid var(--segnale); font-weight: 700; max-width: 60ch;
}

.modulo__esca { position: absolute !important; left: -10000px; top: auto; width: 1px; height: 1px; overflow: hidden; }

.recapiti { border-top: 2px solid var(--inchiostro); }
.recapiti__voce { padding: var(--s4) 0; border-bottom: var(--linea); }
.recapiti dt { display: flex; align-items: center; gap: var(--s2); font-weight: 700; color: var(--grafite); font-size: var(--t-14); }
.recapiti dt .icona { width: 20px; height: 20px; }
.recapiti dd { margin: var(--s1) 0 0; padding-left: 28px; }
.recapiti__valore { display: block; font-size: var(--t-22); font-weight: 600; overflow-wrap: anywhere; }
.recapiti__azione { font-size: var(--t-14); }
.recapiti__indirizzo { font-style: normal; }
.recapiti__mappa { display: inline-flex; align-items: center; gap: var(--s2); margin-top: var(--s2); min-height: 44px; font-weight: 700; }
.recapiti__mappa .icona { width: 18px; height: 18px; }
.contatti__nota { margin-top: var(--s7); }
@media (max-width: 899px) { .contatti__griglia { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 639px) {
  .modulo { padding: var(--s4); }
  .recapiti__valore { font-size: var(--t-18); }
}

.legale__sezione { padding-block: var(--s6); border-top: var(--linea); }
.legale__sezione > h2 { font-size: var(--t-28); margin-bottom: var(--s4); }
.legale__crediti { padding-left: 1.2em; max-width: 70ch; display: grid; gap: var(--s2); }
.legale__link { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: var(--s2) var(--s5); }
.legale__testo { margin-bottom: var(--s5); }

.legale__data { color: var(--grafite); font-size: var(--t-14); }
.legale__testo > .legale__parte { margin-top: var(--s6); }
.legale__parte > h2 { font-size: var(--t-22); line-height: 1.25; }
.legale__parte > * + * { margin-top: var(--s3); }

.legale__traduzione { max-width: 72ch; margin-bottom: var(--s5); padding: var(--s3) var(--s4); border-left: 3px solid currentColor; font-size: var(--t-14); }

:root {
  --r-carta: 14px;
  --ombra-morbida: 0 18px 40px -18px rgba(15, 43, 48, .35);
  --vetro: rgba(255, 255, 255, .14);
  --vetro-bordo: rgba(255, 255, 255, .32);
}

.intestazione--sovrapposta { position: fixed; left: 0; right: 0; top: env(safe-area-inset-top, 0px); background: transparent; border-bottom-color: transparent; }
.intestazione--sovrapposta:not(.scorre) .menu__link,.intestazione--sovrapposta:not(.scorre) .menu__apri-sotto { color: var(--bianco); text-shadow: 0 1px 12px rgba(0, 0, 0, .35); }
.intestazione--sovrapposta:not(.scorre) .menu__link[aria-current] { border-bottom-color: var(--bianco); }
.intestazione--sovrapposta .intestazione__logo { background: var(--bianco); padding: 4px 8px; border-radius: 10px; }
.intestazione--sovrapposta:not(.scorre) .intestazione__cta { background: var(--bianco); color: var(--inchiostro); border-color: var(--bianco); }
.intestazione--sovrapposta:not(.scorre) .intestazione__cta:hover { background: var(--carta); }
.intestazione--sovrapposta.scorre { background: rgba(255, 255, 255, .94); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); border-bottom-color: var(--isoipsa); }
@media (max-width: 899px) {
  .js .intestazione--sovrapposta:not(.scorre) .intestazione__menu-pulsante { background: rgba(255, 255, 255, .92); border-color: transparent; }
  .intestazione--sovrapposta .intestazione__pannello .menu__link { color: var(--inchiostro) !important; text-shadow: none !important; }
  .intestazione--sovrapposta .intestazione__pannello .menu__apri-sotto { color: var(--inchiostro) !important; }
}

.pulsante--chiaro { background: var(--bianco); color: var(--inchiostro); border-color: var(--bianco); }
.pulsante--chiaro:hover { background: var(--carta); border-color: var(--carta); color: var(--inchiostro); text-decoration: none; }
.pulsante--vetro { background: var(--vetro); color: var(--bianco); border-color: var(--vetro-bordo); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.pulsante--vetro:hover { background: rgba(255, 255, 255, .24); color: var(--bianco); text-decoration: none; }
.pulsante--tondo { border-radius: 999px; padding-inline: var(--s5); }

.rivela.in-attesa { opacity: 0; transform: translateY(24px); }
.rivela.visibile { opacity: 1; transform: none; transition: opacity .7s ease, transform .7s cubic-bezier(.2, .7, .2, 1); }

@keyframes respiro { from { transform: scale(1.12); } to { transform: scale(1); } }
.foto-viva img { animation: respiro 14s cubic-bezier(.2, .6, .2, 1) both; transform-origin: 60% 30%; }

.numeri { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: var(--s5); margin: 0; }
.numeri__voce { display: flex; flex-direction: column-reverse; gap: var(--s1); }
.numeri dt { font-size: var(--t-14); color: var(--grafite); line-height: 1.35; }
.numeri dd { margin: 0; font-family: var(--font-titoli); font-stretch: 105%; font-weight: 700; font-size: clamp(2rem, 1.4rem + 1.8vw, 3rem); line-height: 1; letter-spacing: -0.02em; }
.numeri__unita { font-size: .5em; font-weight: 600; margin-left: .15em; color: var(--segnale); }

.carosello { padding-block: var(--s8) var(--s7); overflow: hidden; }
.carosello__testa { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: var(--s4); margin-bottom: var(--s5); }
.carosello__testa h2 { font-size: clamp(1.75rem, 1.3rem + 1.4vw, 2.5rem); }
.carosello__sotto { color: var(--grafite); margin-top: var(--s2); }
.carosello__comandi { display: flex; align-items: center; gap: var(--s2); }
.carosello__tutti { margin-right: var(--s3); font-weight: 700; }
.carosello__freccia {
  width: 44px; height: 44px; border-radius: 999px; border: 1px solid var(--grafite); background: var(--bianco); color: var(--inchiostro);
  display: inline-flex; align-items: center; justify-content: center; cursor: pointer; transition: background-color .2s, color .2s;
}
.carosello__freccia:hover:not(:disabled) { background: var(--inchiostro); color: var(--bianco); }
.carosello__freccia:disabled { opacity: .35; cursor: default; }
.carosello__pista {
  list-style: none; margin: 0; display: flex; gap: 20px; overflow-x: auto; scroll-snap-type: x mandatory;
  padding: 4px max(24px, calc((100vw - var(--contenuto)) / 2)) 24px; scroll-padding-inline: max(24px, calc((100vw - var(--contenuto)) / 2));
  scrollbar-width: none;
}
.carosello__pista::-webkit-scrollbar { display: none; }
.carosello__pista:focus-visible { outline-offset: -3px; }
.carta-sito { flex: 0 0 clamp(250px, 26vw, 330px); scroll-snap-align: start; }
.carta-sito__link {
  display: flex; flex-direction: column; height: 100%; text-decoration: none; color: var(--inchiostro);
  background: var(--bianco); border-radius: var(--r-carta); overflow: hidden; position: relative;
  box-shadow: 0 1px 0 var(--isoipsa); transition: transform .35s cubic-bezier(.2, .7, .2, 1), box-shadow .35s;
}
.carta-sito__link:hover { transform: translateY(-6px); box-shadow: var(--ombra-morbida); color: var(--inchiostro); }
.carta-sito__foto { display: block; aspect-ratio: 4 / 3; overflow: hidden; background: var(--carta); }
.carta-sito__foto img,.carta-sito__foto svg { width: 100%; height: 100%; object-fit: cover; transition: transform .6s cubic-bezier(.2, .7, .2, 1); }
.carta-sito__link:hover .carta-sito__foto img { transform: scale(1.06); }
.carta-sito__testo { display: grid; gap: 2px; padding: var(--s4) var(--s4) var(--s5); padding-right: 6.5rem; }
.carta-sito__prov { font-size: var(--t-14); color: var(--segnale); font-weight: 700; }
.carta-sito__nome { font-family: var(--font-titoli); font-stretch: 110%; font-weight: 700; font-size: var(--t-22); line-height: 1.15; }
.carta-sito__luogo { color: var(--grafite); font-size: var(--t-14); }
.carta-sito__quota {
  position: absolute; right: var(--s4); bottom: var(--s5); font-family: var(--font-titoli); font-weight: 700; font-size: var(--t-22);
}
.carta-sito__quota span { font-size: var(--t-14); color: var(--grafite); font-weight: 600; }
@media (max-width: 640px) { .carta-sito { flex-basis: 78vw; } .carosello__tutti { margin-right: auto; } }

.servizi-schede { padding-block: var(--s8); }
.servizi-schede__testa { display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--s3) var(--s4); margin-bottom: var(--s5); }
.servizi-schede__testa h2 { font-size: clamp(1.75rem, 1.3rem + 1.4vw, 2.5rem); }
.servizi-schede__elenco { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 20px; }

.servizio-scheda__carta {
  display: flex; flex-direction: column; gap: var(--s2); height: 100%; padding: var(--s6) var(--s5) var(--s5);
  background: var(--bianco); border-radius: var(--r-carta); color: var(--inchiostro);
  box-shadow: 0 1px 0 var(--isoipsa); transition: transform .35s cubic-bezier(.2, .7, .2, 1), box-shadow .35s, background-color .35s;
}
.servizio-scheda__carta:hover,.servizio-scheda__carta:focus-within { transform: translateY(-6px); box-shadow: var(--ombra-morbida); }
.icona-servizio { width: 48px; height: 48px; color: var(--segnale); margin-bottom: var(--s3); transition: transform .5s cubic-bezier(.2, .7, .2, 1); }
.servizio-scheda__carta:hover .icona-servizio { transform: scale(1.12) rotate(-4deg); }
.servizio-scheda__segmento { font-size: var(--t-14); color: var(--grafite); }
.servizio-scheda__titolo { font-family: var(--font-titoli); font-stretch: 110%; font-weight: 700; font-size: var(--t-22); line-height: 1.2; }
.servizio-scheda__frase { color: var(--grafite); }
.servizio-scheda__frase a { color: var(--segnale); font-weight: 600; overflow-wrap: anywhere; }
.servizio-scheda__azioni { margin-top: auto; padding-top: var(--s3); display: flex; flex-wrap: wrap; align-items: center; gap: var(--s3) var(--s5); }
.servizio-scheda__vai { min-height: 44px; font-weight: 700; color: var(--segnale); display: inline-flex; gap: 6px; align-items: center; text-decoration: none; }
.servizio-scheda__vai:hover { color: var(--segnale-scuro); text-decoration: underline; text-underline-offset: .18em; }
.servizio-scheda__vai::after { content: ""; width: 18px; height: 2px; background: currentColor; transition: width .3s; }
.servizio-scheda__carta:hover .servizio-scheda__vai::after,.servizio-scheda__vai:focus-visible::after { width: 30px; }
.servizio-scheda__pulsante { font-size: 1rem; padding-inline: var(--s4); }
@media (prefers-reduced-motion: reduce) {
  .servizio-scheda__carta,.icona-servizio,.servizio-scheda__vai::after { transition: none; }
  .servizio-scheda__carta:hover,.servizio-scheda__carta:focus-within { transform: none; }
  .servizio-scheda__carta:hover .icona-servizio { transform: none; }
}

.fascia-foto { position: relative; isolation: isolate; overflow: hidden; color: var(--bianco); margin-top: var(--s7); }
.fascia-foto__img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; }
.fascia-foto::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(100deg, rgba(10, 32, 36, .88) 0%, rgba(10, 32, 36, .62) 50%, rgba(10, 32, 36, .25) 100%); }
.fascia-foto__dentro { padding-block: clamp(4rem, 10vw, 8rem); display: grid; gap: var(--s5); justify-items: start; }
.fascia-foto h2 { font-size: clamp(1.9rem, 1.3rem + 2vw, 3rem); max-width: 18ch; color: var(--bianco); }
.fascia-foto + .pie { margin-top: 0; }

.marcatore__onda { fill: none; stroke: var(--segnale); stroke-width: 1.4; transform-box: fill-box; transform-origin: center; opacity: 0; animation: onda 3.2s cubic-bezier(.2, .6, .3, 1) infinite; animation-delay: calc(var(--ritardo, 0ms) + 900ms); }
.marcatore__onda--2 { animation-delay: calc(var(--ritardo, 0ms) + 2500ms); }
@keyframes onda { 0% { transform: scale(.6); opacity: .75; } 100% { transform: scale(3.4); opacity: 0; } }
@media (prefers-reduced-motion: reduce) { .marcatore__onda { display: none; } .foto-viva img { animation: none; } }

.apertura-a__cornice :focus-visible,.fascia-foto :focus-visible,.foto-home :focus-visible { outline-color: var(--bianco); }
.intestazione--sovrapposta:not(.scorre) :focus-visible { outline-color: var(--bianco); }
.servizi-schede__intro { color: var(--grafite); max-width: 62ch; margin: calc(-1 * var(--s2)) 0 var(--s6); font-size: var(--t-18); }
.servizi-schede__intro a { font-weight: 700; white-space: nowrap; }

.tema-c {
  color-scheme: dark;
  --carta: #0F2B30;          
  --bianco: #16393F;         
  --inchiostro: #FFFFFF;     
  --grafite: #B9C9CB;        
  --isoipsa: #2E5157;        
  --segnale: #9FD3D3;        
  --segnale-scuro: #C4EAE8;
  --chiaro: #9FD3D3;
  --errore: #FFB4A8;
  --linea: 1px solid #2E5157;
  --linea-forte: 1px solid #7E9799;
  --c-campo: #0B2226;
  --c-ombra: 0 24px 50px -28px rgba(0, 0, 0, .7);
}

.tema-c .intestazione { background: #0F2B30; border-bottom: 1px solid rgba(255, 255, 255, .1); }

.tema-c .intestazione.scorre { background: #0F2B30; -webkit-backdrop-filter: none; backdrop-filter: none; box-shadow: 0 12px 30px -18px rgba(0, 0, 0, .7); }
.tema-c .intestazione__cta { background: #FFFFFF; border-color: #FFFFFF; color: #0F2B30; border-radius: 999px; padding-inline: var(--s5); }
.tema-c .intestazione__cta:hover { background: #9FD3D3; border-color: #9FD3D3; color: #0F2B30; }
.tema-c .sottomenu { box-shadow: var(--c-ombra); }

@media (max-width: 899px) {
  .js .tema-c .intestazione__menu-pulsante { background: #FFFFFF; color: #0F2B30; border-color: #FFFFFF; border-radius: 999px; padding-inline: var(--s4); }
  .js .tema-c .intestazione__menu-pulsante:hover { background: #9FD3D3; border-color: #9FD3D3; }
}

.tema-c h1 { font-stretch: 78%; font-weight: 720; letter-spacing: -0.01em; line-height: .95; font-size: clamp(2.6rem, 1.4rem + 4vw, 4.9rem); }
.tema-c h2 { font-stretch: 86%; font-weight: 700; }
.tema-c h3 { font-stretch: 90%; font-weight: 700; }
.tema-c .testa-pagina { padding-block: var(--s7) var(--s7); }
.tema-c .testa-pagina h1 + p,.tema-c .testa-pagina .sottotitolo { color: var(--grafite); }
.tema-c .scheda__testa h1 { font-size: clamp(2.4rem, 1.3rem + 3.6vw, 4.4rem); }
.tema-c .scheda__testa { border-bottom-color: #2E5157; }
.tema-c .scheda__codice .num { color: #FFFFFF; }

.tema-c .pulsante { border-radius: 999px; }
.tema-c .pulsante--principale { background: #FFFFFF; border-color: #FFFFFF; color: #0F2B30; }
.tema-c .pulsante--principale:hover { background: #9FD3D3; border-color: #9FD3D3; color: #0F2B30; }
.tema-c .pulsante--secondario { background: transparent; color: #FFFFFF; border-color: rgba(255, 255, 255, .65); }
.tema-c .pulsante--secondario:hover { background: #FFFFFF; border-color: #FFFFFF; color: #0F2B30; }
.tema-c .pulsante--testo { color: #9FD3D3; }

.tema-c .pannello,.tema-c .filtri,.tema-c .vuoto { border-radius: 16px; border-color: #2E5157; }
.tema-c .navps a { border-radius: 14px; border-color: #2E5157; }
.tema-c .navps a:hover { border-color: #9FD3D3; }
.tema-c .tabella-tecnica { border-top-color: #9FD3D3; }
.tema-c .scheda__quota { border-top-color: #9FD3D3; }
.tema-c .scheda__foto { border-color: #2E5157; border-radius: 16px; overflow: hidden; }
.tema-c .galleria__link { border-radius: 12px; border-color: #2E5157; }
.tema-c .galleria__link img { transition: transform .5s cubic-bezier(.2, .7, .2, 1); }
.tema-c .galleria__link:hover img { transform: scale(1.05); }
.tema-c .riga-sito__foto { border-radius: 8px; border-color: #2E5157; }
.tema-c .riga-sito:hover { background: #16393F; }
.tema-c .fascia-contatto { background: #16393F; border-top: 2px solid #9FD3D3; border-bottom: 0; }
.tema-c .prima-dopo__foto { border-radius: 16px; border-color: #2E5157; }

.tema-c .catalogo__vista { border-radius: 999px; border-color: rgba(255, 255, 255, .65); overflow: visible; }
.tema-c .vista__pulsante:first-child { border-radius: 999px 0 0 999px; }
.tema-c .vista__pulsante:last-child { border-radius: 0 999px 999px 0; }
.tema-c .vista__pulsante + .vista__pulsante { border-left-color: rgba(255, 255, 255, .65); }
.tema-c .vista__pulsante:focus-visible { position: relative; z-index: 1; outline-offset: 3px; }

.tema-c .visore::backdrop { background: rgba(4, 14, 16, .96); }
.tema-c .visore__dentro { color: #FFFFFF; }
.tema-c .visore__didascalia { color: #CBD7D8; }
.tema-c .visore button { background: #FFFFFF; color: #0F2B30; border-radius: 999px; padding-inline: var(--s5); }
.tema-c .visore button:hover { background: #9FD3D3; }
.tema-c .visore button:focus-visible { outline-color: #FFFFFF; }

.tema-c input[type="text"],.tema-c input[type="search"],.tema-c input[type="email"],.tema-c input[type="tel"],.tema-c select,.tema-c textarea {
  background-color: var(--c-campo); color: #FFFFFF; border-color: #7E9799; border-radius: 10px;
}

.tema-c input[aria-invalid="true"],.tema-c select[aria-invalid="true"],.tema-c textarea[aria-invalid="true"] { border-color: var(--errore); border-width: 2px; }

.tema-c .ricerca .pulsante { border-radius: 0 999px 999px 0; }
.tema-c .ricerca input { border-radius: 999px 0 0 999px; padding-left: var(--s5); }
.tema-c .modulo,.tema-c .modulo__riepilogo { border-radius: 16px; }
.tema-c .suggerimenti { border-radius: 12px; overflow: hidden; box-shadow: 0 18px 40px -12px rgba(0, 0, 0, .45); }
.tema-c input::placeholder,.tema-c textarea::placeholder { color: #B9C9CB; opacity: 1; }
.tema-c select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23CBD7D8' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 10l5 5 5-5'/%3E%3C/svg%3E");
}
.tema-c select option { background: #0B2226; color: #FFFFFF; }

.tema-c .mappa__area { border-color: #2E5157; border-radius: 16px; }
.tema-c .mappa__svg .provincia { fill: #15373D; stroke: rgba(159, 211, 211, .3); }
.tema-c .mappa__svg .provincia.attiva,.tema-c .mappa__svg .provincia--attiva,.tema-c .mappa__svg .provincia[aria-current],.tema-c .mappa__svg .provincia.evidenziata { fill: #22545B; stroke: #9FD3D3; }
.tema-c .mappa__etichetta { fill: #B5C6C8; }
.tema-c .mappa__etichetta--attiva { fill: #FFFFFF; }
.tema-c .mappa__comandi button { border-radius: 999px; border-color: #7E9799; }
.tema-c .mappa__comandi button:hover { background: #22545B; }
.tema-c .mappa__comandi .mappa__ripristina { padding-inline: var(--s3); }
.tema-c .mappa__suggerimento { background: #FFFFFF; color: #0F2B30; border-radius: 10px; box-shadow: 0 12px 30px -10px rgba(0, 0, 0, .5); }

.tema-c .pie { background: #0F2B30; color: #F1F4F3; border-top: 1px solid rgba(255, 255, 255, .12); margin-top: var(--s8); }
.tema-c main:has(> .fascia-contatto:last-child) + .pie { margin-top: 0; border-top-color: transparent; }
.tema-c .pie__titolo { color: #FFFFFF; font-stretch: var(--larghezza-titoli); }
.tema-c .pie a:hover { color: #FFFFFF; }
.tema-c .pie__frase,.tema-c .pie__data,.tema-c .pie__riga-societaria,.tema-c .pie__copyright { color: #BCCACA; }
.tema-c .pie__contatti .icona { color: #9FD3D3; }
.tema-c .pie__menu ul { border-left-color: #4A5C5F; }
.tema-c .pie__legale { border-top-color: #4A5C5F; }

@media (prefers-reduced-motion: reduce) {
  .tema-c .galleria__link img { transition: none; }
}

.tema-c .lingue__link,.pagina-home-c .lingue__link { color: #FFFFFF; }
.tema-c .lingue__bandiera,.pagina-home-c .lingue__bandiera { box-shadow: 0 0 0 1px rgba(255, 255, 255, .5); }
.tema-c .lingue__link:hover .lingue__bandiera,.pagina-home-c .lingue__link:hover .lingue__bandiera { box-shadow: 0 0 0 2px #FFFFFF; }
.tema-c .lingue__link:focus-visible,.pagina-home-c .lingue__link:focus-visible { outline-color: #FFFFFF; }

