@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Big+Shoulders+Display:wght@400;600;700;900&family=Source+Serif+4:ital,wght@0,300;0,400;0,600;1,300;1,400&display=swap');

:root {
  --gpd-avorio: #d2cfc6;
  --gpd-inchiostro: #151614;
  --gpd-corallo: #dc1c0f;
  --gpd-salvia: #8d877a;
  --gpd-ambra: #bb4c1f;
  --gpd-avorio-scuro: #c3bfb6;
  --gpd-inchiostro-chiaro: #2f312d;
  --gpd-corallo-chiaro: #f0483a;
  --gpd-bg: #d2cfc6;
  --gpd-testo: #151614;
  --gpd-testo-morbido: #343530;
  --gpd-bordo: #8d877a;
  --gpd-raggio: 3px;
  --gpd-raggio-medio: 6px;
  --gpd-ombra: 0 2px 12px rgba(26,35,64,0.10);
  --gpd-ombra-forte: 0 6px 28px rgba(26,35,64,0.18);
  --gpd-font-titolo: 'Bebas Neue', 'Arial Black', 'Helvetica Neue', sans-serif;
  --gpd-font-corpo: 'Big Shoulders Display', 'Helvetica Neue', sans-serif;
  --gpd-spazio-xs: clamp(0.4rem, 1vw, 0.6rem);
  --gpd-spazio-sm: clamp(0.75rem, 2vw, 1rem);
  --gpd-spazio-md: clamp(1rem, 3vw, 1.75rem);
  --gpd-spazio-lg: clamp(1.5rem, 4vw, 3rem);
  --gpd-spazio-xl: clamp(2.5rem, 6vw, 5rem);
  --gpd-max: 1280px;
}

*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  scroll-behavior: smooth;
  font-size: 100%;
  background: var(--gpd-bg);
  color: var(--gpd-testo);
}

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

body {
  font-family: var(--gpd-font-corpo);
  font-size: clamp(0.9375rem, 1.5vw, 1.0625rem);
  line-height: 1.65;
  background: var(--gpd-bg);
  color: var(--gpd-testo);
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

.gpd-skip-link {
  position: absolute;
  top: -100px;
  left: 1rem;
  background: var(--gpd-corallo);
  color: #fff;
  padding: 0.5rem 1.25rem;
  font-family: var(--gpd-font-titolo);
  font-size: 1rem;
  font-weight: 700;
  text-decoration: none;
  border-radius: var(--gpd-raggio);
  z-index: 9999;
  transition: top 0.2s;
}

.gpd-skip-link:focus {
  top: 1rem;
}

a {
  color: var(--gpd-corallo);
  text-decoration: underline;
  text-underline-offset: 3px;
}

a:hover { color: var(--gpd-corallo-chiaro); }
a:focus-visible {
  outline: 3px solid var(--gpd-ambra);
  outline-offset: 3px;
  border-radius: var(--gpd-raggio);
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--gpd-font-titolo);
  font-weight: 900;
  line-height: 1.1;
  color: var(--gpd-inchiostro);
  text-transform: uppercase;
  letter-spacing: 0.02em;
}

h1 { font-size: clamp(2.2rem, 6vw, 5rem); }
h2 { font-size: clamp(1.6rem, 4vw, 3rem); }
h3 { font-size: clamp(1.25rem, 3vw, 2rem); }
h4 { font-size: clamp(1.05rem, 2.5vw, 1.5rem); }
h5 { font-size: clamp(0.95rem, 2vw, 1.25rem); }

p { margin-bottom: var(--gpd-spazio-sm); }

img { max-width: 100%; height: auto; display: block; }

ul, ol { padding-left: 1.4em; }
li { margin-bottom: 0.35em; }

strong { font-weight: 600; }
em { font-style: italic; }

main { flex: 1; }

.gpd-contenitore {
  width: 100%;
  max-width: var(--gpd-max);
  margin-inline: auto;
  padding-inline: clamp(1rem, 4vw, 2.5rem);
}

.gpd-sezione {
  padding-block: var(--gpd-spazio-xl);
}

.gpd-etichetta-sezione {
  font-family: var(--gpd-font-titolo);
  font-size: clamp(0.65rem, 1.2vw, 0.8rem);
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--gpd-corallo);
  display: block;
  margin-bottom: var(--gpd-spazio-xs);
}

.gpd-titolo-sezione {
  font-size: clamp(1.6rem, 4vw, 3rem);
  margin-bottom: var(--gpd-spazio-md);
  max-width: 22ch;
}

.gpd-sottotitolo-sezione {
  font-family: var(--gpd-font-corpo);
  font-size: clamp(0.9rem, 1.8vw, 1.1rem);
  font-weight: 400;
  color: var(--gpd-testo-morbido);
  max-width: 60ch;
  line-height: 1.6;
  margin-bottom: var(--gpd-spazio-lg);
  text-transform: none;
  letter-spacing: 0;
}

.gpd-divisore {
  border: none;
  border-top: 2px solid var(--gpd-bordo);
  margin-block: var(--gpd-spazio-lg);
}

.gpd-tasto {
  display: inline-block;
  font-family: var(--gpd-font-titolo);
  font-size: clamp(0.85rem, 1.5vw, 1rem);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  text-decoration: none;
  padding: 0.6em 1.6em;
  border-radius: var(--gpd-raggio);
  border: 2px solid transparent;
  cursor: pointer;
  transition: background 0.2s, color 0.2s, border-color 0.2s, transform 0.15s;
}

.gpd-tasto:focus-visible {
  outline: 3px solid var(--gpd-ambra);
  outline-offset: 3px;
}

.gpd-tasto-primario {
  background: var(--gpd-corallo);
  color: #fff;
  border-color: var(--gpd-corallo);
}

.gpd-tasto-primario:hover {
  background: var(--gpd-corallo-chiaro);
  border-color: var(--gpd-corallo-chiaro);
  color: #fff;
  transform: translateY(-1px);
}

.gpd-tasto-secondario {
  background: transparent;
  color: var(--gpd-inchiostro);
  border-color: var(--gpd-inchiostro);
}

.gpd-tasto-secondario:hover {
  background: var(--gpd-inchiostro);
  color: var(--gpd-avorio);
  transform: translateY(-1px);
}

.gpd-tasto-ambra {
  background: var(--gpd-ambra);
  color: #fff;
  border-color: var(--gpd-ambra);
}

.gpd-tasto-ambra:hover {
  background: #c07d28;
  border-color: #c07d28;
  color: #fff;
}

.gpd-pannello {
  background: var(--gpd-avorio);
  border: 1px solid var(--gpd-bordo);
  border-radius: var(--gpd-raggio-medio);
  padding: var(--gpd-spazio-md);
  box-shadow: var(--gpd-ombra);
}

.gpd-sfondo-inchiostro {
  background: var(--gpd-inchiostro);
  color: var(--gpd-avorio);
}

.gpd-sfondo-inchiostro h1,
.gpd-sfondo-inchiostro h2,
.gpd-sfondo-inchiostro h3,
.gpd-sfondo-inchiostro h4 {
  color: var(--gpd-avorio);
}

.gpd-sfondo-inchiostro a {
  color: var(--gpd-ambra);
}

.gpd-sfondo-corallo {
  background: var(--gpd-corallo);
  color: #fff;
}

.gpd-sfondo-corallo h1,
.gpd-sfondo-corallo h2,
.gpd-sfondo-corallo h3 {
  color: #fff;
}

.gpd-sfondo-avorio-scuro {
  background: var(--gpd-avorio-scuro);
}

.gpd-testo-corallo { color: var(--gpd-corallo); }
.gpd-testo-ambra { color: var(--gpd-ambra); }
.gpd-testo-salvia { color: var(--gpd-salvia); }

.gpd-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  white-space: nowrap;
  border: 0;
}

/* HEADER */
.gpd-testata {
  background: var(--gpd-inchiostro);
  color: var(--gpd-avorio);
  position: sticky;
  top: 0;
  z-index: 200;
  border-bottom: 3px solid var(--gpd-corallo);
}

.gpd-testata-interna {
  display: grid;
  grid-template-columns: 1fr auto auto;
  align-items: center;
  gap: var(--gpd-spazio-sm);
  padding-block: var(--gpd-spazio-sm);
}

.gpd-marca {
  display: flex;
  flex-direction: column;
  text-decoration: none;
  color: inherit;
}

.gpd-marca-titolo {
  font-family: var(--gpd-font-titolo);
  font-size: clamp(1.1rem, 3vw, 1.6rem);
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--gpd-avorio);
  line-height: 1;
}

.gpd-marca-titolo span {
  color: var(--gpd-corallo);
}

.gpd-marca-sotto {
  font-family: var(--gpd-font-corpo);
  font-size: 0.7rem;
  color: var(--gpd-salvia);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin-top: 2px;
}

.gpd-nav-principale {
  display: none;
}

@media (min-width: 768px) {
  .gpd-nav-principale {
    display: flex;
    align-items: center;
  }

  .gpd-nav-principale ul {
    display: flex;
    align-items: center;
    gap: clamp(0.5rem, 2vw, 1.5rem);
    list-style: none;
    padding: 0;
    margin: 0;
  }

  .gpd-nav-principale ul li {
    margin: 0;
  }

  .gpd-nav-principale a {
    font-family: var(--gpd-font-titolo);
    font-size: clamp(0.75rem, 1.2vw, 0.9rem);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--gpd-avorio);
    text-decoration: none;
    padding: 0.25em 0.5em;
    border-bottom: 2px solid transparent;
    transition: color 0.2s, border-color 0.2s;
  }

  .gpd-nav-principale a:hover,
  .gpd-nav-principale a[aria-current="page"] {
    color: var(--gpd-ambra);
    border-bottom-color: var(--gpd-ambra);
  }

  .gpd-nav-principale a:focus-visible {
    outline: 3px solid var(--gpd-ambra);
    outline-offset: 3px;
  }
}

.gpd-btn-menu {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  width: 40px;
  height: 40px;
  background: none;
  border: 2px solid var(--gpd-salvia);
  border-radius: var(--gpd-raggio);
  cursor: pointer;
  padding: 6px;
  transition: border-color 0.2s;
}

.gpd-btn-menu:focus-visible {
  outline: 3px solid var(--gpd-ambra);
  outline-offset: 3px;
}

.gpd-btn-menu:hover { border-color: var(--gpd-ambra); }

.gpd-btn-menu span {
  display: block;
  height: 2px;
  background: var(--gpd-avorio);
  border-radius: 2px;
  transition: transform 0.2s, opacity 0.2s;
}

.gpd-btn-menu[aria-expanded="true"] span:nth-child(1) {
  transform: translateY(7px) rotate(45deg);
}

.gpd-btn-menu[aria-expanded="true"] span:nth-child(2) {
  opacity: 0;
}

.gpd-btn-menu[aria-expanded="true"] span:nth-child(3) {
  transform: translateY(-7px) rotate(-45deg);
}

@media (min-width: 768px) {
  .gpd-btn-menu { display: none; }
}

.gpd-nav-mobile {
  display: none;
  background: var(--gpd-inchiostro-chiaro);
  border-top: 1px solid rgba(255,255,255,0.08);
}

.gpd-nav-mobile.gpd-nav-aperta {
  display: block;
}

.gpd-nav-mobile ul {
  list-style: none;
  padding: var(--gpd-spazio-sm) 0;
  margin: 0;
}

.gpd-nav-mobile ul li {
  margin: 0;
}

.gpd-nav-mobile a {
  display: block;
  font-family: var(--gpd-font-titolo);
  font-size: 1.1rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--gpd-avorio);
  text-decoration: none;
  padding: 0.75rem clamp(1rem, 4vw, 2.5rem);
  border-bottom: 1px solid rgba(255,255,255,0.06);
  transition: background 0.2s, color 0.2s;
}

.gpd-nav-mobile a:hover,
.gpd-nav-mobile a[aria-current="page"] {
  background: rgba(201,79,58,0.2);
  color: var(--gpd-ambra);
}

.gpd-nav-mobile a:focus-visible {
  outline: 3px solid var(--gpd-ambra);
  outline-offset: -3px;
}

/* FOOTER */
.gpd-pie {
  background: var(--gpd-inchiostro);
  color: var(--gpd-avorio);
  padding-block: var(--gpd-spazio-xl);
  margin-top: auto;
}

.gpd-pie-griglia {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--gpd-spazio-lg);
}

@media (min-width: 640px) {
  .gpd-pie-griglia {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 1024px) {
  .gpd-pie-griglia {
    grid-template-columns: 2fr 1fr 1fr 1fr;
  }
}

.gpd-pie h3 {
  font-size: clamp(0.85rem, 1.5vw, 1rem);
  color: var(--gpd-avorio);
  margin-bottom: var(--gpd-spazio-sm);
  letter-spacing: 0.12em;
}

.gpd-pie p {
  font-size: 0.875rem;
  color: var(--gpd-salvia);
  line-height: 1.6;
  margin-bottom: var(--gpd-spazio-xs);
}

.gpd-pie a {
  color: var(--gpd-salvia);
  font-size: 0.875rem;
  text-decoration: none;
  display: block;
  margin-bottom: 0.35em;
  transition: color 0.2s;
}

.gpd-pie a:hover { color: var(--gpd-ambra); }

.gpd-pie a:focus-visible {
  outline: 3px solid var(--gpd-ambra);
  outline-offset: 3px;
  border-radius: var(--gpd-raggio);
}

.gpd-pie-fondo {
  border-top: 1px solid rgba(255,255,255,0.1);
  margin-top: var(--gpd-spazio-lg);
  padding-top: var(--gpd-spazio-md);
  display: flex;
  flex-wrap: wrap;
  gap: var(--gpd-spazio-sm);
  justify-content: space-between;
  align-items: flex-start;
}

.gpd-pie-fondo p {
  font-size: 0.8rem;
  color: rgba(245,240,232,0.5);
  margin: 0;
}

.gpd-pie-disclaimer {
  font-size: 0.8rem;
  color: rgba(245,240,232,0.45);
  line-height: 1.55;
  max-width: 70ch;
}

/* COOKIE BANNER */
.gpd-cookie-banda {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  background: var(--gpd-inchiostro);
  color: var(--gpd-avorio);
  padding: var(--gpd-spazio-md) clamp(1rem, 4vw, 2.5rem);
  z-index: 1000;
  border-top: 3px solid var(--gpd-ambra);
  display: flex;
  flex-wrap: wrap;
  gap: var(--gpd-spazio-sm);
  align-items: center;
  justify-content: space-between;
  box-shadow: 0 -4px 24px rgba(26,35,64,0.25);
}

.gpd-cookie-banda[hidden] { display: none; }

.gpd-cookie-testo {
  flex: 1;
  min-width: 220px;
  font-size: clamp(0.8rem, 1.4vw, 0.9rem);
  line-height: 1.5;
  color: var(--gpd-salvia);
}

.gpd-cookie-testo a {
  color: var(--gpd-ambra);
}

.gpd-cookie-azioni {
  display: flex;
  gap: var(--gpd-spazio-sm);
  flex-wrap: wrap;
}

.gpd-cookie-azioni button {
  font-family: var(--gpd-font-titolo);
  font-size: 0.875rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  padding: 0.5em 1.4em;
  border-radius: var(--gpd-raggio);
  cursor: pointer;
  transition: background 0.2s, color 0.2s, border-color 0.2s;
  border: 2px solid var(--gpd-ambra);
}

.gpd-cookie-azioni button:focus-visible {
  outline: 3px solid var(--gpd-avorio);
  outline-offset: 3px;
}

.gpd-btn-accetta {
  background: var(--gpd-ambra);
  color: var(--gpd-inchiostro);
}

.gpd-btn-accetta:hover {
  background: #c07d28;
  border-color: #c07d28;
  color: #fff;
}

.gpd-btn-non-ora {
  background: transparent;
  color: var(--gpd-avorio);
}

.gpd-btn-non-ora:hover {
  background: rgba(255,255,255,0.08);
}

/* HERO / MASTHEAD */
.gpd-masthead {
  background: var(--gpd-inchiostro);
  color: var(--gpd-avorio);
  overflow: hidden;
  position: relative;
  padding-block: var(--gpd-spazio-xl);
}

.gpd-masthead::before {
  content: '';
  position: absolute;
  top: -40%;
  right: -10%;
  width: 55%;
  height: 200%;
  background: linear-gradient(135deg, var(--gpd-corallo) 0%, transparent 60%);
  opacity: 0.12;
  pointer-events: none;
}

.gpd-masthead-interna {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--gpd-spazio-lg);
  align-items: center;
  position: relative;
  z-index: 1;
}

@media (min-width: 900px) {
  .gpd-masthead-interna {
    grid-template-columns: 1.4fr 1fr;
  }
}

.gpd-masthead h1 {
  color: var(--gpd-avorio);
  margin-bottom: var(--gpd-spazio-sm);
}

.gpd-masthead h1 em {
  color: var(--gpd-corallo);
  font-style: normal;
}

.gpd-masthead-intro {
  font-size: clamp(1rem, 2vw, 1.2rem);
  color: var(--gpd-salvia);
  max-width: 52ch;
  line-height: 1.6;
  margin-bottom: var(--gpd-spazio-md);
  font-family: var(--gpd-font-corpo);
  text-transform: none;
  font-weight: 400;
  letter-spacing: 0;
}

.gpd-masthead-azioni {
  display: flex;
  flex-wrap: wrap;
  gap: var(--gpd-spazio-sm);
  align-items: center;
}

.gpd-masthead-pannello {
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: var(--gpd-raggio-medio);
  padding: var(--gpd-spazio-md);
}

.gpd-masthead-stat {
  display: flex;
  flex-direction: column;
  gap: var(--gpd-spazio-xs);
  margin-bottom: var(--gpd-spazio-sm);
}

.gpd-stat-numero {
  font-family: var(--gpd-font-titolo);
  font-size: clamp(2rem, 5vw, 3.5rem);
  font-weight: 900;
  color: var(--gpd-ambra);
  line-height: 1;
}

.gpd-stat-desc {
  font-size: 0.875rem;
  color: var(--gpd-salvia);
  text-transform: none;
  font-family: var(--gpd-font-corpo);
  font-weight: 400;
  letter-spacing: 0;
}

/* MAP OF NEEDS */
.gpd-mappa-bisogni {
  background: var(--gpd-avorio);
}

.gpd-bisogni-griglia {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: var(--gpd-spazio-md);
}

.gpd-bisogno-scheda {
  background: var(--gpd-bg);
  border: 1px solid var(--gpd-bordo);
  border-radius: var(--gpd-raggio-medio);
  padding: var(--gpd-spazio-md);
  border-left: 4px solid var(--gpd-ambra);
  transition: box-shadow 0.2s, transform 0.2s;
}

.gpd-bisogno-scheda:hover {
  box-shadow: var(--gpd-ombra);
  transform: translateY(-2px);
}

.gpd-bisogno-scheda:nth-child(2) { border-left-color: var(--gpd-corallo); }
.gpd-bisogno-scheda:nth-child(3) { border-left-color: var(--gpd-inchiostro); }
.gpd-bisogno-scheda:nth-child(4) { border-left-color: var(--gpd-salvia); }
.gpd-bisogno-scheda:nth-child(5) { border-left-color: var(--gpd-ambra); }

.gpd-bisogno-scheda h3 {
  font-size: clamp(1rem, 2vw, 1.25rem);
  margin-bottom: var(--gpd-spazio-xs);
  color: var(--gpd-inchiostro);
}

.gpd-bisogno-scheda p {
  font-size: 0.9rem;
  color: var(--gpd-testo-morbido);
  margin: 0;
}

/* COMPARISON MATRIX */
.gpd-matrice {
  background: var(--gpd-bg);
}

.gpd-matrice-contenuto {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.gpd-tabella-confronto {
  width: 100%;
  border-collapse: collapse;
  min-width: 640px;
  font-size: clamp(0.8rem, 1.4vw, 0.95rem);
}

.gpd-tabella-confronto thead {
  background: var(--gpd-inchiostro);
  color: var(--gpd-avorio);
}

.gpd-tabella-confronto th {
  font-family: var(--gpd-font-titolo);
  font-size: clamp(0.75rem, 1.2vw, 0.9rem);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  padding: 0.75em 1em;
  text-align: left;
  border-right: 1px solid rgba(255,255,255,0.1);
}

.gpd-tabella-confronto th:last-child { border-right: none; }

.gpd-tabella-confronto td {
  padding: 0.75em 1em;
  border-bottom: 1px solid var(--gpd-bordo);
  border-right: 1px solid var(--gpd-bordo);
  color: var(--gpd-testo);
  vertical-align: middle;
}

.gpd-tabella-confronto td:last-child { border-right: none; }

.gpd-tabella-confronto tbody tr:nth-child(even) {
  background: var(--gpd-avorio);
}

.gpd-tabella-confronto tbody tr:hover {
  background: var(--gpd-avorio-scuro);
}

.gpd-tabella-confronto td:first-child {
  font-family: var(--gpd-font-titolo);
  font-weight: 700;
  font-size: clamp(0.85rem, 1.4vw, 1rem);
  text-transform: uppercase;
  color: var(--gpd-inchiostro);
}

.gpd-indicatore {
  display: inline-block;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  margin-right: 0.3em;
  vertical-align: middle;
}

.gpd-ind-alto { background: var(--gpd-corallo); }
.gpd-ind-medio { background: var(--gpd-ambra); }
.gpd-ind-basso { background: var(--gpd-salvia); }

/* READING PATH */
.gpd-percorso {
  background: var(--gpd-avorio);
}

.gpd-percorso-passi {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
  counter-reset: passo-cnt;
}

@media (min-width: 768px) {
  .gpd-percorso-passi {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 1100px) {
  .gpd-percorso-passi {
    grid-template-columns: repeat(4, 1fr);
  }
}

.gpd-passo {
  counter-increment: passo-cnt;
  padding: var(--gpd-spazio-md);
  border: 1px solid var(--gpd-bordo);
  background: var(--gpd-bg);
  position: relative;
  overflow: hidden;
}

.gpd-passo::before {
  content: counter(passo-cnt, decimal-leading-zero);
  position: absolute;
  top: -0.15em;
  right: 0.2em;
  font-family: var(--gpd-font-titolo);
  font-size: 4.5rem;
  font-weight: 900;
  color: var(--gpd-bordo);
  line-height: 1;
  pointer-events: none;
}

.gpd-passo h3 {
  font-size: clamp(1rem, 2vw, 1.3rem);
  margin-bottom: var(--gpd-spazio-xs);
  position: relative;
  z-index: 1;
}

.gpd-passo p {
  font-size: 0.9rem;
  color: var(--gpd-testo-morbido);
  position: relative;
  z-index: 1;
  margin: 0;
}

.gpd-passo a {
  font-family: var(--gpd-font-titolo);
  font-size: 0.85rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  display: inline-block;
  margin-top: var(--gpd-spazio-xs);
  position: relative;
  z-index: 1;
}

/* SAFETY CHECKLIST */
.gpd-lista-sicurezza {
  background: var(--gpd-inchiostro);
  color: var(--gpd-avorio);
}

.gpd-lista-sicurezza h2,
.gpd-lista-sicurezza .gpd-titolo-sezione {
  color: var(--gpd-avorio);
}

.gpd-lista-sicurezza .gpd-etichetta-sezione {
  color: var(--gpd-ambra);
}

.gpd-checklist {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--gpd-spazio-sm);
  list-style: none;
  padding: 0;
}

@media (min-width: 640px) {
  .gpd-checklist {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 1024px) {
  .gpd-checklist {
    grid-template-columns: repeat(3, 1fr);
  }
}

.gpd-checklist li {
  display: flex;
  gap: var(--gpd-spazio-sm);
  align-items: flex-start;
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: var(--gpd-raggio-medio);
  padding: var(--gpd-spazio-sm);
  margin: 0;
}

.gpd-check-icona {
  flex-shrink: 0;
  width: 24px;
  height: 24px;
  background: var(--gpd-corallo);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.gpd-check-icona::after {
  content: '';
  width: 8px;
  height: 5px;
  border-left: 2px solid #fff;
  border-bottom: 2px solid #fff;
  transform: rotate(-45deg) translateY(-1px);
  display: block;
}

.gpd-checklist li > div {
  flex: 1;
}

.gpd-checklist li strong {
  display: block;
  font-family: var(--gpd-font-titolo);
  font-size: 0.9rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--gpd-avorio);
  margin-bottom: 0.2em;
}

.gpd-checklist li p {
  font-size: 0.85rem;
  color: var(--gpd-salvia);
  margin: 0;
}

/* GLOSSARY PREVIEW */
.gpd-glossario-anteprima {
  background: var(--gpd-avorio-scuro);
}

.gpd-glossario-striscia {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: var(--gpd-spazio-sm);
  margin-bottom: var(--gpd-spazio-md);
}

.gpd-termine-scheda {
  background: var(--gpd-avorio);
  border: 1px solid var(--gpd-bordo);
  border-radius: var(--gpd-raggio);
  padding: var(--gpd-spazio-sm);
}

.gpd-termine-scheda dt {
  font-family: var(--gpd-font-titolo);
  font-size: 0.95rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--gpd-corallo);
  margin-bottom: 0.3em;
}

.gpd-termine-scheda dd {
  font-size: 0.85rem;
  color: var(--gpd-testo-morbido);
  margin: 0;
}

/* METHODOLOGY */
.gpd-metodologia {
  background: var(--gpd-bg);
}

.gpd-metodo-griglia {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--gpd-spazio-md);
}

@media (min-width: 900px) {
  .gpd-metodo-griglia {
    grid-template-columns: 1fr 1fr;
  }
}

.gpd-metodo-pilastro {
  background: var(--gpd-avorio);
  border: 1px solid var(--gpd-bordo);
  border-top: 4px solid var(--gpd-ambra);
  border-radius: var(--gpd-raggio-medio);
  padding: var(--gpd-spazio-md);
}

.gpd-metodo-pilastro:nth-child(2) { border-top-color: var(--gpd-corallo); }
.gpd-metodo-pilastro:nth-child(3) { border-top-color: var(--gpd-inchiostro); }
.gpd-metodo-pilastro:nth-child(4) { border-top-color: var(--gpd-salvia); }

.gpd-metodo-pilastro h3 {
  font-size: clamp(1rem, 2vw, 1.3rem);
  margin-bottom: var(--gpd-spazio-xs);
}

.gpd-metodo-pilastro p {
  font-size: 0.9rem;
  color: var(--gpd-testo-morbido);
  margin: 0;
}

/* CONTACT MODULE */
.gpd-modulo-contatto {
  background: var(--gpd-corallo);
  color: #fff;
}

.gpd-modulo-contatto h2,
.gpd-modulo-contatto .gpd-titolo-sezione {
  color: #fff;
}

.gpd-modulo-contatto .gpd-etichetta-sezione {
  color: rgba(255,255,255,0.7);
}

.gpd-modulo-contatto .gpd-sottotitolo-sezione {
  color: rgba(255,255,255,0.85);
}

.gpd-form-griglia {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--gpd-spazio-sm);
}

@media (min-width: 640px) {
  .gpd-form-griglia {
    grid-template-columns: 1fr 1fr;
  }
}

.gpd-campo {
  display: flex;
  flex-direction: column;
  gap: 0.35em;
}

.gpd-campo.gpd-campo-intero {
  grid-column: 1 / -1;
}

.gpd-campo label {
  font-family: var(--gpd-font-titolo);
  font-size: 0.8rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}

.gpd-campo-modulo-contatto > label {
  color: rgba(255,255,255,0.85) !important;
}

.gpd-input,
.gpd-textarea,
.gpd-select {
  font-family: var(--gpd-font-corpo);
  font-size: 0.95rem;
  padding: 0.65em 0.9em;
  border-radius: var(--gpd-raggio);
  border: 2px solid rgba(255,255,255,0.3);
  background: rgba(255,255,255,0.12);
  color: #fff;
  transition: border-color 0.2s, background 0.2s;
  width: 100%;
}

.gpd-input::placeholder,
.gpd-textarea::placeholder {
  color: rgba(255,255,255,0.5);
}

.gpd-input:focus,
.gpd-textarea:focus,
.gpd-select:focus {
  outline: none;
  border-color: #fff;
  background: rgba(255,255,255,0.18);
}

.gpd-input:focus-visible,
.gpd-textarea:focus-visible,
.gpd-select:focus-visible {
  outline: 3px solid var(--gpd-ambra);
  outline-offset: 2px;
}

.gpd-textarea {
  resize: vertical;
  min-height: 120px;
}

.gpd-input-chiaro,
.gpd-textarea-chiaro,
.gpd-select-chiaro {
  border-color: var(--gpd-bordo);
  background: var(--gpd-avorio);
  color: var(--gpd-testo);
}

.gpd-input-chiaro::placeholder,
.gpd-textarea-chiaro::placeholder {
  color: var(--gpd-salvia);
}

.gpd-input-chiaro:focus,
.gpd-textarea-chiaro:focus,
.gpd-select-chiaro:focus {
  border-color: var(--gpd-inchiostro);
  background: #fff;
}

.gpd-input-chiaro:focus-visible,
.gpd-textarea-chiaro:focus-visible,
.gpd-select-chiaro:focus-visible {
  outline: 3px solid var(--gpd-ambra);
  outline-offset: 2px;
}

.gpd-select-chiaro {
  border-color: var(--gpd-bordo);
  background: var(--gpd-avorio);
  color: var(--gpd-testo);
}

.gpd-campo label {
  color: var(--gpd-inchiostro);
}

/* LEGAL DISCLAIMER */
.gpd-disclaimer-legale {
  background: var(--gpd-avorio-scuro);
  border-top: 3px solid var(--gpd-ambra);
}

/* Standalone gpd-campo-intero (without gpd-campo sibling) */
.gpd-campo-intero {
  grid-column: 1 / -1;
}

.gpd-disclaimer-testo {
  font-size: 0.875rem;
  color: var(--gpd-testo-morbido);
  line-height: 1.65;
  max-width: 80ch;
}

/* INNER PAGE HERO */
.gpd-hero-pagina {
  background: var(--gpd-inchiostro);
  color: var(--gpd-avorio);
  padding-block: var(--gpd-spazio-lg);
  border-bottom: 3px solid var(--gpd-corallo);
}

.gpd-hero-pagina h1 {
  color: var(--gpd-avorio);
  margin-bottom: var(--gpd-spazio-xs);
}

.gpd-hero-pagina h1 em {
  color: var(--gpd-corallo);
  font-style: normal;
}

.gpd-hero-pagina p {
  font-size: clamp(0.95rem, 2vw, 1.15rem);
  color: var(--gpd-salvia);
  max-width: 60ch;
  margin: 0;
  text-transform: none;
}

/* ARTICLE CONTENT */
.gpd-articolo {
  background: var(--gpd-avorio);
}

.gpd-articolo-corpo {
  max-width: 72ch;
}

.gpd-articolo h2 {
  font-size: clamp(1.4rem, 3vw, 2.2rem);
  margin-top: var(--gpd-spazio-lg);
  margin-bottom: var(--gpd-spazio-sm);
  color: var(--gpd-inchiostro);
}

.gpd-articolo h3 {
  font-size: clamp(1.1rem, 2.2vw, 1.6rem);
  margin-top: var(--gpd-spazio-md);
  margin-bottom: var(--gpd-spazio-xs);
  color: var(--gpd-inchiostro);
}

.gpd-articolo h4 {
  font-size: clamp(1rem, 1.8vw, 1.25rem);
  margin-top: var(--gpd-spazio-sm);
  margin-bottom: var(--gpd-spazio-xs);
  color: var(--gpd-inchiostro);
}

.gpd-articolo p {
  line-height: 1.7;
  color: var(--gpd-testo-morbido);
}

.gpd-articolo ul,
.gpd-articolo ol {
  margin-bottom: var(--gpd-spazio-sm);
  color: var(--gpd-testo-morbido);
}

.gpd-articolo li {
  line-height: 1.65;
  margin-bottom: 0.5em;
}

.gpd-blocco-rilievo {
  background: var(--gpd-bg);
  border-left: 4px solid var(--gpd-ambra);
  border-radius: 0 var(--gpd-raggio-medio) var(--gpd-raggio-medio) 0;
  padding: var(--gpd-spazio-sm) var(--gpd-spazio-md);
  margin-block: var(--gpd-spazio-md);
}

.gpd-blocco-rilievo p { margin: 0; }

.gpd-blocco-attenzione {
  background: rgba(201,79,58,0.08);
  border-left: 4px solid var(--gpd-corallo);
  border-radius: 0 var(--gpd-raggio-medio) var(--gpd-raggio-medio) 0;
  padding: var(--gpd-spazio-sm) var(--gpd-spazio-md);
  margin-block: var(--gpd-spazio-md);
}

.gpd-blocco-attenzione p { margin: 0; }

/* SIDEBAR */
.gpd-layout-con-barra {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--gpd-spazio-lg);
  align-items: start;
}

@media (min-width: 1024px) {
  .gpd-layout-con-barra {
    grid-template-columns: 1fr 320px;
  }
}

.gpd-barra-laterale {
  display: flex;
  flex-direction: column;
  gap: var(--gpd-spazio-md);
}

.gpd-widget {
  background: var(--gpd-bg);
  border: 1px solid var(--gpd-bordo);
  border-radius: var(--gpd-raggio-medio);
  padding: var(--gpd-spazio-md);
}

.gpd-widget h3 {
  font-size: 1rem;
  margin-bottom: var(--gpd-spazio-sm);
  color: var(--gpd-inchiostro);
  border-bottom: 2px solid var(--gpd-ambra);
  padding-bottom: var(--gpd-spazio-xs);
}

.gpd-widget ul {
  list-style: none;
  padding: 0;
}

.gpd-widget ul li {
  padding: 0.35em 0;
  border-bottom: 1px solid var(--gpd-bordo);
  margin: 0;
}

.gpd-widget ul li:last-child { border-bottom: none; }

.gpd-widget a {
  font-size: 0.9rem;
  text-decoration: none;
  color: var(--gpd-inchiostro);
}

.gpd-widget a:hover { color: var(--gpd-corallo); }

/* GLOSSARY PAGE */
.gpd-glossario-voci {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--gpd-spazio-sm);
}

@media (min-width: 640px) {
  .gpd-glossario-voci {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 1024px) {
  .gpd-glossario-voci {
    grid-template-columns: repeat(3, 1fr);
  }
}

.gpd-voce-glossario {
  background: var(--gpd-avorio);
  border: 1px solid var(--gpd-bordo);
  border-radius: var(--gpd-raggio-medio);
  padding: var(--gpd-spazio-sm) var(--gpd-spazio-md);
}

.gpd-voce-glossario dt {
  font-family: var(--gpd-font-titolo);
  font-size: 1rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--gpd-corallo);
  margin-bottom: 0.35em;
}

.gpd-voce-glossario dd {
  font-size: 0.9rem;
  color: var(--gpd-testo-morbido);
  margin: 0;
  line-height: 1.55;
}

.gpd-alfabeto-barra {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4em;
  margin-bottom: var(--gpd-spazio-md);
}

.gpd-alfabeto-barra a {
  font-family: var(--gpd-font-titolo);
  font-size: 0.9rem;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--gpd-inchiostro);
  text-decoration: none;
  padding: 0.25em 0.55em;
  border: 1px solid var(--gpd-bordo);
  border-radius: var(--gpd-raggio);
  background: var(--gpd-avorio);
  transition: background 0.2s, color 0.2s;
}

.gpd-alfabeto-barra a:hover {
  background: var(--gpd-inchiostro);
  color: var(--gpd-avorio);
}

.gpd-lettera-sezione {
  margin-top: var(--gpd-spazio-lg);
}

.gpd-lettera-sezione h2 {
  font-size: clamp(2rem, 5vw, 4rem);
  color: var(--gpd-corallo);
  margin-bottom: var(--gpd-spazio-sm);
  border-bottom: 3px solid var(--gpd-bordo);
  padding-bottom: var(--gpd-spazio-xs);
}

/* CONTACT PAGE */
.gpd-contatti-griglia {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--gpd-spazio-lg);
  align-items: start;
}

@media (min-width: 900px) {
  .gpd-contatti-griglia {
    grid-template-columns: 1.5fr 1fr;
  }
}

.gpd-info-contatto {
  display: flex;
  flex-direction: column;
  gap: var(--gpd-spazio-md);
}

.gpd-info-item {
  display: flex;
  gap: var(--gpd-spazio-sm);
  align-items: flex-start;
  padding-bottom: var(--gpd-spazio-sm);
  border-bottom: 1px solid var(--gpd-bordo);
}

.gpd-info-item:last-child { border-bottom: none; }

.gpd-info-etichetta {
  font-family: var(--gpd-font-titolo);
  font-size: 0.8rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--gpd-corallo);
  min-width: 90px;
  padding-top: 0.15em;
}

.gpd-info-valore {
  font-size: 0.95rem;
  color: var(--gpd-testo-morbido);
  line-height: 1.55;
}

.gpd-form-contatti {
  background: var(--gpd-avorio);
  border: 1px solid var(--gpd-bordo);
  border-radius: var(--gpd-raggio-medio);
  padding: var(--gpd-spazio-lg);
  box-shadow: var(--gpd-ombra);
}

.gpd-form-contatti h2 {
  font-size: clamp(1.3rem, 2.5vw, 1.8rem);
  margin-bottom: var(--gpd-spazio-md);
}

.gpd-form-contatti .gpd-campo label {
  color: var(--gpd-inchiostro);
}

.gpd-form-bassa-priorita {
  font-size: 0.8rem;
  color: var(--gpd-salvia);
  margin-top: var(--gpd-spazio-xs);
}

/* SUCCESS PAGE */
.gpd-successo-centro {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 60vh;
  text-align: center;
  padding: var(--gpd-spazio-xl);
}

.gpd-successo-icona {
  width: 80px;
  height: 80px;
  background: var(--gpd-corallo);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: var(--gpd-spazio-md);
}

.gpd-successo-icona::after {
  content: '';
  width: 28px;
  height: 18px;
  border-left: 4px solid #fff;
  border-bottom: 4px solid #fff;
  transform: rotate(-45deg) translateY(-3px);
  display: block;
}

.gpd-successo-centro h1 {
  margin-bottom: var(--gpd-spazio-sm);
}

.gpd-successo-centro p {
  font-size: clamp(1rem, 2vw, 1.25rem);
  color: var(--gpd-testo-morbido);
  margin-bottom: var(--gpd-spazio-md);
}

/* LEGAL PAGES */
.gpd-legale-corpo {
  background: var(--gpd-avorio);
}

.gpd-legale-corpo h2 {
  font-size: clamp(1.2rem, 2.5vw, 1.8rem);
  margin-top: var(--gpd-spazio-lg);
  margin-bottom: var(--gpd-spazio-sm);
  color: var(--gpd-inchiostro);
}

.gpd-legale-corpo h3 {
  font-size: clamp(1rem, 2vw, 1.35rem);
  margin-top: var(--gpd-spazio-md);
  margin-bottom: var(--gpd-spazio-xs);
}

.gpd-legale-corpo p,
.gpd-legale-corpo li {
  font-size: 0.9375rem;
  color: var(--gpd-testo-morbido);
  line-height: 1.7;
}

.gpd-legale-corpo ul,
.gpd-legale-corpo ol {
  margin-bottom: var(--gpd-spazio-sm);
}

@media print {
  .gpd-testata,
  .gpd-cookie-banda,
  .gpd-btn-menu,
  .gpd-nav-mobile,
  .gpd-pie { display: none !important; }

  body { font-size: 11pt; color: #000; background: #fff; }
  a { color: #000; }
  .gpd-legale-corpo { background: #fff; }
}

/* UTILITIES */
.gpd-text-center { text-align: center; }
.gpd-text-right { text-align: right; }
.gpd-mt-md { margin-top: var(--gpd-spazio-md); }
.gpd-mt-lg { margin-top: var(--gpd-spazio-lg); }
.gpd-mb-0 { margin-bottom: 0; }
.gpd-flex-wrap { display: flex; flex-wrap: wrap; gap: var(--gpd-spazio-sm); }
.gpd-flex-center { display: flex; align-items: center; justify-content: center; gap: var(--gpd-spazio-sm); }
.gpd-nascosto { display: none !important; }

.gpd-tag {
  display: inline-block;
  font-family: var(--gpd-font-titolo);
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  padding: 0.2em 0.65em;
  border-radius: 20px;
  background: var(--gpd-ambra);
  color: #fff;
}

.gpd-tag-corallo { background: var(--gpd-corallo); }
.gpd-tag-inchiostro { background: var(--gpd-inchiostro); }
.gpd-tag-salvia { background: var(--gpd-salvia); color: var(--gpd-inchiostro); }

.gpd-scheda-percorso {
  background: var(--gpd-avorio);
  border: 1px solid var(--gpd-bordo);
  border-radius: var(--gpd-raggio-medio);
  padding: var(--gpd-spazio-md);
  box-shadow: var(--gpd-ombra);
}

.gpd-scheda-percorso h3 {
  font-size: clamp(1rem, 2vw, 1.4rem);
  margin-bottom: var(--gpd-spazio-xs);
}

.gpd-scheda-percorso p {
  font-size: 0.9rem;
  color: var(--gpd-testo-morbido);
}

.gpd-griglia-schede {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: var(--gpd-spazio-md);
}

.gpd-intestazione-sezione {
  margin-bottom: var(--gpd-spazio-lg);
}

.gpd-scenario {
  background: var(--gpd-avorio);
  border: 1px solid var(--gpd-bordo);
  border-radius: var(--gpd-raggio-medio);
  padding: var(--gpd-spazio-md);
  margin-bottom: var(--gpd-spazio-md);
}

.gpd-scenario h3 {
  font-size: clamp(1rem, 2vw, 1.3rem);
  margin-bottom: var(--gpd-spazio-xs);
  color: var(--gpd-inchiostro);
}

.gpd-scenario p {
  font-size: 0.9rem;
  color: var(--gpd-testo-morbido);
  margin: 0;
}

.gpd-bandiera-rossa {
  background: rgba(201,79,58,0.07);
  border: 1px solid rgba(201,79,58,0.25);
  border-left: 4px solid var(--gpd-corallo);
  border-radius: 0 var(--gpd-raggio-medio) var(--gpd-raggio-medio) 0;
  padding: var(--gpd-spazio-sm) var(--gpd-spazio-md);
  margin-bottom: var(--gpd-spazio-sm);
}

.gpd-bandiera-rossa strong {
  font-family: var(--gpd-font-titolo);
  font-size: 0.85rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--gpd-corallo);
  display: block;
  margin-bottom: 0.2em;
}

.gpd-bandiera-rossa p {
  font-size: 0.875rem;
  color: var(--gpd-testo-morbido);
  margin: 0;
}

.gpd-passi-numerati {
  counter-reset: gpd-num;
  list-style: none;
  padding: 0;
}

.gpd-passi-numerati li {
  counter-increment: gpd-num;
  display: flex;
  gap: var(--gpd-spazio-sm);
  align-items: flex-start;
  padding: var(--gpd-spazio-sm);
  background: var(--gpd-avorio);
  border: 1px solid var(--gpd-bordo);
  border-radius: var(--gpd-raggio-medio);
  margin-bottom: var(--gpd-spazio-xs);
}

.gpd-passi-numerati li::before {
  content: counter(gpd-num);
  flex-shrink: 0;
  width: 32px;
  height: 32px;
  background: var(--gpd-corallo);
  color: #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--gpd-font-titolo);
  font-size: 0.9rem;
  font-weight: 900;
}

.gpd-passi-numerati li > div {
  flex: 1;
}

.gpd-passi-numerati li strong {
  display: block;
  font-family: var(--gpd-font-titolo);
  font-size: 0.9rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--gpd-inchiostro);
  margin-bottom: 0.2em;
}

.gpd-passi-numerati li p {
  font-size: 0.875rem;
  color: var(--gpd-testo-morbido);
  margin: 0;
}

.gpd-tabel-sicurezza {
  width: 100%;
  border-collapse: collapse;
  margin-top: var(--gpd-spazio-md);
  font-size: 0.9rem;
}

.gpd-tabel-sicurezza th {
  background: var(--gpd-inchiostro);
  color: var(--gpd-avorio);
  font-family: var(--gpd-font-titolo);
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  padding: 0.75em 1em;
  text-align: left;
}

.gpd-tabel-sicurezza td {
  padding: 0.75em 1em;
  border-bottom: 1px solid var(--gpd-bordo);
  color: var(--gpd-testo-morbido);
  vertical-align: top;
}

.gpd-tabel-sicurezza tbody tr:nth-child(even) {
  background: var(--gpd-avorio);
}

.gpd-navigazione-interna {
  display: flex;
  flex-wrap: wrap;
  gap: var(--gpd-spazio-xs);
  margin-bottom: var(--gpd-spazio-lg);
}

.gpd-navigazione-interna a {
  font-family: var(--gpd-font-titolo);
  font-size: 0.8rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  padding: 0.3em 0.8em;
  border: 1px solid var(--gpd-corallo);
  border-radius: 20px;
  text-decoration: none;
  color: var(--gpd-corallo);
  transition: background 0.2s, color 0.2s;
}

.gpd-navigazione-interna a:hover {
  background: var(--gpd-corallo);
  color: #fff;
}

.lp-v8-header {
  position: absolute;
  top: 32px;
  left: 50%;
  transform: translateX(-50%);
  width: min(1440px, calc(100% - 48px));
  min-height: 92px;
  border: 3px solid var(--gpd-avorio);
  border-radius: 16px;
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 12px 24px;
  z-index: 100;
}

main#gpd-contenuto-principale {
  padding-top: 164px;
}

.lp-v8-logo img {
  height: 68px;
  width: auto;
}

.lp-v8-nav {
  margin-left: auto;
  display: flex;
  gap: 18px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.lp-v8-nav-link {
  font-family: var(--gpd-font-titolo);
  font-size: 1.25rem;
  letter-spacing: 0.04em;
  text-decoration: none;
  text-transform: uppercase;
}

.lp-v8-nav-link:hover,
.lp-v8-nav-link[aria-current='page'] {
  color: var(--gpd-corallo);
}

.lp-v8-burger {
  display: none;
  flex-direction: column;
  gap: 6px;
  cursor: pointer;
  margin-left: auto;
}

.lp-v8-burger span {
  width: 30px;
  height: 3px;
  background-color: var(--gpd-avorio);
}

.lp-v8-footer {
  background-color: var(--gpd-inchiostro);
  color: var(--gpd-avorio);
  padding: 64px 20px 0;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.lp-v8-foot-top {
  width: 100%;
  max-width: 1440px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 32px;
  gap: 24px;
}

.lp-v8-foot-logo img {
  width: 173px;
  height: 168px;
}

.lp-v8-foot-nav {
  display: flex;
  gap: 24px;
  align-items: flex-start;
}

.lp-v8-foot-links-col {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.lp-v8-foot-links-col.border-right {
  border-right: 1px solid var(--gpd-avorio);
  padding-right: 24px;
}

.lp-v8-foot-links-col a {
  color: var(--gpd-avorio);
  text-decoration: none;
  font-family: 'Big Shoulders Display', sans-serif;
  font-size: 18px;
  line-height: 20px;
}

.lp-v8-foot-links-col a:hover {
  color: var(--gpd-corallo);
}

.lp-v8-foot-mission {
  max-width: 672px;
  text-align: center;
  margin-bottom: 32px;
}

.lp-v8-foot-mission p,
.lp-v8-foot-disclaimer p,
.lp-v8-foot-copy {
  font-family: 'Big Shoulders Display', sans-serif;
}

.lp-v8-foot-mission p,
.lp-v8-foot-disclaimer p {
  font-size: 14px;
  line-height: 16px;
  color: var(--gpd-avorio);
}

.lp-v8-foot-bottom {
  width: 100%;
  border-top: 1px solid var(--gpd-avorio);
  padding-top: 24px;
  display: flex;
  flex-direction: column;
  align-items: center;
  overflow: hidden;
  position: relative;
}

.lp-v8-foot-disclaimer {
  max-width: 756px;
  text-align: center;
  margin-bottom: 32px;
}

.lp-v8-foot-copy {
  font-size: 18px;
  line-height: 20px;
  text-align: center;
  margin-bottom: 32px;
}

.lp-v8-foot-big-text {
  font-family: 'Big Shoulders Display', sans-serif;
  font-size: clamp(120px, 22vw, 352px);
  line-height: 1;
  color: var(--gpd-corallo);
  font-weight: 700;
  margin-bottom: -30px;
}

.lp-v8-mobile-menu {
  position: fixed;
  top: 0;
  right: 0;
  transform: translateX(100%);
  width: 100%;
  height: 100vh;
  background-color: var(--gpd-inchiostro);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 24px;
  transition: transform 0.5s;
  z-index: 1000;
}

.lp-v8-mobile-menu.active {
  transform: translateX(0);
}

.lp-v8-mobile-link {
  font-family: var(--gpd-font-titolo);
  font-size: clamp(2rem, 8vw, 2.7rem);
  color: var(--gpd-avorio);
  text-decoration: none;
  text-transform: uppercase;
}

@media (max-width: 992px) {
  .lp-v8-header {
    position: relative;
    top: 0;
    left: 0;
    transform: none;
    width: 100%;
    border: none;
    border-radius: 0;
    background-color: var(--gpd-inchiostro);
    padding: 14px 16px;
  }

  main#gpd-contenuto-principale {
    padding-top: 0;
  }

  .lp-v8-nav {
    display: none;
  }

  .lp-v8-burger {
    display: flex;
  }

  .lp-v8-mobile-menu {
    padding: 120px 20px 32px;
    align-items: flex-start;
    justify-content: flex-start;
  }

  .lp-v8-foot-top,
  .lp-v8-foot-nav {
    flex-direction: column;
    align-items: flex-start;
  }

  .lp-v8-foot-links-col.border-right {
    border-right: none;
    padding-right: 0;
  }
}
