/* ══════════════════════════════════════════════════════════════════════════
   PROXIMA · px-premium.css   [PXP-2026-09-24]
   Revisione di qualità della home, pensata dal telefono in su.
   Va caricato DOPO px-launch.css (solo in index.html).

   Cosa fa, in ordine di pagina:
     1. Nav       — burger a due linee, menu a tutto schermo su mobile
     2. Hero      — un solo CTA pieno, gerarchia verticale pulita
     3. Card "Ultima analisi" — superficie scura piena, non più vetro grigio
     4. Ticker    — sfumature ai bordi nello stesso violetto (niente alone)
     5. Feed      — "Le uscite precedenti": card grande + righe con cifra
     6. Format    — card piene su mobile, virgola della Pagella
     7. Demo      — intestazione su una riga, pallini toccabili
     8. Metodo    — linea verticale su mobile (i tre passi sono una sequenza)
     9. Consulting— titolo sempre su fondo scuro, servizi in elenco
    10. Chi siamo, newsletter, footer
    11. Reduced motion

   Regola: si interviene con classi aggiunte ai componenti, non con selettori
   sugli stili inline. Dove serve battere uno stile inline, !important.
   ══════════════════════════════════════════════════════════════════════════ */

:root{
  --pxp-ink-surface: linear-gradient(160deg, #302b3e 0%, #231f2e 55%, #1c1926 100%);
  --pxp-card-shadow: 0 1px 2px rgba(42,39,51,0.04), 0 14px 34px -20px rgba(42,39,51,0.22);
  --pxp-card-shadow-hi: 0 2px 6px rgba(42,39,51,0.05), 0 30px 60px -28px rgba(42,39,51,0.30);
  --pxp-gutter: 20px;
}
html{ -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
html.px-menu-lock, html.px-menu-lock body{ overflow: hidden; }


/* ══════════════════════════════════════════════════════════════════════════
   1 · NAV
   ══════════════════════════════════════════════════════════════════════════ */
.px-navburger{
  display: none;
  position: relative;
  width: 44px; height: 44px;
  margin-right: -10px;
  padding: 0; border: 0; border-radius: 12px;
  background: transparent; cursor: pointer;
  color: var(--ink);
}
.px-navburger span{
  position: absolute; left: 11px; right: 11px;
  height: 1.75px; border-radius: 2px;
  background: currentColor;
  transition: transform 420ms var(--px-ease-ui);
}
.px-navburger span:nth-child(1){ top: 17px; }
.px-navburger span:nth-child(2){ top: 25px; }
.px-nav-open .px-navburger span:nth-child(1){ transform: translateY(4px) rotate(45deg); }
.px-nav-open .px-navburger span:nth-child(2){ transform: translateY(-4px) rotate(-45deg); }

.px-menu{ display: none; }

@media (max-width: 880px){
  .px-navlinks{ display: none !important; }
  .px-navburger{ display: inline-block; }

  /* Il menu è figlio della nav (fissa): in assoluto con z-index negativo
     copre lo schermo ma resta SOTTO la barra con logo e burger. */
  .px-menu{
    display: flex; flex-direction: column; justify-content: space-between;
    position: absolute; top: 0; left: 0; right: 0;
    height: 100vh; height: 100dvh;
    z-index: -1;
    padding: 104px var(--pxp-gutter) calc(28px + env(safe-area-inset-bottom, 0px));
    background:
      radial-gradient(90% 50% at 100% 0%, rgba(106,69,255,0.10), rgba(106,69,255,0) 70%),
      var(--paper);
    overflow-y: auto; overscroll-behavior: contain;
    opacity: 0; visibility: hidden;
    transition: opacity 240ms var(--px-ease-ui), visibility 0s linear 240ms;
  }
  .px-menu.is-open{
    opacity: 1; visibility: visible;
    transition: opacity 320ms var(--px-ease-ui), visibility 0s;
  }
  .px-menu-links{ display: flex; flex-direction: column; }
  .px-menu-links a{
    display: flex; align-items: center;
    min-height: 60px;
    font-family: var(--font-display); font-weight: 600;
    font-size: clamp(26px, 7.6vw, 34px); letter-spacing: -0.025em; line-height: 1.1;
    color: var(--ink); text-decoration: none;
    border-bottom: 1px solid rgba(42,39,51,0.08);
  }
  .px-menu-links a:active{ color: var(--violet-500); }
  .px-menu-foot{ display: grid; gap: 14px; padding-top: 28px; }
  .px-menu-cta{
    display: flex; align-items: center; justify-content: center;
    min-height: 54px; border-radius: 14px;
    background: var(--violet-500); color: #fff !important; text-decoration: none;
    font-family: var(--font-mono); font-size: 12px; letter-spacing: 0.12em; text-transform: uppercase;
    box-shadow: 0 14px 30px -14px rgba(106,69,255,0.7);
  }
  .px-menu-mail{
    justify-self: center;
    font-family: var(--font-mono); font-size: 12px; letter-spacing: 0.04em;
    color: var(--slate-500) !important; text-decoration: none;
  }
  /* Ingresso: una cascata sola, legata al gesto di apertura. */
  .px-menu.is-open .px-menu-links a,
  .px-menu.is-open .px-menu-foot{
    animation: pxp-menu-in 620ms var(--px-ease-entrance) both;
    animation-delay: calc(70ms + var(--i, 0) * 38ms);
  }
  @keyframes pxp-menu-in{
    from{ opacity: 0; transform: translate3d(0, 18px, 0); }
    to  { opacity: 1; transform: none; }
  }

  /* Nav aperta: niente vetro, bordo o ombra sopra il foglio del menu. */
  nav.px-nav-open{
    background: transparent !important;
    -webkit-backdrop-filter: none !important; backdrop-filter: none !important;
    box-shadow: none !important; border-bottom-color: transparent !important;
  }
  nav.px-nav-open::before{ display: none !important; }
}


/* Sopra le sezioni scure il vetro al 60% lasciava leggere il testo sotto
   la barra. Più pieno, stesso blur. */
@media (min-width: 881px){
  nav.glass-strong{ background: rgba(251,250,253,0.86) !important; }
}

/* ══════════════════════════════════════════════════════════════════════════
   2 · HERO
   ══════════════════════════════════════════════════════════════════════════ */
@media (max-width: 760px){
  header.px-hero{
    min-height: 0 !important;
    align-items: flex-start !important;
    padding-top: 108px !important;
    padding-bottom: 64px !important;
  }
  .px-hero-eyebrow{
    font-size: clamp(9.5px, 2.75vw, 11px) !important;
    letter-spacing: 0.15em !important;
    margin-bottom: 22px !important;
  }
  header.px-hero h1{ letter-spacing: -0.045em !important; }
  header.px-hero h1 .px-gradient-text{ margin-top: 12px !important; letter-spacing: -0.01em !important; }
  .px-hero-lead{
    font-size: 17px !important; line-height: 1.6 !important;
    margin: 22px 0 30px !important; max-width: 36ch !important;
  }
  .px-hero-actions{
    flex-direction: column; align-items: stretch !important; gap: 4px !important;
  }
  .px-hero-actions .px-cta-1{
    display: flex; align-items: center; justify-content: center;
    min-height: 56px; padding: 0 20px !important;
    border-radius: 14px !important;
    font-size: 12px !important; letter-spacing: 0.13em !important;
    box-shadow: 0 16px 34px -16px rgba(106,69,255,0.75);
  }
  .px-hero-actions .px-cta-3{
    align-self: flex-start;
    display: inline-flex; align-items: center; min-height: 44px;
    padding: 0 !important; font-size: 11.5px !important;
  }
  .px-hero-note{ margin-top: 6px !important; }
  .px-hero-kpi{ margin-top: 44px !important; }
}


/* ══════════════════════════════════════════════════════════════════════════
   3 · CARD "ULTIMA ANALISI"
   Il vetro scuro al 60% sopra fondo carta usciva grigio sporco. Superficie
   piena, con un filo di luce violetta nell'angolo: uno strumento, non un
   pannello semitrasparente.
   ══════════════════════════════════════════════════════════════════════════ */
.px-kpi-card{
  background:
    radial-gradient(80% 55% at 100% 0%, rgba(106,69,255,0.30), rgba(106,69,255,0) 62%),
    var(--pxp-ink-surface) !important;
  -webkit-backdrop-filter: none !important; backdrop-filter: none !important;
  border-radius: 22px !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.09),
    0 44px 90px -40px rgba(38,35,47,0.70),
    0 14px 30px -20px rgba(63,35,189,0.40) !important;
}
.px-kpi-card::before{
  background: linear-gradient(135deg, rgba(255,255,255,0.22), rgba(255,255,255,0.04) 40%, rgba(255,255,255,0) 60%, rgba(179,160,255,0.22)) !important;
}
@media (max-width: 760px){
  .px-kpi-card{ padding: 24px 22px !important; width: 100% !important; }
}


/* ══════════════════════════════════════════════════════════════════════════
   4 · TICKER
   La maschera ai bordi sfumava anche il fondo violetto nel bianco della
   pagina: sembrava un alone. Ora sfuma solo il testo, nel violetto stesso.
   ══════════════════════════════════════════════════════════════════════════ */
.px-ticker{
  position: relative;
  -webkit-mask-image: none !important; mask-image: none !important;
}
.px-ticker-fade{
  position: absolute; top: 0; bottom: 0; z-index: 2;
  width: 64px; pointer-events: none;
}
.px-ticker-fade.l{ left: 0;  background: linear-gradient(90deg,  var(--violet-500), rgba(106,69,255,0)); }
.px-ticker-fade.r{ right: 0; background: linear-gradient(270deg, var(--violet-500), rgba(106,69,255,0)); }
@media (max-width: 760px){
  .px-ticker{ padding: 13px 0 !important; }
  .px-ticker-track > span{ font-size: 11px !important; letter-spacing: 0.16em !important; gap: 20px !important; padding-right: 20px !important; }
  .px-ticker-fade{ width: 36px; }
}


/* ══════════════════════════════════════════════════════════════════════════
   5 · FEED — LE USCITE PRECEDENTI
   ══════════════════════════════════════════════════════════════════════════ */
.px-feed{ background: var(--paper); padding: 112px 40px 56px; }
.px-feed-in{ max-width: 1180px; margin: 0 auto; }
.px-feed-head{
  display: flex; align-items: flex-end; justify-content: space-between;
  gap: 24px; margin-bottom: 40px;
}
.px-feed-h2{
  font-family: var(--font-display); font-weight: 600;
  font-size: clamp(30px, 3.6vw, 46px); line-height: 1.08; letter-spacing: -0.025em;
  color: var(--ink); margin: 18px 0 0;
}
.px-feed-arch{ display: flex; flex-wrap: wrap; gap: 10px; }
.px-feed-arch a{
  display: inline-flex; align-items: center; min-height: 40px;
  padding: 0 16px; border-radius: 999px;
  border: 1px solid var(--violet-300);
  font-family: var(--font-mono); font-size: 10.5px; letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--violet-700); text-decoration: none;
  transition: background var(--px-dur-ui) var(--px-ease-ui), color var(--px-dur-ui) var(--px-ease-ui), border-color var(--px-dur-ui) var(--px-ease-ui);
}
.px-feed-arch a:hover{ background: var(--violet-500); border-color: var(--violet-500); color: #fff; }

.px-feed-grid{ display: grid; gap: 20px; }

/* ── Card grande ── */
.px-feed-lead{
  display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(0, 1fr);
  text-decoration: none; color: inherit;
  background: var(--card); border: 1px solid var(--slate-200);
  border-radius: 24px; overflow: hidden;
  box-shadow: var(--pxp-card-shadow);
  transition: transform 520ms var(--px-ease-ui), box-shadow 520ms var(--px-ease-ui), opacity var(--px-dur-enter) var(--px-ease-entrance) !important;
  isolation: isolate;
}
.px-feed-media{ position: relative; min-height: 440px; overflow: hidden; background: #2b2548; }
.px-feed-media img{
  position: absolute; inset: 0; width: 100%; height: 100%;
  object-fit: cover; display: block;
  transition: transform 1400ms var(--px-ease-entrance);
}
.px-feed-media::after{
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(180deg, rgba(26,24,33,0.38) 0%, rgba(26,24,33,0) 34%, rgba(26,24,33,0) 72%, rgba(26,24,33,0.42) 100%);
}
.px-feed-chip{
  position: absolute; top: 16px; left: 16px; z-index: 2;
  display: inline-flex; align-items: center; gap: 8px;
  padding: 6px 13px 6px 7px; border-radius: 999px;
  background: rgba(251,250,253,0.92);
  -webkit-backdrop-filter: blur(12px) saturate(160%); backdrop-filter: blur(12px) saturate(160%);
  box-shadow: 0 6px 18px -8px rgba(26,24,33,0.45);
  font-family: var(--font-mono); font-size: 10.5px; letter-spacing: 0.12em; text-transform: uppercase;
  color: var(--ink); white-space: nowrap;
}
.px-feed-chip svg{ width: 22px; height: 22px; flex: none; }
.px-feed-credit{
  position: absolute; right: 14px; bottom: 12px; z-index: 2;
  font-family: var(--font-mono); font-size: 9.5px; letter-spacing: 0.04em;
  color: rgba(255,255,255,0.78);
}
.px-feed-body{ display: flex; flex-direction: column; padding: 34px 36px 32px; min-width: 0; }
.px-feed-date{
  font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase;
  color: var(--slate-500);
}
.px-feed-title{
  font-family: var(--font-display); font-weight: 600;
  font-size: clamp(22px, 2.2vw, 29px); line-height: 1.16; letter-spacing: -0.02em;
  color: var(--ink); margin: 12px 0 0; text-wrap: balance;
}
.px-feed-deck{
  font-family: var(--font-serif); font-size: 17px; line-height: 1.6;
  color: var(--slate-700); margin: 14px 0 0; text-wrap: pretty;
}
.px-feed-figs{
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 24px 0 0; padding: 18px 0 0;
  border-top: 1px solid var(--slate-200);
}
.px-feed-figs > div{ display: flex; flex-direction: column-reverse; justify-content: flex-end; gap: 6px; padding: 0 12px; min-width: 0; }
.px-feed-figs > div:first-child{ padding-left: 0; }
.px-feed-figs > div + div{ border-left: 1px solid var(--slate-200); }
.px-feed-figs dd{
  margin: 0; font-family: var(--font-mono); font-weight: 700;
  font-size: clamp(15px, 1.5vw, 19px); letter-spacing: -0.03em; line-height: 1.1;
  color: var(--ink); font-variant-numeric: tabular-nums; white-space: nowrap;
}
.px-feed-figs dt{
  font-family: var(--font-display); font-size: 12.5px; line-height: 1.3;
  color: var(--slate-500);
}
.px-feed-go{
  display: inline-flex; align-items: center; gap: 12px;
  margin-top: auto; padding-top: 26px;
  font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--violet-700);
}
.px-feed-go::after{
  content: ""; width: 22px; height: 1px; background: currentColor;
  transition: width 420ms var(--px-ease-ui);
}

/* ── Righe ── */
.px-feed-list{ display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.px-feed-item{ min-width: 0; }
.px-feed-row{
  display: grid; grid-template-columns: 104px minmax(0, 1fr); gap: 18px; align-items: center;
  height: 100%; padding: 14px 18px 14px 14px;
  background: var(--card); border: 1px solid var(--slate-200); border-radius: 20px;
  text-decoration: none; color: inherit;
  box-shadow: 0 1px 2px rgba(42,39,51,0.03);
  transition: transform 420ms var(--px-ease-ui), box-shadow 420ms var(--px-ease-ui), border-color 420ms var(--px-ease-ui);
}
.px-feed-thumb{ width: 104px; height: 104px; border-radius: 13px; object-fit: cover; display: block; background: #2b2548; }
.px-feed-rowtext{ display: flex; flex-direction: column; gap: 7px; min-width: 0; }
.px-feed-kicker{
  display: flex; flex-wrap: wrap; gap: 2px 10px;
  font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.12em; text-transform: uppercase;
  color: var(--violet-700);
}
.px-feed-rowdate{ color: var(--slate-500); }
.px-feed-rowtitle{
  font-family: var(--font-display); font-weight: 600;
  font-size: 17px; line-height: 1.26; letter-spacing: -0.01em;
  color: var(--ink); text-wrap: balance;
}
.px-feed-rowfig{
  display: flex; align-items: baseline; flex-wrap: wrap; gap: 2px 9px;
  font-family: var(--font-display); font-size: 12.5px; color: var(--slate-500);
}
.px-feed-rowfig b{
  font-family: var(--font-mono); font-weight: 700; font-size: 14px; letter-spacing: -0.02em;
  color: var(--ink); white-space: nowrap;
}

@media (hover: hover){
  .px-feed-lead:hover{ transform: translate3d(0, -4px, 0); box-shadow: var(--pxp-card-shadow-hi); }
  .px-feed-lead:hover .px-feed-media img{ transform: scale(1.035); }
  .px-feed-lead:hover .px-feed-go::after{ width: 36px; }
  .px-feed-row:hover{ transform: translate3d(0, -3px, 0); box-shadow: var(--pxp-card-shadow); border-color: var(--violet-200); }
}
.px-feed-lead:active, .px-feed-row:active{ transform: scale(0.99); transition-duration: 120ms; }

@media (max-width: 980px){
  .px-feed-lead{ grid-template-columns: 1fr; }
  .px-feed-media{ min-height: 0; aspect-ratio: 3 / 2; }
  .px-feed-list{ grid-template-columns: 1fr; gap: 12px; }
}
@media (max-width: 760px){
  section.px-feed{ padding: 72px var(--pxp-gutter) 40px !important; }
  /* Su telefono gli archivi scendono in fondo, dove finisce la lettura. */
  .px-feed-in{ display: flex; flex-direction: column; }
  .px-feed-head{ display: contents; }
  .px-feed-head > .px-reveal{ order: 1; margin-bottom: 28px; }
  .px-feed-grid{ order: 2; gap: 12px; }
  .px-feed-arch{ order: 3; display: grid; grid-template-columns: 1fr; gap: 10px; margin-top: 22px; }
  .px-feed-arch a{ justify-content: center; min-height: 48px; }

  .px-feed-lead{ border-radius: 20px; }
  .px-feed-chip{ top: 12px; left: 12px; font-size: 10px; }
  .px-feed-body{ padding: 20px 20px 22px; }
  .px-feed-title{ font-size: 22px; line-height: 1.2; margin-top: 10px; }
  .px-feed-deck{ font-size: 16px; line-height: 1.58; margin-top: 10px; }
  .px-feed-figs{ margin-top: 20px; padding-top: 16px; }
  .px-feed-figs > div{ padding: 0 10px; }
  .px-feed-figs dd{ font-size: clamp(14px, 4.3vw, 17px); }
  .px-feed-figs dt{ font-size: 11.5px; }
  .px-feed-go{ padding-top: 20px; }

  .px-feed-row{ grid-template-columns: 84px minmax(0, 1fr); gap: 14px; padding: 12px 14px 12px 12px; border-radius: 18px; }
  .px-feed-thumb{ width: 84px; height: 84px; border-radius: 12px; }
  .px-feed-rowtitle{ font-size: 16px; }
}


/* ══════════════════════════════════════════════════════════════════════════
   6 · FORMAT
   ══════════════════════════════════════════════════════════════════════════ */
/* La virgola di Space Mono occupa una cella intera: "7 , 4". */
.px-comma{ margin: 0 -0.2em; }

@media (max-width: 760px){
  section.px-formats{ padding-top: 56px !important; }
  .px-formats .px-fmt-grid{ gap: 14px !important; margin-top: 32px !important; }
  /* Vetro chiaro su carta non si vede, costa blur e lasciava un riquadro più
     chiaro dentro la card. Superficie piena, stesso bordo del feed. */
  .px-formats .px-fmt{
    background: var(--card) !important;
    -webkit-backdrop-filter: none !important; backdrop-filter: none !important;
    border: 1px solid var(--slate-200);
    box-shadow: var(--pxp-card-shadow) !important;
    border-radius: 20px !important;
    padding: 24px 22px !important;
  }
  .px-formats .px-fmt::before, .px-formats .px-fmt::after{ display: none !important; }
  .px-formats .px-fmt h4{ font-size: 22px !important; }
  .px-formats .px-fmt p{ font-size: 16px !important; margin-bottom: 20px !important; }
  .px-formats .px-score{ font-size: 36px !important; }
}


/* ══════════════════════════════════════════════════════════════════════════
   7 · DEMO DEL TERMOMETRO
   ══════════════════════════════════════════════════════════════════════════ */
.px-demo-head span{ white-space: nowrap; }
/* Tutte le slide nella stessa cella: conta la più alta (vedi site-demo.js). */
.px-demo-stack{ display: grid; height: 100%; }
.px-demo-stack > *{ grid-area: 1 / 1; min-width: 0; }
.px-demo-ghost{ visibility: hidden; pointer-events: none; }
.px-demo-dot{ position: relative; }
.px-demo-dot::after{ content: ""; position: absolute; inset: -18px -3px; }
#termometro .demo-stage{ touch-action: pan-y; }
@media (max-width: 760px){
  #termometro .px-demo-sub{ display: none; }
  #termometro .px-demo-head{ padding: 14px 18px !important; }
  #termometro > div > div:first-child{ margin-bottom: 28px !important; gap: 14px !important; }
  #termometro > div > div:first-child p{ font-size: 16.5px !important; max-width: none !important; }
}


/* ══════════════════════════════════════════════════════════════════════════
   8 · METODO — linea verticale su telefono
   ══════════════════════════════════════════════════════════════════════════ */
@media (max-width: 760px){
  .px-steps{ gap: 0 !important; margin-top: 36px !important; }
  .px-step{
    position: relative;
    border-top: 0 !important;
    padding: 0 0 30px 54px !important;
  }
  .px-step::before{
    content: ""; position: absolute; left: 17px; top: 40px; bottom: 4px; width: 1px;
    background: linear-gradient(180deg, var(--violet-300), rgba(179,160,255,0.25));
  }
  .px-step:last-child{ padding-bottom: 0 !important; }
  .px-step:last-child::before{ display: none; }
  .px-step-n{
    position: absolute; left: 0; top: 0;
    display: grid !important; place-items: center;
    width: 35px; height: 35px; border-radius: 50%;
    border: 1px solid var(--violet-300); background: var(--card);
    box-shadow: 0 0 0 5px var(--paper);
    font-size: 11px !important; letter-spacing: 0.02em !important;
  }
  .px-step h3{ margin: 8px 0 10px !important; }
  .px-step p{ font-size: 16px !important; }
}


/* ══════════════════════════════════════════════════════════════════════════
   9 · CONSULTING
   La sfumatura carta → scuro partiva dove iniziava il testo: occhiello e
   titolo cadevano sul grigio intermedio. Ora la sfumatura vive sopra il
   contenuto e il titolo sta sempre sul fondo pieno.
   ══════════════════════════════════════════════════════════════════════════ */
section#consulting{
  position: relative;
  background: var(--ink-surface) !important;
  padding-top: 196px !important;
}
section#consulting::before{
  content: ""; position: absolute; left: 0; right: 0; top: 0; height: 140px;
  /* sfumatura a gradini: una lineare a due stop lascia una riga visibile
     dove finisce */
  background: linear-gradient(180deg,
    rgba(251,250,253,1)    0%,
    rgba(243,241,248,0.94) 16%,
    rgba(214,211,224,0.74) 34%,
    rgba(150,145,166,0.46) 54%,
    rgba(84,79,99,0.20)    76%,
    rgba(38,35,47,0)       100%);
  pointer-events: none;
}
#consulting form h3{ line-height: 1.22 !important; }
@media (max-width: 900px){
  section#consulting{ padding-top: 150px !important; padding-bottom: 72px !important; }
  section#consulting::before{ height: 104px; }
}
@media (max-width: 760px){
  .px-services{
    grid-template-columns: 1fr !important;
    background: transparent !important; border: 0 !important; border-radius: 0 !important;
    gap: 0 !important; margin-top: 36px !important; overflow: visible !important;
  }
  .px-service{
    display: grid !important; grid-template-columns: 36px minmax(0, 1fr);
    background: transparent !important;
    -webkit-backdrop-filter: none !important; backdrop-filter: none !important;
    box-shadow: none !important;
    padding: 20px 0 !important;
    border-top: 1px solid rgba(255,255,255,0.10);
  }
  .px-service::before, .px-service::after{ display: none !important; }
  .px-service > span{ grid-row: span 2; padding-top: 4px; }
  .px-service h4{ margin: 0 0 6px !important; font-size: 17px !important; }
  .px-service p{ font-size: 15.5px !important; }
  .px-clients{ margin-top: 12px; border-radius: 18px; padding: 24px 22px !important; }
  .px-clients span{ font-size: 14px !important; }
  .px-consult-grid{ gap: 44px !important; }
}


/* ══════════════════════════════════════════════════════════════════════════
   10 · CHI SIAMO · NEWSLETTER · FOOTER
   ══════════════════════════════════════════════════════════════════════════ */
@media (max-width: 760px){
  #chi blockquote{ font-size: 25px !important; line-height: 1.34 !important; }
  #chi .px-chi-grid{ gap: 44px !important; }

  footer{ padding-left: var(--pxp-gutter) !important; padding-right: var(--pxp-gutter) !important; }
  footer .px-foot-grid{
    grid-template-columns: 1fr 1fr !important;
    gap: 36px 20px !important; padding-bottom: 36px !important;
  }
  footer .px-foot-grid > div:first-child{ grid-column: 1 / -1; }
  footer .px-foot-grid > div > div[style*="gap: 11px"]{ gap: 0 !important; }
  footer .px-foot-grid a{ display: flex; align-items: center; min-height: 44px; }
}


/* ══════════════════════════════════════════════════════════════════════════
   11 · MOVIMENTO RIDOTTO
   ══════════════════════════════════════════════════════════════════════════ */
@media (prefers-reduced-motion: reduce){
  .px-menu.is-open .px-menu-links a, .px-menu.is-open .px-menu-foot{ animation: none !important; }
  .px-feed-media img{ transition: none !important; }
}
