@font-face {
  font-family: "Bricolage Grotesque";
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url("../caratteri/bricolage-grotesque-400-normal-lat.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: "Inter";
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url("../caratteri/inter-400-normal-lat.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 {
  --rosso: #fe3a3a;
  --inch: #000;
  --bianco: #fff;
  --grigio: #767676;
  --nebbia: #f5f5f5;
  --crema: #f5f0e8;
  --scuro: #0a1628;
  --f-t: "Bricolage Grotesque", "Inter", system-ui, sans-serif;
  --f-c: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --f-m: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  --s5: 5px;
  --s10: 10px;
  --s15: 15px;
  --s20: 20px;
  --s30: 30px;
  --s40: 40px;
  --s60: 60px;
  --r-nav: 10px;
  --r-card: 20px;
  --r-btn: 35px;
  --max: 1200px;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}
html {
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth;
}
body {
  margin: 0;
  background: var(--bianco);
  color: var(--inch);
  font-family: var(--f-c);
  font-size: 16px;
  line-height: 1.4;
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
}
img,
svg,
picture {
  display: block;
  max-width: 100%;
}
a {
  color: inherit;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}
button {
  font: inherit;
  color: inherit;
}
h1,
h2,
h3,
p,
ul,
ol,
figure,
table {
  margin: 0;
}
ul,
ol {
  padding: 0;
  list-style: none;
}
:focus-visible {
  outline: 2px solid var(--rosso);
  outline-offset: 3px;
  border-radius: 4px;
}
.pl-vis-nascosta {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
.pl-salta {
  position: absolute;
  left: -9999px;
  top: 0;
  z-index: 60;
  background: var(--rosso);
  color: #fff;
  padding: 12px 20px;
  border-radius: 0 0 var(--r-nav) 0;
  font-size: 14px;
}
.pl-salta:focus {
  left: 0;
}
.pl-cont {
  width: 100%;
  max-width: var(--max);
  margin-inline: auto;
  padding-inline: 20px;
}
.pl-stretto {
  max-width: 860px;
}
.pl-centro {
  text-align: center;
}
.pl-dx {
  text-align: right;
}
.pl-img {
  width: 100%;
  height: auto;
}
.pl-img--copre {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.pl-eroe-f picture,
.pl-finale-f picture,
.pl-scatto-f picture,
.pl-tessera-f picture,
.pl-corso-f picture {
  display: block;
  width: 100%;
  height: 100%;
}

.pl-display {
  font-family: var(--f-t);
  font-weight: 800;
  font-size: clamp(40px, 10.5vw, 90px);
  line-height: 1;
  letter-spacing: -0.025em;
  text-wrap: balance;
}
.pl-display--media {
  font-size: clamp(34px, 7.6vw, 68px);
}
.pl-display--nera {
  color: var(--inch);
}
.pl-h2 {
  font-family: var(--f-t);
  font-weight: 800;
  font-size: clamp(28px, 5.2vw, 48px);
  line-height: 1.05;
  letter-spacing: -0.02em;
  text-wrap: balance;
}
.pl-h2--piccola {
  font-size: clamp(22px, 3.4vw, 30px);
  line-height: 1.15;
}
.pl-h3 {
  font-family: var(--f-t);
  font-weight: 800;
  font-size: 20px;
  line-height: 1.2;
  letter-spacing: -0.01em;
}
.pl-h3--rossa {
  color: var(--rosso);
  font-size: 24px;
}
.pl-testo {
  font-size: 16px;
  line-height: 1.55;
  max-width: 66ch;
}
.pl-testo + .pl-testo {
  margin-top: var(--s15);
}
.pl-testo--grande {
  font-size: 18px;
  line-height: 1.55;
}
.pl-lead {
  font-size: 17px;
  line-height: 1.5;
  max-width: 62ch;
  margin-top: var(--s15);
}
.pl-etichetta {
  font-family: var(--f-m);
  font-size: 10px;
  line-height: 1.3;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  display: flex;
  align-items: center;
  gap: 8px;
}
.pl-etichetta::before {
  content: "";
  width: 7px;
  height: 7px;
  background: var(--rosso);
  flex: none;
}
.pl-etichetta--chiara {
  color: var(--bianco);
}
.pl-nota {
  margin-top: var(--s30);
  font-size: 14px;
  line-height: 1.55;
  color: var(--inch);
  max-width: 78ch;
  border-left: 1px solid var(--inch);
  padding-left: var(--s20);
}
.pl-nota-f {
  display: block;
  margin-top: var(--s10);
  font-family: var(--f-m);
  font-size: 10px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.pl-prezzo {
  font-family: var(--f-t);
  font-weight: 800;
  font-size: 18px;
  letter-spacing: -0.01em;
  white-space: nowrap;
}

.pl-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  font-size: 14px;
  line-height: 1;
  padding: 15px 24px;
  border-radius: var(--r-btn);
  border: 1px solid transparent;
  text-decoration: none;
  cursor: pointer;
  background: none;
  transition:
    background-color 0.2s ease,
    color 0.2s ease,
    box-shadow 0.2s ease,
    transform 0.2s ease;
}
.pl-btn svg {
  flex: none;
  transition: transform 0.2s ease;
}
.pl-btn:hover svg {
  transform: translateX(3px);
}
.pl-btn--rosso {
  background: var(--rosso);
  color: var(--inch);
  font-weight: 600;
  box-shadow: 0 2px 12px rgba(254, 58, 58, 0.25);
}
.pl-btn--rosso:hover {
  box-shadow: 0 4px 18px rgba(254, 58, 58, 0.4);
}
.pl-btn--linea {
  border-radius: var(--r-nav);
  border-color: var(--inch);
  color: var(--inch);
}
.pl-btn--linea:hover {
  background: var(--inch);
  color: var(--bianco);
}
.pl-btn--chiaro {
  border-radius: var(--r-nav);
  border-color: var(--bianco);
  color: var(--bianco);
}
.pl-btn--chiaro:hover {
  background: var(--bianco);
  color: var(--inch);
}
.pl-btn--mini {
  padding: 11px 18px;
  font-size: 13px;
}
.pl-azioni {
  display: flex;
  flex-wrap: wrap;
  gap: var(--s10);
  margin-top: var(--s30);
}
.pl-azioni--centro {
  justify-content: center;
}
.pl-mini-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: var(--f-m);
  font-size: 11px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  text-decoration: none;
  border-bottom: 1px solid var(--inch);
  padding-bottom: 3px;
  color: var(--inch);
}
.pl-mini-link:hover {
  color: var(--rosso);
  border-color: var(--rosso);
}

.pl-testata {
  position: sticky;
  top: 0;
  z-index: 40;
  background: var(--bianco);
  border-bottom: 1px solid var(--inch);
  transition:
    background-color 0.25s ease,
    color 0.25s ease,
    border-color 0.25s ease;
}
.pl-testata-i {
  display: flex;
  align-items: center;
  gap: var(--s20);
  min-height: 64px;
  padding-block: 10px;
}
.pl-marchio {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  margin-right: auto;
}
.pl-marchio-s {
  color: var(--rosso);
  display: block;
}
.pl-marchio-s svg {
  display: block;
}
.pl-marchio-t {
  font-family: var(--f-t);
  font-weight: 800;
  font-size: 19px;
  letter-spacing: -0.02em;
}
.pl-nav {
  display: none;
}
.pl-nav ul {
  display: flex;
  align-items: center;
  gap: var(--s20);
}
.pl-nav a {
  font-size: 14px;
  text-decoration: none;
  padding-block: 6px;
  border-bottom: 1px solid transparent;
}
.pl-nav a:hover {
  border-color: currentColor;
}
.pl-nav a[aria-current] {
  border-color: var(--rosso);
}
.pl-testata-a {
  display: flex;
  align-items: center;
  gap: var(--s10);
}
.pl-testata-a .pl-btn--rosso {
  display: none;
}
.pl-burger {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: none;
  border: 1px solid currentColor;
  border-radius: var(--r-nav);
  padding: 9px 14px;
  cursor: pointer;
  font-family: var(--f-m);
  font-size: 11px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.pl-burger-i {
  display: block;
  position: relative;
  width: 20px;
  height: 20px;
}
.pl-burger-i svg {
  position: absolute;
  inset: 0;
  transition:
    opacity 0.2s ease,
    transform 0.2s ease;
}
.pl-burger-i svg:last-child {
  opacity: 0;
  transform: rotate(-45deg);
}
.pl-burger[aria-expanded="true"] .pl-burger-i svg:first-child {
  opacity: 0;
  transform: rotate(45deg);
}
.pl-burger[aria-expanded="true"] .pl-burger-i svg:last-child {
  opacity: 1;
  transform: none;
}
.pl-home .pl-testata:not(.pl-fissa) {
  background: transparent;
  color: var(--bianco);
  border-bottom-color: transparent;
}
.pl-home .pl-testata:not(.pl-fissa) .pl-marchio-s {
  color: var(--bianco);
}
.pl-testata.pl-fissa {
  box-shadow: 0 1px 0 var(--inch);
}
.pl-home .pl-testata.pl-aperta,
.pl-testata.pl-aperta {
  background: var(--scuro);
  color: var(--bianco);
  border-bottom-color: rgba(255, 255, 255, 0.2);
  box-shadow: none;
}
.pl-home .pl-testata.pl-aperta .pl-marchio-s,
.pl-testata.pl-aperta .pl-marchio-s {
  color: var(--rosso);
}

.pl-pannello {
  position: fixed;
  inset: 64px 0 0;
  background: var(--scuro);
  color: var(--bianco);
  z-index: 39;
  overflow-y: auto;
  padding-block: var(--s30) var(--s60);
}
.pl-pannello[hidden] {
  display: none;
}
.pl-pannello-n ul {
  display: flex;
  flex-direction: column;
}
.pl-pannello-n a {
  display: flex;
  align-items: baseline;
  gap: var(--s15);
  text-decoration: none;
  font-family: var(--f-t);
  font-weight: 800;
  font-size: clamp(28px, 8vw, 44px);
  line-height: 1.1;
  letter-spacing: -0.02em;
  padding-block: var(--s15);
  border-bottom: 1px solid rgba(255, 255, 255, 0.22);
}
.pl-pannello-n a:hover,
.pl-pannello-n a[aria-current] {
  color: var(--rosso);
}
.pl-mnum {
  font-family: var(--f-m);
  font-size: 11px;
  letter-spacing: 0.04em;
  color: var(--rosso);
  flex: none;
}
.pl-pannello-p {
  margin-top: var(--s40);
}
.pl-pannello-l {
  display: flex;
  flex-wrap: wrap;
  gap: var(--s15);
  margin-top: var(--s15);
}
.pl-pannello-l a {
  font-size: 14px;
}
.pl-pannello-d {
  margin-top: var(--s10);
  font-size: 14px;
  opacity: 0.85;
}
.pl-pannello-d a {
  text-decoration: none;
}

.pl-eroe {
  position: relative;
  isolation: isolate;
  min-height: clamp(560px, 86svh, 860px);
  display: flex;
  align-items: flex-end;
  padding-block: var(--s60) var(--s60);
  margin-top: -64px;
  background: var(--scuro);
  color: var(--bianco);
}
.pl-eroe-f {
  position: absolute;
  inset: 0;
  z-index: -2;
  background: var(--scuro);
}
.pl-eroe-v {
  position: absolute;
  inset: 0;
  z-index: -1;
  background: rgba(10, 22, 40, 0.56);
}
.pl-eroe-c {
  padding-top: 90px;
}
.pl-eroe .pl-display {
  margin-top: var(--s20);
  max-width: 15ch;
}
.pl-eroe-s {
  margin-top: var(--s20);
  font-size: 17px;
  line-height: 1.5;
  max-width: 52ch;
}
.pl-stemmi {
  display: none;
  position: absolute;
  right: max(20px, calc(50vw - 600px + 20px));
  top: 14%;
  z-index: 1;
  width: 230px;
}
.pl-stemma {
  position: relative;
  display: block;
  width: 100px;
  color: var(--bianco);
}
.pl-stemma-s {
  width: 100px;
  height: 116px;
  filter: drop-shadow(0 4px 20px rgba(10, 22, 40, 0.4));
}
.pl-stemma-i {
  position: absolute;
  top: 24px;
  left: 0;
  right: 0;
  display: flex;
  justify-content: center;
}
.pl-stemma-t {
  position: absolute;
  bottom: 26px;
  left: 0;
  right: 0;
  text-align: center;
  font-family: var(--f-m);
  font-size: 10px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.pl-stemma--rosso {
  color: var(--rosso);
}
.pl-stemma--rosso .pl-stemma-t,
.pl-stemma--rosso .pl-stemma-i {
  color: var(--rosso);
}
.pl-stemmi .pl-stemma:nth-child(1) {
  margin-left: 60px;
}
.pl-stemmi .pl-stemma:nth-child(2) {
  margin-top: -18px;
  margin-left: 0;
  transform: rotate(-4deg);
}
.pl-stemmi .pl-stemma:nth-child(3) {
  margin-top: -14px;
  margin-left: 110px;
  transform: rotate(5deg);
}

.pl-fascia {
  background: var(--inch);
  color: var(--bianco);
  overflow: hidden;
  border-bottom: 1px solid var(--inch);
}
.pl-fascia-p {
  display: flex;
  width: max-content;
  animation: pl-scorri 32s linear infinite;
}
.pl-fascia-g {
  display: flex;
  flex: none;
}
.pl-fascia-v {
  display: inline-flex;
  align-items: center;
  gap: var(--s20);
  padding: 14px var(--s20) 14px 0;
  font-family: var(--f-m);
  font-size: 11px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  white-space: nowrap;
}
.pl-fascia-v::after {
  content: "";
  width: 6px;
  height: 6px;
  background: var(--rosso);
  flex: none;
  transform: rotate(45deg);
}
@keyframes pl-scorri {
  from {
    transform: translate3d(0, 0, 0);
  }
  to {
    transform: translate3d(-50%, 0, 0);
  }
}

.pl-sez {
  padding-block: var(--s60);
}
.pl-sez--nebbia {
  background: var(--nebbia);
}
.pl-sez--crema {
  background: var(--crema);
}
.pl-sez.pl-sez--vuota {
  padding-block: calc(var(--s60) + 20px);
}
.pl-sez.pl-sez--intro {
  padding-bottom: 0;
}
.pl-tsez {
  margin-bottom: var(--s30);
  max-width: 70ch;
}
.pl-tsez .pl-h2 {
  margin-top: var(--s15);
}
.pl-topo {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='260' viewBox='0 0 260 260'%3E%3Cg fill='none' stroke='%23000' stroke-width='1' opacity='.08'%3E%3Cpath d='M-20 40C50 -10 140 100 290 20'/%3E%3Cpath d='M-20 75C50 25 140 135 290 55'/%3E%3Cpath d='M-20 110C50 60 140 170 290 90'/%3E%3Cpath d='M-20 145C50 95 140 205 290 125'/%3E%3Cpath d='M-20 180C50 130 140 240 290 160'/%3E%3Cpath d='M-20 215C50 165 140 275 290 195'/%3E%3Cpath d='M-20 250C50 200 140 310 290 230'/%3E%3C/g%3E%3C/svg%3E");
  background-size: 260px 260px;
}

.pl-asim {
  display: flex;
  flex-direction: column;
  gap: var(--s30);
}
.pl-asim-b .pl-display {
  max-width: 14ch;
}
.pl-asim .pl-btn {
  margin-top: var(--s20);
}
.pl-cifre {
  margin-top: var(--s60);
  background: var(--nebbia);
  border-block: 1px solid var(--inch);
  padding-block: var(--s40);
}
.pl-cifre-g {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--s30) var(--s20);
}
.pl-cifra {
  display: flex;
  flex-direction: column;
  gap: 6px;
  border-left: 1px solid var(--inch);
  padding-left: var(--s15);
}
.pl-cifra-n {
  font-family: var(--f-t);
  font-weight: 800;
  font-size: clamp(38px, 7vw, 56px);
  line-height: 1;
  letter-spacing: -0.03em;
}
.pl-cifra-l {
  font-family: var(--f-m);
  font-size: 10px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.pl-griglia-b {
  display: grid;
  gap: 1px;
  background: var(--inch);
  border: 1px solid var(--inch);
  border-radius: var(--r-card);
  overflow: hidden;
}
.pl-cella {
  background: var(--bianco);
  padding: var(--s30);
  display: flex;
  flex-direction: column;
  gap: var(--s10);
}
.pl-cella-i {
  display: flex;
  width: 52px;
  height: 52px;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--inch);
  border-radius: var(--r-nav);
  color: var(--rosso);
  margin-bottom: var(--s5);
}
.pl-cella .pl-testo {
  flex: 1;
}
.pl-cella .pl-prezzo {
  padding-top: var(--s10);
  border-top: 1px solid var(--inch);
}

.pl-tri {
  display: grid;
  gap: var(--s20);
}
.pl-crema {
  background: var(--crema);
  border-radius: var(--r-card);
  padding: var(--s30);
  display: flex;
  flex-direction: column;
  gap: var(--s15);
}
.pl-crema-i {
  color: var(--inch);
}
.pl-persona {
  border: 1px solid var(--inch);
  border-radius: var(--r-card);
  padding: var(--s30);
  display: flex;
  flex-direction: column;
  gap: var(--s10);
  background: var(--bianco);
}
.pl-persona-s {
  position: relative;
  display: block;
  width: 76px;
  color: var(--rosso);
  margin-bottom: var(--s5);
}
.pl-persona-s .pl-stemma-s {
  width: 76px;
  height: 88px;
}
.pl-persona-l {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--f-t);
  font-weight: 800;
  font-size: 30px;
  color: var(--inch);
  padding-bottom: 10px;
}
.pl-persona-r {
  font-family: var(--f-m);
  font-size: 10px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.pl-galleria {
  display: grid;
  gap: var(--s20);
}
.pl-scatto-f {
  border: 1px solid var(--inch);
  border-radius: var(--r-card);
  overflow: hidden;
  aspect-ratio: 4/3;
  background: var(--nebbia);
}
.pl-scatto-f img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}
.pl-scatto:hover .pl-scatto-f img {
  transform: scale(1.04);
}
.pl-scatto-c {
  margin-top: var(--s10);
  font-size: 14px;
  line-height: 1.45;
}

.pl-passi {
  display: grid;
  gap: var(--s20);
  counter-reset: passo;
}
.pl-passo {
  display: flex;
  gap: var(--s20);
  background: var(--bianco);
  border: 1px solid var(--inch);
  border-radius: var(--r-card);
  padding: var(--s20);
}
.pl-passo-n {
  font-family: var(--f-t);
  font-weight: 800;
  font-size: 26px;
  line-height: 1;
  color: var(--rosso);
  flex: none;
  min-width: 46px;
}
.pl-passo-c {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.pl-doppia {
  display: grid;
  gap: var(--s30);
}
.pl-doppia-t .pl-h2 {
  margin-top: var(--s15);
}
.pl-doppia-t .pl-testo {
  margin-top: var(--s20);
}
.pl-doppia-t .pl-btn {
  margin-top: var(--s20);
}
.pl-doppia-f img {
  border: 1px solid var(--inch);
  border-radius: var(--r-card);
}
.pl-punti {
  display: grid;
  gap: var(--s10);
  margin-top: var(--s20);
}
.pl-punti li {
  display: flex;
  gap: var(--s10);
  font-size: 15px;
  line-height: 1.45;
}
.pl-punti svg {
  flex: none;
  color: var(--rosso);
  margin-top: 2px;
}

.pl-tariffe {
  display: grid;
  gap: var(--s20);
}
.pl-tariffa {
  position: relative;
  border: 1px solid var(--inch);
  border-radius: var(--r-card);
  padding: var(--s30);
  background: var(--bianco);
  display: flex;
  flex-direction: column;
  gap: var(--s10);
}
.pl-tariffa .pl-punti {
  flex: 1;
}
.pl-tariffa .pl-btn {
  margin-top: var(--s20);
  align-self: flex-start;
}
.pl-tariffa-p {
  font-family: var(--f-t);
  font-weight: 800;
  font-size: 44px;
  line-height: 1;
  letter-spacing: -0.03em;
  color: var(--rosso);
}
.pl-tariffa-n {
  font-family: var(--f-m);
  font-size: 10px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.pl-tariffa--top {
  background: var(--inch);
  color: var(--bianco);
  border-color: var(--inch);
}
.pl-tariffa--top .pl-punti svg {
  color: var(--rosso);
}
.pl-tariffa-b {
  position: absolute;
  top: -11px;
  left: var(--s30);
  background: var(--rosso);
  color: var(--inch);
  font-weight: 600;
  font-family: var(--f-m);
  font-size: 10px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  padding: 5px 12px;
  border-radius: var(--r-btn);
}

.pl-faq {
  border-top: 1px solid var(--inch);
}
.pl-domanda {
  border-bottom: 1px solid var(--inch);
}
.pl-domanda-h {
  font: inherit;
}
.pl-domanda-b {
  display: flex;
  width: 100%;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--s20);
  background: none;
  border: 0;
  padding: var(--s20) 0;
  cursor: pointer;
  text-align: left;
  font-family: var(--f-t);
  font-weight: 800;
  font-size: 17px;
  line-height: 1.25;
  letter-spacing: -0.01em;
}
.pl-domanda-b:hover {
  color: var(--rosso);
}
.pl-domanda-s {
  flex: none;
  display: flex;
  width: 32px;
  height: 32px;
  align-items: center;
  justify-content: center;
  border: 1px solid currentColor;
  border-radius: 50%;
  transition: transform 0.3s ease;
}
.pl-domanda-r .pl-testo {
  padding-bottom: var(--s20);
  max-width: 72ch;
}

.pl-finale {
  position: relative;
  isolation: isolate;
  color: var(--bianco);
  padding-block: var(--s60);
  background: var(--scuro);
  text-align: center;
}
.pl-finale-f {
  position: absolute;
  inset: 0;
  z-index: -2;
}
.pl-finale-v {
  position: absolute;
  inset: 0;
  z-index: -1;
  background: rgba(10, 22, 40, 0.62);
}
.pl-finale-c {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--s15);
}
.pl-finale-t {
  max-width: 56ch;
  font-size: 16px;
  line-height: 1.5;
}

.pl-capo {
  padding-block: var(--s40) 0;
  border-bottom: 1px solid var(--inch);
}
.pl-briciole {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: var(--f-m);
  font-size: 10px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  margin-bottom: var(--s20);
}
.pl-briciole a {
  text-decoration: none;
}
.pl-briciole a:hover {
  color: var(--rosso);
}
.pl-briciole span[aria-current] {
  text-decoration: underline;
  text-decoration-color: var(--rosso);
}
.pl-capo-l {
  margin-top: var(--s20);
  font-size: 17px;
  line-height: 1.5;
  max-width: 62ch;
}
.pl-capo-f {
  margin-top: var(--s30);
  padding-bottom: 0;
}
.pl-capo-f img {
  border-radius: var(--r-card) var(--r-card) 0 0;
  border: 1px solid var(--inch);
  border-bottom: 0;
  aspect-ratio: 16/7;
  object-fit: cover;
  width: 100%;
}

.pl-gruppo-h {
  display: grid;
  gap: var(--s20);
  margin-bottom: var(--s30);
}
.pl-gruppo-h .pl-h2 {
  margin-top: var(--s15);
}
.pl-gruppo-f img {
  border: 1px solid var(--inch);
  border-radius: var(--r-card);
  aspect-ratio: 4/3;
  object-fit: cover;
  width: 100%;
}
.pl-itinerari {
  border-top: 1px solid var(--inch);
}
.pl-itinerario {
  display: grid;
  gap: var(--s15);
  padding-block: var(--s20);
  border-bottom: 1px solid var(--inch);
}
.pl-itinerario-t .pl-testo {
  margin-top: 8px;
}
.pl-itinerario-p {
  display: flex;
  align-items: center;
  gap: var(--s20);
  justify-content: space-between;
}
.pl-itinerario-p .pl-prezzo {
  font-size: 22px;
  color: var(--rosso);
}

.pl-corsi {
  display: grid;
  gap: var(--s40);
}
.pl-corso {
  display: grid;
  gap: var(--s20);
  border: 1px solid var(--inch);
  border-radius: var(--r-card);
  overflow: hidden;
  background: var(--bianco);
}
.pl-corso-f {
  position: relative;
  margin: 0;
}
.pl-corso-f img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  aspect-ratio: 4/3;
}
.pl-corso-n {
  position: absolute;
  top: var(--s15);
  left: var(--s15);
  background: var(--rosso);
  color: var(--inch);
  font-family: var(--f-t);
  font-weight: 800;
  font-size: 15px;
  padding: 6px 12px;
  border-radius: var(--r-btn);
}
.pl-corso-c {
  padding: var(--s20) var(--s20) var(--s30);
}
.pl-corso-c .pl-testo {
  margin-top: var(--s15);
}
.pl-corso-c .pl-mini-link {
  margin-top: var(--s20);
}
.pl-dati {
  display: flex;
  flex-wrap: wrap;
  gap: var(--s15);
  margin-top: var(--s15);
}
.pl-dati li {
  display: flex;
  gap: 8px;
  font-size: 14px;
  line-height: 1.35;
  align-items: flex-start;
}
.pl-dati svg {
  flex: none;
  color: var(--rosso);
  margin-top: 1px;
}
.pl-dati-e {
  display: block;
  font-family: var(--f-m);
  font-size: 10px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.pl-dati--grandi {
  flex-direction: column;
  gap: var(--s15);
}
.pl-dati--grandi li {
  font-size: 16px;
}

.pl-tabelle {
  display: grid;
  gap: var(--s40);
}
.pl-tabella {
  width: 100%;
  border-collapse: collapse;
  margin-top: var(--s20);
  border: 1px solid var(--inch);
  border-radius: var(--r-card);
  overflow: hidden;
}
.pl-tabella th,
.pl-tabella td {
  padding: 14px var(--s15);
  text-align: left;
  font-size: 15px;
  border-bottom: 1px solid var(--inch);
  font-weight: 400;
  line-height: 1.35;
}
.pl-tabella thead th {
  font-family: var(--f-m);
  font-size: 10px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  background: var(--inch);
  color: var(--bianco);
}
.pl-tabella tbody tr:last-child th,
.pl-tabella tbody tr:last-child td {
  border-bottom: 0;
}
.pl-tabella tbody tr:nth-child(even) {
  background: var(--nebbia);
}

.pl-mosaico {
  display: grid;
  gap: var(--s30);
}
.pl-tessera-f {
  border: 1px solid var(--inch);
  border-radius: var(--r-card);
  overflow: hidden;
  aspect-ratio: 3/2;
  background: var(--nebbia);
}
.pl-tessera-f img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.pl-tessera-c {
  margin-top: var(--s15);
}
.pl-tessera-c .pl-testo {
  margin-top: 8px;
  font-size: 15px;
}

.pl-contatti {
  display: grid;
  gap: var(--s30);
}
.pl-contatti-c .pl-h2--piccola {
  margin-top: var(--s30);
}
.pl-contatti-c .pl-h2--piccola:first-child {
  margin-top: 0;
}
.pl-contatti-f img {
  border: 1px solid var(--inch);
  border-radius: var(--r-card);
}
.pl-orari {
  margin-top: var(--s15);
  border-top: 1px solid var(--inch);
}
.pl-orari li {
  display: flex;
  justify-content: space-between;
  gap: var(--s20);
  padding-block: 12px;
  border-bottom: 1px solid var(--inch);
  font-size: 15px;
}
.pl-orari-o {
  font-family: var(--f-m);
  font-size: 12px;
  letter-spacing: 0.04em;
  white-space: nowrap;
  text-align: right;
}

.pl-modulo {
  margin-top: var(--s30);
}
.pl-modulo-g {
  display: grid;
  gap: var(--s20);
}
.pl-campo {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.pl-campo label {
  font-family: var(--f-m);
  font-size: 10px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.pl-obb {
  color: var(--rosso);
  margin-left: 4px;
}
.pl-campo input,
.pl-campo select,
.pl-campo textarea {
  width: 100%;
  font: inherit;
  font-size: 16px;
  color: var(--inch);
  background: var(--bianco);
  border: 1px solid var(--grigio);
  border-radius: var(--r-nav);
  padding: 12px 15px;
}
.pl-campo textarea {
  resize: vertical;
  min-height: 140px;
  line-height: 1.45;
}
.pl-campo input:focus,
.pl-campo select:focus,
.pl-campo textarea:focus {
  border-color: var(--inch);
  outline: 1px solid var(--inch);
  outline-offset: 0;
}
.pl-campo input:user-invalid,
.pl-campo textarea:user-invalid {
  border-color: var(--rosso);
}
.pl-suggerimento {
  display: none;
  font-size: 13px;
  line-height: 1.4;
}
.pl-campo:focus-within + .pl-suggerimento {
  display: block;
  margin-top: -8px;
}
.pl-consenso {
  display: flex;
  gap: var(--s10);
  margin-top: var(--s20);
  align-items: flex-start;
}
.pl-consenso input {
  width: 20px;
  height: 20px;
  flex: none;
  margin-top: 2px;
  accent-color: var(--rosso);
}
.pl-consenso label {
  font-size: 14px;
  line-height: 1.45;
}
.pl-esca {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
.pl-modulo-a {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--s15);
  margin-top: var(--s30);
}
.pl-modulo-r {
  font-family: var(--f-m);
  font-size: 10px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.pl-errore {
  border: 1px solid var(--rosso);
  border-radius: var(--r-nav);
  padding: var(--s15);
  font-size: 15px;
  line-height: 1.45;
  margin-bottom: var(--s20);
}
.pl-errore[hidden] {
  display: none;
}

.pl-legale {
  display: grid;
  gap: var(--s30);
}
.pl-indice {
  border: 1px solid var(--inch);
  border-radius: var(--r-card);
  padding: var(--s20);
  background: var(--nebbia);
}
.pl-ind-u {
  margin-top: var(--s15);
  display: grid;
  gap: 10px;
}
.pl-ind-u a {
  display: flex;
  gap: 10px;
  font-size: 14px;
  line-height: 1.35;
  text-decoration: none;
}
.pl-ind-u a:hover {
  color: var(--rosso);
}
.pl-ind-n {
  font-family: var(--f-m);
  font-size: 10px;
  letter-spacing: 0.04em;
  flex: none;
  padding-top: 3px;
}
.pl-blocco + .pl-blocco {
  margin-top: var(--s40);
  padding-top: var(--s40);
  border-top: 1px solid var(--inch);
}
.pl-blocco .pl-testo {
  margin-top: var(--s15);
  max-width: 72ch;
}
.pl-blocco-n {
  font-family: var(--f-m);
  font-size: 11px;
  letter-spacing: 0.04em;
  display: block;
  margin-bottom: 8px;
}

.pl-crediti {
  width: 100%;
  border-collapse: collapse;
  border: 1px solid var(--inch);
  border-radius: var(--r-card);
  overflow: hidden;
}
.pl-crediti th,
.pl-crediti td {
  padding: 12px var(--s15);
  text-align: left;
  vertical-align: middle;
  border-bottom: 1px solid var(--inch);
  font-weight: 400;
  font-size: 14px;
  line-height: 1.4;
}
.pl-crediti thead th {
  font-family: var(--f-m);
  font-size: 10px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  background: var(--inch);
  color: var(--bianco);
}
.pl-crediti tbody tr:last-child th,
.pl-crediti tbody tr:last-child td {
  border-bottom: 0;
}
.pl-crediti-i {
  display: block;
  width: 104px;
}
.pl-crediti-i img {
  width: 104px;
  height: 70px;
  object-fit: cover;
  border-radius: var(--r-nav);
  border: 1px solid var(--inch);
}
.pl-crediti-n {
  display: block;
  font-family: var(--f-t);
  font-weight: 800;
  font-size: 15px;
  line-height: 1.25;
}
.pl-crediti-a {
  display: block;
  margin-top: 4px;
  font-size: 13px;
  color: var(--inch);
}
.pl-crediti-t {
  width: 120px;
}

.pl-segno-g {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 84px;
  height: 84px;
  border: 1px solid var(--inch);
  border-radius: 50%;
  color: var(--rosso);
  margin-bottom: var(--s20);
}
.pl-segno-g--rosso {
  font-family: var(--f-t);
  font-weight: 800;
  font-size: 26px;
  letter-spacing: -0.02em;
}
.pl-sez--vuota .pl-etichetta {
  justify-content: center;
}
.pl-sez--vuota .pl-testo {
  margin-inline: auto;
  margin-top: var(--s20);
}
.pl-sez--vuota .pl-display {
  margin-top: var(--s15);
}

.pl-piede {
  background: var(--scuro);
  color: var(--bianco);
  padding-top: var(--s60);
}
.pl-piede-g {
  display: grid;
  gap: var(--s30);
}
.pl-piede .pl-marchio-s {
  color: var(--rosso);
}
.pl-piede-a {
  margin-top: var(--s15);
  font-size: 14px;
  line-height: 1.5;
  max-width: 46ch;
  opacity: 0.88;
}
.pl-piede-m {
  margin-top: var(--s15);
  font-family: var(--f-m);
  font-size: 10px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--rosso);
}
.pl-piede-h {
  font-family: var(--f-m);
  font-size: 10px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  font-weight: 400;
  padding-bottom: var(--s10);
  border-bottom: 1px solid rgba(255, 255, 255, 0.25);
}
.pl-piede-u {
  margin-top: var(--s15);
  display: grid;
  gap: 10px;
}
.pl-piede-u a {
  text-decoration: none;
  font-size: 14px;
}
.pl-piede-u a:hover {
  color: var(--rosso);
}
.pl-piede-u--dati li {
  display: flex;
  gap: 10px;
  font-size: 14px;
  line-height: 1.45;
}
.pl-piede-u--dati svg {
  flex: none;
  color: var(--rosso);
  margin-top: 2px;
}
.pl-piede-u--dati a {
  text-decoration: underline;
}
.pl-piede-b {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: var(--s10);
  margin-top: var(--s40);
  padding-block: var(--s20);
  border-top: 1px solid rgba(255, 255, 255, 0.25);
  font-family: var(--f-m);
  font-size: 10px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.pl-piede-b a {
  text-decoration: none;
}
.pl-piede-b a:hover {
  color: var(--rosso);
}

.pl-avviso {
  position: fixed;
  left: var(--s10);
  right: var(--s10);
  bottom: var(--s10);
  z-index: 50;
  background: var(--bianco);
  border: 1px solid var(--inch);
  border-radius: var(--r-card);
  padding: var(--s20);
  box-shadow: 0 4px 20px rgba(10, 22, 40, 0.18);
}
.pl-avviso[hidden] {
  display: none;
}
.pl-avviso-i {
  display: grid;
  gap: var(--s15);
}
.pl-avviso-t {
  font-size: 14px;
  line-height: 1.45;
}
.pl-avviso-b {
  display: flex;
  flex-wrap: wrap;
  gap: var(--s10);
}

@media (min-width: 768px) {
  .pl-cont {
    padding-inline: 30px;
  }
  .pl-sez {
    padding-block: calc(var(--s60) + 10px);
  }
  .pl-cifre-g {
    grid-template-columns: repeat(4, 1fr);
  }
  .pl-griglia-b {
    grid-template-columns: 1fr 1fr;
  }
  .pl-tri {
    grid-template-columns: repeat(3, 1fr);
  }
  .pl-galleria {
    grid-template-columns: 1fr 1fr;
  }
  .pl-tariffe {
    grid-template-columns: repeat(3, 1fr);
  }
  .pl-passo {
    padding: var(--s30);
  }
  .pl-passo-n {
    font-size: 34px;
    min-width: 60px;
  }
  .pl-itinerario {
    grid-template-columns: 1fr auto;
    align-items: start;
    gap: var(--s30);
  }
  .pl-itinerario-p {
    flex-direction: column;
    align-items: flex-end;
    gap: var(--s10);
    text-align: right;
  }
  .pl-corso {
    grid-template-columns: 1fr 1fr;
    gap: 0;
    align-items: stretch;
  }
  .pl-corso-f {
    height: 100%;
    min-height: 320px;
  }
  .pl-corso-f img {
    height: 100%;
    aspect-ratio: auto;
  }
  .pl-corso-c {
    padding: var(--s30);
  }
  .pl-corso:nth-child(even) .pl-corso-f {
    order: 2;
  }
  .pl-mosaico {
    grid-template-columns: 1fr 1fr;
  }
  .pl-tessera--grande {
    grid-column: span 2;
  }
  .pl-tessera--grande .pl-tessera-f {
    aspect-ratio: 21/9;
  }
  .pl-gruppo-h {
    grid-template-columns: 1.2fr 0.8fr;
    align-items: center;
    gap: var(--s40);
  }
  .pl-avviso {
    left: auto;
    right: var(--s20);
    bottom: var(--s20);
    max-width: 460px;
  }
  .pl-avviso-i {
    gap: var(--s20);
  }
  .pl-piede-g {
    grid-template-columns: 1fr 1fr;
  }
  .pl-legale {
    grid-template-columns: 1fr;
  }
  .pl-tabelle {
    grid-template-columns: 1fr 1fr;
    gap: var(--s30);
  }
  .pl-eroe-c {
    padding-top: 120px;
  }
  .pl-domanda-b {
    font-size: 20px;
  }
  .pl-corsi {
    gap: var(--s30);
  }
}
@media (min-width: 1024px) {
  .pl-nav {
    display: block;
  }
  .pl-testata-a .pl-btn--rosso {
    display: inline-flex;
  }
  .pl-testata-i {
    min-height: 72px;
  }
  .pl-pannello {
    inset: 72px 0 0;
  }
  .pl-sez {
    padding-block: 90px;
  }
  .pl-stemmi {
    display: block;
  }
  .pl-asim {
    flex-direction: row;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--s60);
  }
  .pl-asim-a {
    width: 38%;
    flex: none;
  }
  .pl-asim-b {
    width: 55%;
    flex: none;
  }
  .pl-griglia-b {
    grid-template-columns: repeat(3, 1fr);
  }
  .pl-cella {
    padding: var(--s40);
  }
  .pl-crema {
    padding: var(--s40);
  }
  .pl-persona {
    padding: var(--s40);
  }
  .pl-galleria {
    grid-template-columns: repeat(3, 1fr);
  }
  .pl-doppia {
    grid-template-columns: 1fr 1fr;
    gap: var(--s60);
    align-items: center;
  }
  .pl-passi {
    grid-template-columns: 1fr 1fr;
  }
  .pl-passi li:first-child {
    grid-column: span 2;
  }
  .pl-tariffa {
    padding: var(--s40);
  }
  .pl-contatti {
    grid-template-columns: 1.1fr 0.9fr;
    gap: var(--s60);
    align-items: start;
  }
  .pl-legale {
    grid-template-columns: 280px 1fr;
    gap: var(--s60);
    align-items: start;
  }
  .pl-indice {
    position: sticky;
    top: 96px;
  }
  .pl-modulo-g {
    grid-template-columns: 1fr 1fr;
  }
  .pl-campo--largo {
    grid-column: span 2;
  }
  .pl-piede-g {
    grid-template-columns: 1.6fr 1fr 1.3fr 1fr;
    gap: var(--s40);
  }
  .pl-mosaico {
    grid-template-columns: repeat(2, 1fr);
    gap: var(--s40);
  }
  .pl-eroe-c {
    padding-top: 150px;
  }
  .pl-eroe {
    margin-top: -72px;
  }
  .pl-capo {
    padding-top: var(--s60);
  }
}
@media (min-width: 1440px) {
  .pl-cont {
    padding-inline: 40px;
  }
  .pl-sez {
    padding-block: 110px;
  }
  .pl-stemmi {
    width: 260px;
  }
}
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
  *,
  *::before,
  *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
    scroll-behavior: auto !important;
  }
  .pl-fascia-p {
    animation: none;
    transform: none;
  }
}
@media print {
  .pl-testata,
  .pl-avviso,
  .pl-fascia,
  .pl-finale {
    display: none;
  }
  body {
    color: #000;
    background: #fff;
  }
}
.pl-js .pl-rivela {
  opacity: 0;
  transform: translate3d(0, 18px, 0);
  transition:
    opacity 0.4s ease,
    transform 0.4s ease;
}
.pl-js .pl-rivela.pl-vista {
  opacity: 1;
  transform: none;
}
.pl-js .pl-domanda-r {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.3s ease;
}
.pl-js .pl-domanda-r > div {
  overflow: hidden;
}
.pl-js .pl-domanda[data-aperta] .pl-domanda-r {
  grid-template-rows: 1fr;
}
.pl-js .pl-domanda[data-aperta] .pl-domanda-s {
  transform: rotate(45deg);
  color: var(--rosso);
}
@media (prefers-reduced-motion: reduce) {
  .pl-js .pl-rivela {
    opacity: 1;
    transform: none;
  }
  .pl-js .pl-domanda-r {
    transition: none;
  }
}
