/* ===== HOME (index.html) ===== */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@600;700;800&display=swap');
@import url('https://fonts.cdnfonts.com/css/azo-sans');

:root {
  --fqs-font: "Azo Sans", "azo-sans-web", Inter, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

body,
body * {
  font-family: var(--fqs-font) !important;
}

a[x-apple-data-detectors] {
  color: inherit !important;
  text-decoration: none !important;
  font-weight: inherit !important;
}

html,
body {
  margin: 0;
  padding: 0;
  background: #f5f7fa;
}

/* (animazioni di entrata sezioni rimosse su richiesta) */

/* ==== HOME — pesi font (no change in sizes) ==== */
.page-home #fqs-header .fqs-link { font-weight: 650; }
.page-home .fqs-call { font-weight: 750; }
.page-home .pfql-hero-split__eyebrow { font-weight: 450; }
.page-home .pfql-hero-split__title { font-weight: 450; }
.page-home .pfql-hero-split__subtitle { font-weight: 430; }
.page-home .pfql-hero-split__subtitle strong { font-weight: 520; }
.page-home .pfql-btn { font-weight: 550; }
.page-home :where(h1,h2,h3,h4):not(.pfql-hero-split__title) { font-weight: 600; }
.page-home p { font-weight: 400; }
.page-home strong { font-weight: 550; }
.page-home .pfql-btn-sm,
.page-home .fqs-btn,
.page-home .fqs-btn--dark,
.page-home .fqs-btn--light { font-weight: 600; }

/* HOME — Sezione "Consulenza e formazione per la qualità totale" */
.page-home .pfql-services__eyebrow { font-weight: 450; }
.page-home .pfql-services__title {
  font-weight: 450;
  font-size: clamp(38px, 5.5vw, 56px);
}
.page-home .pfql-services__subtitle { font-weight: 430; }
.page-home .pfql-services__subtitle strong { font-weight: 520; }
.page-home .pfql-services .pfql-btn-sm { font-weight: 550; }

@media (max-width: 900px) {
  .page-home .pfql-services__title {
    font-size: clamp(44px, 9vw, 58px);
  }
}

/* HOME — Sezione "Settori serviti" */
.page-home .fqs-sectors__eyebrow { font-weight: 450; }
.page-home .fqs-sectors__title {
  font-weight: 450;
  font-size: clamp(38px, 5.5vw, 56px);
}
.page-home .fqs-sectors__subtitle { font-weight: 430; }
.page-home .fqs-sectors__subtitle strong { font-weight: 520; }
.page-home .fqs-sec__title { font-weight: 600; }
.page-home .fqs-sec__text { font-weight: 400; }
.page-home .fqs-sec__bar { font-weight: 400; }
.page-home .fqs-sec__contact { font-weight: 550; }

@media (max-width: 900px) {
  .page-home .fqs-sectors__title {
    font-size: clamp(44px, 9vw, 58px);
  }
}

/* HOME — Sezione "Norme in pillole" */
.page-home .fqs-norms__title {
  font-weight: 450;
  font-size: clamp(38px, 5.5vw, 56px);
}
.page-home .fqs-norms__subtitle { font-weight: 430; }
.page-home .fqs-norms__subtitle strong { font-weight: 520; }
.page-home .fqs-norms__index { font-weight: 600; }
.page-home .fqs-norms__text { font-weight: 400; }

@media (max-width: 900px) {
  .page-home .fqs-norms__title {
    font-size: clamp(44px, 9vw, 58px);
  }
}

/* HOME — Sezione "Come lavoriamo" (pflow) */
.page-home .pflow-title {
  font-weight: 450;
  font-size: clamp(38px, 5.5vw, 56px);
}
.page-home .pflow-subtitle { font-weight: 430; }
.page-home .pflow-subtitle strong { font-weight: 520; }
.page-home .pflow-card-title { font-weight: 600; }
.page-home .pflow-card-text { font-weight: 400; }
.page-home .pflow-marker-num { font-weight: 700; }

@media (max-width: 900px) {
  .page-home .pflow-title {
    font-size: clamp(44px, 9vw, 58px);
  }
}

/* HOME — Sezione "Risultati concreti" (case study) */
.page-home .pfql-cases__title {
  font-weight: 450;
  font-size: clamp(38px, 5.5vw, 56px);
}
.page-home .pfql-cases__subtitle { font-weight: 430; }
.page-home .pfql-cases__subtitle strong { font-weight: 520; }
.page-home .pfql-case__title { font-weight: 600; }
.page-home .pfql-change { font-weight: 600; }
.page-home .pfql-diff { font-weight: 400; }
.page-home .pfql-hours-inline__label { font-weight: 500; }
.page-home .pfql-hours-inline__num { font-weight: 700; }

@media (max-width: 900px) {
  .page-home .pfql-cases__title {
    font-size: clamp(44px, 9vw, 58px);
  }
}

/* HOME — Sezione "Cosa dicono i nostri clienti" (reviews) */
.page-home .pfql-reviews__title {
  font-weight: 450;
  font-size: clamp(38px, 5.5vw, 56px);
}
.page-home .pfql-reviews__subtitle { font-weight: 430; }
.page-home .pfql-reviews__subtitle strong { font-weight: 520; }
.page-home .pfql-review__name { font-weight: 600; }
.page-home .pfql-stars__rating { font-weight: 700; }
.page-home .pfql-review__text { font-weight: 400; }
.page-home .pfql-more { font-weight: 600; }

@media (max-width: 900px) {
  .page-home .pfql-reviews__title {
    font-size: clamp(44px, 9vw, 58px);
  }
}

/* HOME — Sezioni finali CTA, lead magnet e footer */
.page-home .pfql-cta-final__title { font-weight: 450; }
.page-home .pfql-cta-final__subtitle { font-weight: 430; }
.page-home .pfql-cta-final .pfql-btn { font-weight: 600; }

.page-home .pfql-lead__title { font-weight: 450; }
.page-home .pfql-lead__subtitle { font-weight: 430; }
.page-home .pfql-lead .pfql-btn--silver,
.page-home .pfql-lead .pfql-btn__label { font-weight: 600; }

.page-home .fqs-ft-title { font-weight: 600; }
.page-home .fqs-ft-sub { font-weight: 430; }
.page-home .fqs-btn,
.page-home .fqs-btn--dark,
.page-home .fqs-btn--light { font-weight: 600; }
.page-home .fqs-desc { font-weight: 400; }
.page-home .fqs-contact a { font-weight: 500; }
.page-home .fqs-foot-main h4 { font-weight: 600; }
.page-home .fqs-foot-main a { font-weight: 500; }
.page-home .fqs-foot-legal { font-weight: 500; }

/* ==== COMPANY PROFILE — header pesi ==== */
.page-cp #fqs-header .fqs-link { font-weight: 650; }
.page-cp .fqs-call { font-weight: 750; }

/* ==== CONSULENZA — header pesi ==== */
.page-cons #fqs-header .fqs-link { font-weight: 650; }
.page-cons .fqs-call { font-weight: 750; }

/* ==== FORMAZIONE — header pesi ==== */
.page-form #fqs-header .fqs-link { font-weight: 650; }
.page-form .fqs-call { font-weight: 750; }

/* COMPANY PROFILE — Hero */
.page-cp .pfql-hero-split__eyebrow { font-weight: 450; }
.page-cp .pfql-hero-split__title { font-weight: 450; }
.page-cp .pfql-hero-split__subtitle { font-weight: 430; }
.page-cp .pfql-hero-split__subtitle strong { font-weight: 520; }
.page-cp .pfql-hero-split__tags .pfql-hero-tag { font-weight: 600; }
.page-cp .pfql-hero-split { margin-bottom: -1px; position: relative; }
.page-cp .pfql-hero-split::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  height: clamp(80px, 8vw, 140px);
  background: linear-gradient(180deg, rgba(245, 247, 250, 0) 0%, #f5f7fa 100%);
  pointer-events: none;
  z-index: 1;
}
.page-cp .alex-wave-mission {
  margin: 0 !important;
  padding: 0 !important;
  position: relative;
  background: #F5F7FA !important;
}
@media (max-width: 900px) {
  .page-cp .pfql-hero-split__tags {
    flex-wrap: wrap;
    gap: 3px;
  }
  .page-cp .pfql-hero-tag {
    padding: 2px 6px 2px 7px;
    font-size: .78rem;
  }
}

/* CONSULENZA — Hero */
.page-cons .pfql-hero-split__eyebrow { font-weight: 450; }
.page-cons .pfql-hero-split__title { font-weight: 450; }
.page-cons .pfql-hero-split__subtitle { font-weight: 430; }
.page-cons .pfql-hero-split__subtitle strong { font-weight: 520; }
.page-cons .pfql-hero-split__tags .pfql-hero-tag { font-weight: 600; }
/* sfumatura di raccordo come company profile */
.page-cons .pfql-hero-split {
  margin-bottom: -1px;
  position: relative;
}
.page-cons .pfql-hero-split::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  height: clamp(80px, 8vw, 140px);
  background: linear-gradient(180deg, rgba(245, 247, 250, 0) 0%, #f5f7fa 100%);
  pointer-events: none;
  z-index: 1;
}
.page-cons .pfql-hero-split__tags {
  flex-wrap: wrap;
  gap: 3px;
}
.page-cons .pfql-hero-tag {
  padding: 2px 6px 2px 7px;
  font-size: .78rem;
}

/* FORMAZIONE — Hero (stessi pesi e raccordo) */
.page-form .pfql-hero-split__eyebrow { font-weight: 450; }
.page-form .pfql-hero-split__title { font-weight: 450; }
.page-form .pfql-hero-split__subtitle { font-weight: 430; }
.page-form .pfql-hero-split__subtitle strong { font-weight: 520; }
.page-form .pfql-hero-split__tags .pfql-hero-tag { font-weight: 600; }
.page-form .pfql-hero-split {
  margin-bottom: -1px;
  position: relative;
}
.page-form .pfql-hero-split::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  height: clamp(80px, 8vw, 140px);
  background: linear-gradient(180deg, rgba(245, 247, 250, 0) 0%, #f5f7fa 100%);
  pointer-events: none;
  z-index: 1;
}
.page-form .pfql-hero-split__tags {
  flex-wrap: wrap;
  gap: 3px;
}
.page-form .pfql-hero-tag {
  padding: 2px 6px 2px 7px;
  font-size: .78rem;
}

/* CONSULENZA — TAGS DESKTOP come versione originale */
@media (min-width: 901px) {
  .page-cons .pfql-hero-split__tags {
    display: flex;
    flex-wrap: nowrap;
    gap: 8px;
    margin-top: 16px;
  }
  .page-cons .pfql-tags-row {
    display: contents;
  }
  .page-cons .pfql-hero-tag {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 6px 10px 6px 18px;
    font-size: .75rem;
    white-space: nowrap;
  }
}


/* COMPANY PROFILE + CONSULENZA — sezioni stile "pfql-ceo" */
.page-cp .pfql-ceo__eyebrow,
.page-cons .pfql-ceo__eyebrow,
.page-form .pfql-ceo__eyebrow { font-weight: 450; }
.page-cp .pfql-ceo__title,
.page-cons .pfql-ceo__title,
.page-form .pfql-ceo__title { font-weight: 450; }
.page-cp .pfql-ceo__name,
.page-cons .pfql-ceo__name,
.page-form .pfql-ceo__name { font-weight: 450; }
.page-cp .pfql-ceo__subtitle,
.page-cons .pfql-ceo__subtitle,
.page-form .pfql-ceo__subtitle { font-weight: 430; }
.page-cp .pfql-ceo__subtitle strong,
.page-cons .pfql-ceo__subtitle strong,
.page-form .pfql-ceo__subtitle strong { font-weight: 550; }

@media (max-width: 900px) {
  /* spazio extra a destra e nessuna spezzatura forzata su Consulenza -> evita tagli */
  .page-cons .pfql-ceo__copy {
    padding-right: 18px;
  }
  .page-cons .pfql-ceo__subtitle {
    word-break: normal;
    hyphens: none;
  }
  .page-cons .pfql-ceo__text-block {
    padding-right: 6px;
  }
}
.page-cp .pfql-ceo__text-block,
.page-cp .pfql-ceo__text-block--narrow,
.page-cons .pfql-ceo__text-block,
.page-cons .pfql-ceo__text-block--narrow,
.page-form .pfql-ceo__text-block,
.page-form .pfql-ceo__text-block--narrow { font-weight: 400; }
.page-cp .pfql-ceo__btn,
.page-cp .pfql-ceo__cta .pfql-ceo__btn,
.page-cons .pfql-ceo__btn,
.page-cons .pfql-ceo__cta .pfql-ceo__btn,
.page-form .pfql-ceo__btn,
.page-form .pfql-ceo__cta .pfql-ceo__btn { font-weight: 600; }

/* CONSULENZA + FORMAZIONE — Sezione "Consulenza Qualità" / "Formazione Qualità" (alex-qual-wave / alex-wave-mission) */
.page-cons .alex-qual-eyebrow,
.page-form .alex-mission-eyebrow { font-weight: 450; }
.page-cons .alex-qual-title,
.page-form .alex-mission-title { font-weight: 450; }
.page-cons .alex-qual-subtitle,
.page-form .alex-mission-subtitle { font-weight: 430; }
.page-cons .alex-qual-subtitle strong,
.page-form .alex-mission-subtitle strong { font-weight: 520; }
.page-cons .alex-qual-text-block,
.page-cons .alex-qual-text-block--narrow,
.page-form .alex-mission-text-block,
.page-form .alex-mission-text-block--narrow { font-weight: 400; }

/* CONSULENZA + FORMAZIONE — Sezione "Temporary Quality Manager" / "Miglioramento continuo" (alex-wave-tqm / alex-wave-growth) */
.page-cons .alex-tqm-eyebrow,
.page-form .alex-growth-eyebrow { font-weight: 450; }
.page-cons .alex-tqm-title,
.page-form .alex-growth-title { font-weight: 450; }
.page-cons .alex-tqm-subtitle,
.page-form .alex-growth-subtitle { font-weight: 430; }
.page-cons .alex-tqm-subtitle strong,
.page-form .alex-growth-subtitle strong { font-weight: 520; }
.page-cons .alex-tqm-text-block,
.page-cons .alex-tqm-text-block--narrow,
.page-form .alex-growth-text-block,
.page-form .alex-growth-text-block--narrow { font-weight: 400; }

/* Company Profile — varianti subtitle Jaafar (desktop vs mobile) */
@media (min-width: 901px) {
  .page-cp .pfql-ceo__subtitle--mobile { display: none; }
  .page-cp .pfql-ceo__subtitle--desktop { display: block; }
}
@media (max-width: 900px) {
  .page-cp .pfql-ceo__subtitle--mobile { display: block; }
  .page-cp .pfql-ceo__subtitle--desktop { display: none; }
}

/* COMPANY PROFILE + CONSULENZA + FORMAZIONE — Testimonianze (pesi testi) */
.page-cp .pfql-testimonials__eyebrow,
.page-cons .pfql-testimonials__eyebrow,
.page-form .pfql-testimonials__eyebrow { font-weight: 450; }
.page-cp .pfql-testimonials__title,
.page-cons .pfql-testimonials__title,
.page-form .pfql-testimonials__title { font-weight: 450; }
.page-cp .pfql-testimonials__subtitle,
.page-cons .pfql-testimonials__subtitle,
.page-form .pfql-testimonials__subtitle { font-weight: 430; }
.page-cp .pfql-testimonials__subtitle strong,
.page-cons .pfql-testimonials__subtitle strong,
.page-form .pfql-testimonials__subtitle strong { font-weight: 520; }
.page-cp .pfql-logo__fallback,
.page-cons .pfql-logo__fallback,
.page-form .pfql-logo__fallback { font-weight: 600; }

/* COMPANY PROFILE + CONSULENZA + FORMAZIONE — FAQ (pesi testi, allineati alle altre sezioni) */
.page-cp .pfql-faq-cp__eyebrow,
.page-cons .pfql-faq-cp__eyebrow,
.page-form .pfql-faq-cp__eyebrow { font-weight: 450; }
.page-cp .pfql-faq-cp__title,
.page-cons .pfql-faq-cp__title,
.page-form .pfql-faq-cp__title { font-weight: 450; }
.page-cp .pfql-faq-cp__subtitle,
.page-cons .pfql-faq-cp__subtitle,
.page-form .pfql-faq-cp__subtitle { font-weight: 430; }
.page-cp .pfql-faq-cp__subtitle strong,
.page-cons .pfql-faq-cp__subtitle strong,
.page-form .pfql-faq-cp__subtitle strong { font-weight: 520; }
.page-cp .pfql-acc-cp__summary,
.page-cons .pfql-acc-cp__summary,
.page-form .pfql-acc-cp__summary { font-weight: 600; }
.page-cp .pfql-acc-cp__body,
.page-cons .pfql-acc-cp__body,
.page-form .pfql-acc-cp__body { font-weight: 400; }

/* COMPANY PROFILE + FORMAZIONE — FAQ con sfondo bianco di base */
.page-cp .pfql-faq-cp,
.page-form .pfql-faq-cp { background: #ffffff; }
.page-cons .pfql-faq-cp {
  margin-top: 0 !important;
}

/* CONSULENZA — FAQ: desktop grigio, mobile resta bianco */
@media (min-width: 901px) {
  .page-cons .pfql-faq-cp {
    background: #F5F7FA;
  }
}

/* FORMAZIONE — FAQ: desktop grigio, mobile resta bianco */
@media (min-width: 901px) {
  .page-form .pfql-faq-cp {
    background: #F5F7FA;
  }
}

/* FORMAZIONE — mobile: niente gradino grigio tra "Sviluppo del personale" e FAQ */
@media (max-width: 900px) {
  .page-form .pfql-faq-cp {
    margin-top: 0 !important;
  }
}

/* Company Profile — scala ritratto Jaafar più contenuto */
@media (min-width: 901px) {
  /* sezione un po' più alta per dare aria sotto al ritratto */
  .page-cp .pfql-ceo {
    padding-bottom: 220px;
  }

  body.page-cp .pfql-ceo .pfql-cons-portrait__wrap {
    width: min(420px, 62vw);
    margin-top: -110px;
  }
  body.page-cp .pfql-ceo .pfql-cons-portrait__img {
    /* immagine ancora più in basso dentro la sezione */
    height: 120%;
    bottom: -20%;
    /* niente sfumatura/ombra marcata sotto */
    filter: none;
  }
  /* abbassa leggermente il blocco testo per far sembrare l’immagine più alta */
  body.page-cp .pfql-ceo__copy {
    margin-top: 32px;
  }
  /* alza tutto il blocco immagine di ~30px usando margine (non trasform) */
  body.page-cp .pfql-ceo__media {
    margin-top: -30px;
  }

  /* Company Profile — abbassa le forme gialle dietro il ritratto (solo desktop) */
  body.page-cp .pfql-cons-portrait__shapes--back,
  body.page-cp .pfql-cons-portrait__shapes--front,
  body.page-cp .pfql-cons-portrait__shapes--top {
    transform: translateY(70px);
    z-index: 10;
  }

  /* cerchio grande un po' meno in basso per non essere tagliato */
  body.page-cp .pfql-shape--circle-xl {
    transform: translateY(50px);
  }

  /* assicuriamoci che non vengano tagliate dai contenitori */
  body.page-cp .pfql-ceo__media,
  body.page-cp .pfql-cons-portrait__wrap {
    overflow: visible;
  }
}

/* CONSULENZA + FORMAZIONE — raccordo onda → sezione pfql-ceo senza banda grigia */
.page-cons .pfql-ceo,
.page-form .pfql-ceo {
  margin: 0 !important;
  padding-top: clamp(40px, 6vw, 80px);
  background: #ffffff;
}

/* CONSULENZA + FORMAZIONE — raccordo pfql-ceo → onda successiva senza banda grigia */
.page-cons .alex-wave-tqm,
.page-form .alex-wave-growth {
  margin-top: 0 !important;
}

/* Blocco scroll orizzontale generale */
html,
body {
  max-width: 100%;
  overflow-x: hidden;
}

@media (max-width: 900px) {
  body.page-cp .pfql-ceo .pfql-cons-portrait__wrap {
    width: min(200px, 52vw);
    margin-top: 0;
  }
  body.page-cp .pfql-ceo .pfql-cons-portrait__img {
    height: 108%;
  }
  body.page-cp .pfql-ceo__media {
    bottom: 260px;
    right: -10px;
  }

  /* Evita scroll orizzontale: taglia la parte che esce a destra */
  body.page-cp {
    overflow-x: hidden;
  }
  body.page-cp .pfql-ceo {
    overflow: hidden;
  }
}

/* COMPANY PROFILE — Missione e Valori */
.page-cp .alex-mission-eyebrow { font-weight: 450; }
.page-cp .alex-mission-title { font-weight: 450; }
.page-cp .alex-mission-subtitle { font-weight: 430; }
.page-cp .alex-mission-subtitle strong { font-weight: 550; }
.page-cp .alex-mission-text-block { font-weight: 400; }

/* COMPANY PROFILE — testo Jaafar:
   alleggerito rispetto alla mission per compensare il numero di strong */
.page-cp section[aria-label="Founder — Jaafar Fikar"] .pfql-ceo__subtitle { font-weight: 400; }
.page-cp section[aria-label="Founder — Jaafar Fikar"] .pfql-ceo__subtitle strong { font-weight: 450; }

@media (max-width: 900px) {
  .page-cp .alex-mission-media img {
    max-width: 56%;
    margin-top: 72px;
  }
}
@media (min-width: 901px) {
  .page-home .pfql-cases__head {
    margin-top: clamp(22px, 3vh, 36px);
  }
}

@media (max-width: 900px) {
  .page-home .pfql-hero-split__title {
    font-size: clamp(48px, 9vw, 60px);
  }
}

/* ==== COMPANY PROFILE MOBILE TUNING ==== */
@media (max-width: 900px) {
  .page-cp .alex-mission-media img {
    max-width: 52% !important;
    margin-top: 92px !important;
    transform: translateX(-6%) !important;
  }
}

/* COMPANY PROFILE — raccordo verso sezione CEO (bianco) */
.page-cp .pfql-ceo {
  margin: 0 !important;
  padding-top: clamp(44px, 7vw, 92px);
  padding-bottom: clamp(40px, 6vw, 88px);
  background: #ffffff;
}

    :root {
      --fg: #fff;
      --border-dim: rgba(255, 255, 255, .16);
      --ring: rgba(255, 255, 255, .18);
      --hdr-h: 104px;
      /* desktop */
      --hdr-h-m: 80px;
      /* mobile */
      --drawer-w: min(66.666vw, 420px);
      --accent: #D9E200;
      --accent-soft: rgba(217, 226, 0, .15);
      --accent-ring: rgba(217, 226, 0, .35);
    }

    /* ===== HEADER FIXED ===== */
    #fqs-header {
      position: fixed;
      inset: 0 0 auto 0;
      z-index: 100000;
      width: 100%;
      height: var(--hdr-h);
      font-family: "Montserrat", system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
      color: var(--fg);
      background:
        radial-gradient(120% 180% at 50% -60%, rgba(255, 255, 255, .08), rgba(255, 255, 255, 0) 60%),
        linear-gradient(180deg, rgba(255, 255, 255, .06), rgba(255, 255, 255, 0) 24%),
        linear-gradient(180deg, #2a2f37 0%, #171a1f 60%, #0b0c0f 100%) !important;
      border-bottom: 1px solid var(--border-dim);
      backdrop-filter: saturate(140%) blur(6px);
      -webkit-backdrop-filter: saturate(140%) blur(6px);
    }

    #fqs-header::before,
    #fqs-header::after {
      content: "";
      position: absolute;
      left: 0;
      right: 0;
      pointer-events: none;
    }

    #fqs-header::before {
      top: 0;
      height: 3px;
      background: linear-gradient(90deg, transparent 0 8%, var(--accent) 8% 92%, transparent 92% 100%);
      opacity: .9;
    }

    #fqs-header::after {
      top: 0;
      bottom: 0;
      background: radial-gradient(380px 220px at 78% 8%, var(--accent-soft), transparent 62%);
      mix-blend-mode: soft-light;
    }

    /* ===== CONTAINER ===== */
    #fqs-header .fqs-container {
      max-width: 1200px;
      margin: 0 auto;
      height: 100%;
      padding: 0 16px;
      display: grid;
      grid-template-columns: auto 1fr auto;
      align-items: center;
      gap: 16px;
    }

    /* ===== LOGO ===== */
    .fqs-logo {
      display: inline-flex;
      align-items: center;
      text-decoration: none;
    }

    .fqs-logo__img {
      height: 76px;
      /* desktop */
      width: auto;
      display: block;
      filter: drop-shadow(0 6px 14px rgba(0, 0, 0, .35));
      transition: transform .15s ease;
    }

    .fqs-logo:hover .fqs-logo__img {
      transform: translateY(-1px);
    }

    /* ===== NAV DESKTOP ===== */
    nav.fqs-nav {
      justify-self: center;
    }

    .fqs-menu {
      display: flex;
      align-items: center;
      gap: 22px;
      list-style: none;
      padding: 0;
      margin: 0;
    }

    .fqs-link {
      position: relative;
      display: inline-flex;
      align-items: center;
      font-weight: 800;
      letter-spacing: .01em;
      text-decoration: none;
      padding: 8px 2px;
      line-height: 1;
      color: inherit;
      font-size: clamp(.94rem, .86rem + .2vw, 1.05rem);
      outline: none;
    }

    .fqs-link::after {
      content: "";
      position: absolute;
      left: 0;
      right: 0;
      bottom: -6px;
      height: 2px;
      background: var(--accent);
      opacity: .95;
      transform: scaleX(0);
      transform-origin: left;
      transition: transform .22s ease;
      border-radius: 2px;
    }

    .fqs-link:hover::after,
    .fqs-link:focus-visible::after,
    .fqs-link[aria-current="page"]::after {
      transform: scaleX(1);
    }

    .fqs-link:focus-visible {
      box-shadow: 0 0 0 4px var(--accent-soft);
      border-radius: 8px;
    }

    /* ===== CTA DESKTOP ===== */
    .fqs-cta {
      display: flex;
      align-items: center;
      gap: 10px;
      position: relative;
    }

    .fqs-call {
      --bg1: #ffffff;
      --bg2: #e9edf3;
      --bg3: #cfd6e3;
      display: inline-flex;
      align-items: center;
      gap: .55em;
      padding: 10px 14px;
      border-radius: 999px;
      cursor: pointer;
      outline: none;
      font-weight: 900;
      white-space: nowrap;
      text-decoration: none;
      color: #0b0b0c;
      background:
        radial-gradient(120% 120% at 10% 15%, rgba(255, 255, 255, .92), rgba(255, 255, 255, 0) 44%),
        linear-gradient(135deg, var(--bg1) 0%, var(--bg2) 38%, var(--bg3) 100%);
      border: 1px solid rgba(0, 0, 0, .08);
      box-shadow: 0 2px 0 rgba(255, 255, 255, .35) inset, 0 12px 26px rgba(0, 0, 0, .22), 0 0 0 2px var(--accent-soft);
      transition: transform .15s ease, filter .2s ease, box-shadow .2s ease;
    }

    .fqs-call:hover {
      transform: translateY(-1px);
      filter: brightness(1.02) saturate(1.02);
      box-shadow: 0 2px 0 rgba(255, 255, 255, .45) inset, 0 14px 30px rgba(0, 0, 0, .24), 0 0 0 4px var(--accent-ring);
    }

    .fqs-call:focus-visible {
      box-shadow: 0 2px 0 rgba(255, 255, 255, .45) inset, 0 14px 30px rgba(0, 0, 0, .24), 0 0 0 5px var(--accent-ring);
    }

    .fqs-call svg {
      width: 18px;
      height: 18px;
      display: block;
    }

    .fqs-call__chevron {
      width: 14px;
      height: 14px;
      opacity: .8;
    }

    .fqs-call-menu {
      position: absolute;
      right: 0;
      top: 100%;
      padding: 10px;
      z-index: 100002;
      background: linear-gradient(180deg, #f9fafb 0%, #eef2f7 60%, #e5ebf5 100%);
      border-radius: 18px;
      border: 1px solid rgba(15, 23, 42, .08);
      box-shadow: 0 18px 40px rgba(15, 23, 42, .35);
      min-width: 240px;
      opacity: 0;
      transform: translateY(-4px);
      pointer-events: none;
      transition: opacity .18s ease, transform .18s ease;
    }

    .fqs-cta:hover .fqs-call-menu,
    .fqs-cta:focus-within .fqs-call-menu {
      opacity: 1;
      transform: translateY(0);
      pointer-events: auto;
    }

    .fqs-call-menu::before {
      content: "";
      position: absolute;
      inset: 0 0 auto 0;
      height: 3px;
      border-radius: 999px 999px 0 0;
      background: linear-gradient(90deg, transparent 0 10%, var(--accent) 10% 90%, transparent 90% 100%);
      opacity: .9;
    }

    .fqs-call-menu__list {
      list-style: none;
      padding: 8px 4px 4px;
      margin: 0;
      display: grid;
      gap: 6px;
    }

    .fqs-call-menu__item a {
      display: flex;
      align-items: center;
      gap: 8px;
      padding: 8px 10px;
      border-radius: 12px;
      text-decoration: none;
      font-size: .95rem;
      font-weight: 700;
      color: #020617;
      background: rgba(255, 255, 255, .7);
      border: 1px solid rgba(15, 23, 42, .06);
      transition: background .16s, transform .12s, box-shadow .16s, border-color .16s;
    }

    .fqs-call-menu__item a:hover {
      background: #fff;
      border-color: var(--accent-ring);
      box-shadow: 0 6px 18px rgba(15, 23, 42, .22);
      transform: translateY(-1px);
    }

    .fqs-call-menu__icon {
      width: 22px;
      height: 22px;
      border-radius: 999px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      font-size: 14px;
      background: var(--accent);
      color: #020617;
      box-shadow: 0 0 0 1px rgba(0, 0, 0, .06);
    }

    /* ===== Footer "Contatti" popup (mobile) ===== */
    .fqs-footer-contact-backdrop {
      position: fixed;
      inset: 0;
      background: rgba(0, 0, 0, .42);
      z-index: 9998;
      opacity: 0;
      transition: opacity .18s ease;
    }
    .fqs-footer-contact-backdrop.is-open { opacity: 1; }

    .fqs-footer-contact-pop {
      position: fixed;
      right: 14px;
      bottom: 92px;
      width: min(360px, calc(100vw - 28px));
      z-index: 9999;
      border-radius: 16px;
      background: rgba(255, 255, 255, .92);
      border: 1px solid rgba(15, 23, 42, .10);
      backdrop-filter: blur(14px);
      -webkit-backdrop-filter: blur(14px);
      box-shadow: 0 18px 60px rgba(0, 0, 0, .35);
      padding: 10px;
      opacity: 0;
      transform: translateY(6px);
      transition: opacity .18s ease, transform .18s ease;
    }
    .fqs-footer-contact-pop.is-open {
      opacity: 1;
      transform: translateY(0);
    }

    .fqs-footer-contact-pop__head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 10px;
      padding: 4px 4px 8px;
    }
    .fqs-footer-contact-pop__title {
      font-weight: 750;
      color: #020617;
      letter-spacing: -.01em;
    }
    .fqs-footer-contact-pop__close {
      appearance: none;
      border: 1px solid rgba(15, 23, 42, .10);
      background: rgba(255, 255, 255, .8);
      color: #020617;
      border-radius: 12px;
      width: 34px;
      height: 34px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      cursor: pointer;
    }

    @media (min-width: 981px) {
      .fqs-footer-contact-backdrop,
      .fqs-footer-contact-pop { display: none !important; }
    }

    /* ===== Cookie popup (GDPR) ===== */
    .fqs-cookie-fab {
      position: fixed;
      left: 14px;
      bottom: 14px;
      z-index: 999990;
      display: inline-flex;
      align-items: center;
      gap: 8px;
      padding: 10px 12px;
      border-radius: 999px;
      border: 1px solid rgba(255, 255, 255, .12);
      background: rgba(15, 23, 42, .86);
      color: #fff;
      box-shadow: 0 14px 46px rgba(0, 0, 0, .35);
      cursor: pointer;
      -webkit-backdrop-filter: blur(10px);
      backdrop-filter: blur(10px);
    }
    .fqs-cookie-fab__icon { font-size: 16px; line-height: 1; }
    .fqs-cookie-fab__label { font-weight: 650; font-size: 13px; }

    .fqs-cookie-backdrop {
      position: fixed;
      inset: 0;
      z-index: 999991;
      background: rgba(0, 0, 0, .45);
      opacity: 0;
      transition: opacity .18s ease;
    }
    .fqs-cookie-backdrop.is-open { opacity: 1; }

    .fqs-cookie-pop {
      position: fixed;
      left: 14px;
      bottom: 70px;
      z-index: 999992;
      width: min(380px, calc(100vw - 52px));
      border-radius: 18px;
      padding: 14px 14px 12px;
      background:
        radial-gradient(120% 120% at 10% 15%, rgba(255, 255, 255, .96), rgba(255, 255, 255, 0) 55%),
        linear-gradient(180deg, rgba(255, 255, 255, .94), rgba(255, 255, 255, .90));
      border: 1px solid rgba(15, 23, 42, .10);
      box-shadow: 0 24px 70px rgba(15, 23, 42, .30);
      -webkit-backdrop-filter: blur(14px);
      backdrop-filter: blur(14px);
      opacity: 0;
      transform: translateY(8px);
      transition: opacity .18s ease, transform .18s ease;
    }
    .fqs-cookie-pop.is-open {
      opacity: 1;
      transform: translateY(0);
    }

    .fqs-cookie-pop__head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 10px;
      margin-bottom: 6px;
    }
    .fqs-cookie-pop__brand {
      display: flex;
      align-items: center;
      gap: 10px;
      min-width: 0;
    }
    .fqs-cookie-pop__logo {
      width: 34px;
      height: 34px;
      border-radius: 12px;
      object-fit: contain;
      background: #0f172a;
      padding: 6px;
      box-shadow: 0 10px 24px rgba(15, 23, 42, .22);
      flex: 0 0 auto;
    }
    .fqs-cookie-pop__title {
      font-weight: 800;
      letter-spacing: -.01em;
      color: #020617;
      line-height: 1.1;
    }
    .fqs-cookie-pop__subtitle {
      font-size: 12.5px;
      color: rgba(2, 6, 23, .72);
      margin-top: 2px;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }
    .fqs-cookie-pop__close {
      appearance: none;
      border: 1px solid rgba(15, 23, 42, .10);
      background: rgba(255, 255, 255, .85);
      color: #020617;
      border-radius: 12px;
      width: 34px;
      height: 34px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      cursor: pointer;
    }
    .fqs-cookie-pop[data-mode="first"] .fqs-cookie-pop__close {
      display: none;
    }
    .fqs-cookie-pop__text {
      margin: 0 0 10px;
      color: #0f172a;
      opacity: .92;
      line-height: 1.55;
      font-size: 14px;
    }
    .fqs-cookie-pop__links {
      margin: 0 0 12px;
      display: flex;
      gap: 10px;
      flex-wrap: wrap;
      align-items: center;
      font-size: 13px;
    }
    .fqs-cookie-pop__links a {
      color: #0f172a;
      text-decoration: none;
      font-weight: 650;
      position: relative;
    }
    .fqs-cookie-pop__links a:hover {
      text-decoration: underline;
      text-decoration-color: #d9e200;
      text-underline-offset: 3px;
    }
    .fqs-cookie-pop__actions {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 10px;
    }
    .fqs-cookie-btn {
      appearance: none;
      border-radius: 14px;
      padding: 11px 12px;
      font-weight: 750;
      border: 1px solid rgba(15, 23, 42, .12);
      cursor: pointer;
      position: relative;
    }
    .fqs-cookie-btn--primary {
      background: #0f172a;
      color: #fff;
      position: relative;
      box-shadow: 0 0 0 1px rgba(15, 23, 42, .08);
      overflow: hidden;
      font-size: 15px;
    }
    .fqs-cookie-btn--primary::after {
      content: none;
    }
    .fqs-cookie-btn--primary:hover {
      box-shadow: 0 0 0 1px rgba(15, 23, 42, .08), 0 10px 30px rgba(15, 23, 42, .20);
    }
    .fqs-cookie-btn--ghost {
      background: rgba(255, 255, 255, .75);
      color: #0f172a;
      font-size: 14px;
    }

    /* ===== BURGER / MOBILE ===== */
    .fqs-burger {
      display: none;
      appearance: none;
      background: transparent;
      border: 0;
      padding: 12px;
      border-radius: 12px;
      cursor: pointer;
      line-height: 0;
      color: inherit;
      outline: none;
    }

    .fqs-burger svg {
      width: 32px;
      height: 32px;
    }

    .fqs-burger:focus-visible {
      box-shadow: 0 0 0 4px var(--accent-ring);
    }

    @media (max-width:1024px) {
      #fqs-header {
        height: var(--hdr-h-m);
      }

      /* LOGO MOBILE: un pelo più piccolo e più a destra */
      .fqs-logo {
        margin-left: 6px;
      }

      .fqs-logo__img {
        height: 70px;
      }

      nav.fqs-nav {
        display: none;
      }

      .fqs-cta {
        display: none;
      }

      .fqs-burger {
        display: inline-flex;
        justify-self: end;
        padding: 14px;
        margin-right: -6px;
        /* un filo più a destra */
      }

      /* BURGER MOBILE: un pelo più grande */
      .fqs-burger svg {
        width: 46px;
        height: 46px;
      }

      #fqs-header .fqs-container {
        grid-template-columns: auto 1fr auto;
      }
    }

    /* ===== BACKDROP BLUR GLOBALE ===== */
    .fqs-backdrop {
      position: fixed;
      inset: 0;
      z-index: 100007;
      background: rgba(12, 18, 28, .55);
      backdrop-filter: blur(20px) saturate(1.3) brightness(.88);
      -webkit-backdrop-filter: blur(20px) saturate(1.3) brightness(.88);
      opacity: 0;
      visibility: hidden;
      pointer-events: none;
      transition: opacity .28s ease, visibility .28s ease;
    }

    .fqs-backdrop.is-open {
      opacity: 1;
      visibility: visible;
      pointer-events: auto;
    }

    /* ===== DRAWER MOBILE ===== */
    .fqs-drawer {
      position: fixed;
      top: 0;
      left: 0;
      width: var(--drawer-w);
      height: 100vh;
      background:
        linear-gradient(180deg, rgba(255, 255, 255, .04), rgba(255, 255, 255, 0) 24%),
        linear-gradient(180deg, #1b1c20 0%, #0f1013 60%, #090a0c 100%);
      color: #fff;
      z-index: 100009;
      box-shadow: 18px 0 38px rgba(2, 6, 23, .28);
      border-right: 1px solid rgba(255, 255, 255, .12);
      display: flex;
      flex-direction: column;
      transform: translateX(-104%);
      transition: transform .42s cubic-bezier(.23, .96, .32, 1.02);
      /* più fluido */
      padding: 20px 16px;
    }

    .fqs-drawer.is-open {
      transform: translateX(0);
    }

    .fqs-drawer__head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      margin-bottom: 12px;
    }

    .fqs-drawer .fqs-logo__img {
      height: 96px;
    }

    .fqs-drawer__close {
      appearance: none;
      background: transparent;
      color: #fff;
      border: 0;
      padding: 10px;
      border-radius: 10px;
      cursor: pointer;
      font-size: 28px;
      line-height: 1;
    }

    .fqs-mobmenu {
      list-style: none;
      padding: 0;
      margin: 6px 0 0;
      display: flex;
      flex-direction: column;
      gap: 4px;
    }

    .fqs-mobmenu a {
      text-decoration: none;
      color: #fff;
      font-weight: 800;
      padding: 14px 12px;
      border-radius: 12px;
      display: block;
      border: 1px solid rgba(255, 255, 255, .12);
      background: rgba(255, 255, 255, .03);
      outline: none;
      transition: border-color .2s, box-shadow .2s, background .2s;
    }

    .fqs-mob-cta {
      margin-top: 16px;
      display: grid;
      gap: 8px;
    }

    .fqs-mob-cta a {
      text-decoration: none;
      display: block;
      text-align: center;
      font-weight: 900;
      padding: 12px 10px;
      border-radius: 999px;
    }

    .fqs-mob-cta a:first-child {
      background:
        radial-gradient(120% 120% at 10% 15%, rgba(255, 255, 255, .92), rgba(255, 255, 255, 0) 44%),
        linear-gradient(135deg, #ffffff 0%, #e9edf3 38%, #cfd6e3 100%);
      border: 1px solid rgba(0, 0, 0, .16);
      color: #020617;
    }

    .fqs-mob-cta a:nth-child(2) {
      background: var(--accent);
      border: 1px solid rgba(134, 139, 0, .9);
      color: #020617;
    }

    .fqs-mob-cta a:nth-child(3) {
      background: rgba(255, 255, 255, .06);
      border: 1px solid rgba(255, 255, 255, .18);
      color: #f9fafb;
    }

    html.fqs-mobile-open,
    body.fqs-mobile-open {
      overflow: hidden;
    }

    @media (prefers-reduced-motion:reduce) {

      .fqs-call,
      .fqs-link::after,
      .fqs-backdrop,
      .fqs-drawer,
      .fqs-burger {
        transition: none !important;
      }
    }

/* ===== CONSULENZA — TAG HERO MOBILE (override preciso) ===== */
@media (max-width: 900px) {
  /* Consulenza: stessi riquadri mobile della company, font solo un filo più piccolo */
  body.page-cons #consulenza-aziendale .pfql-hero-tag {
    font-size: .66rem !important;           /* Company ~0.7rem → qui solo un pelo meno */
    padding: 5px 10px 5px 14px !important;  /* padding identico alla company → riquadri stessa dimensione */
  }

  /* Consulenza: riquadri leggermente più stretti rispetto al contenitore */
  body.page-cons #consulenza-aziendale .pfql-hero-split__tags {
    max-width: 360px;
  }
  body.page-cons #consulenza-aziendale .pfql-tag--sm {
    flex: 0 0 38%;
  }
  body.page-cons #consulenza-aziendale .pfql-tag--lg {
    flex: 0 0 62%;
  }

  /* FORMAZIONE: replica esatta dello stile mobile dei tag di Consulenza */
  body.page-form #formazione .pfql-hero-tag {
    font-size: .66rem !important;
    padding: 5px 10px 5px 14px !important;
  }

  body.page-form #formazione .pfql-hero-split__tags {
    max-width: 360px;
  }
  body.page-form #formazione .pfql-tag--sm {
    flex: 0 0 38%;
  }
  body.page-form #formazione .pfql-tag--lg {
    flex: 0 0 62%;
  }
}

.pfql-hero-split {
    position: relative;
    isolation: isolate;
    width: 100%;
    margin: -20px 0 0 0 !important;
    padding-top: 0 !important;
    min-height: clamp(480px, 80vh, 840px);
    background:
      radial-gradient(140% 220% at 10% -40%, rgba(255, 255, 255, .65), transparent 60%),
      radial-gradient(160% 200% at 82% -60%, rgba(255, 255, 255, .4), transparent 60%),
      linear-gradient(180deg,
        #c2c8d5 0%,
        #c9cfdd 26%,
        #d2d7e5 52%,
        #e0e4f0 78%,
        #f5f7fa 100%);
    color: #0f172a;
    font-family: "Azo Sans", Inter, system-ui, -apple-system, sans-serif;
    overflow: hidden;
  }

  /* ======================= BOLLA SVG A DESTRA — DESKTOP ======================= */
  .pfql-hero-bolla {
    position: absolute;
    top: 49%;
    right: -26%;
    transform: translateY(-50%);
    width: 1280px;
    height: 640px;
    pointer-events: none;
    z-index: 0;
    opacity: 0;
    transform-origin: center;
    animation: pfql-hero-bolla-in .7s ease-out .12s forwards;
  }

  .pfql-hero-bolla svg {
    width: 100%;
    height: 100%;
    filter: drop-shadow(-12px 6px 22px rgba(15, 23, 42, .18));
  }

  .pfql-hero-bolla img {
    position: absolute;
    top: 47%;
    left: 48%;
    transform: translate(-50%, -50%);
    width: 42%;
    height: auto;
  }

  /* ======================= GRIGLIA DESKTOP ======================= */
  .pfql-hero-split__inner {
    position: relative;
    z-index: 2;
    max-width: 1440px;
    margin: 0 auto;
    padding: clamp(84px, 9vw, 126px) clamp(20px, 4vw, 48px) clamp(96px, 10vw, 130px);
    display: grid;
    grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);
    gap: clamp(28px, 6vw, 80px);
    align-items: center;
  }

  /* ======================= TESTI ======================= */
  .pfql-hero-split__copy {
    max-width: 46rem;
    opacity: 0;
    transform: translateY(18px);
    animation: pfql-hero-copy-in .6s ease-out .06s forwards;
  }

  .pfql-hero-split__eyebrow {
    display: inline-block;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    font-size: .78rem;
    color: #334155;
    background: rgba(255, 255, 255, .6);
    border: 1px solid rgba(15, 23, 42, .06);
    padding: .35rem .6rem;
    border-radius: 999px;
    margin-bottom: .45rem;
  }

  .pfql-hero-split__ey-line1,
  .pfql-hero-split__ey-line2 {
    display: inline;
  }

  .pfql-hero-split__title {
    margin: 0 0 .3rem 0;
    font-weight: 700;
    letter-spacing: -.02em;
    line-height: 1.02;
    color: #0f172a;

    /* === DIMENSIONE TITOLO DESKTOP/TABLET =======================
       Modifica QUI per regolare la size del titolo per schermi >=900px
       - Primo valore: dimensione minima (px)
       - Secondo: valore fluido (vw)
       - Terzo: dimensione massima (px)
    ============================================================ */
    font-size: clamp(40px, 5.4vw, 68px);
    /* ========================================================== */
  }

  .pfql-hero-split__title-line {
    display: block;
  }

  .pfql-hero-split__title-line--1 {}

  @media (min-width: 768px) {
    .pfql-hero-split__title-line--1 {
      white-space: nowrap;
    }
  }

  /* “nostro linguaggio” sempre sulla stessa riga */
  .pfql-hero-split__title-line--2 {
    white-space: nowrap;
  }

  .pfql-hero-split__title-az {
    display: inline-block;
    position: relative;
    padding: 0 .04em;
  }

  .pfql-hero-split__title-az::before {
    content: "";
    position: absolute;
    inset: 62% -0.08em -6%;
    background: #d9e200;
    border-radius: .18em;
    z-index: -1;
    transform-origin: left center;
    transform: scaleX(0);
    animation: pfql-hero-highlight-in .9s cubic-bezier(.32, .72, .2, 1) .35s forwards;
  }

  .pfql-hero-split__subtitle {
    margin: 0 auto;
    color: #334155;
    opacity: .95;
    line-height: 1.6;
    font-size: clamp(16px, 1.45vw, 21px);
    max-width: 70ch;
  }

  .pfql-hero-split__subtitle strong {
    font-weight: 800;
  }

  /* LOGO — nascosto di default (visibile SOLO su mobile) */
  .pfql-hero-split__logo {
    display: none;
    margin-top: 20px;
    margin-bottom: 10px;
  }

  /* versione con pillola SVG (usata su mobile) */
  .pfql-hero-split__logo-shape {
    position: relative;
    display: block;
    width: 165%;
    height: auto;
    left: 50%;
    transform: translateX(-50%) scale(1.22);
  }

  .pfql-hero-split__logo-img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: block;
    margin: 0 auto;
    max-width: 230px;
    width: 60%;
    height: auto;
  }

  .pfql-hero-split__cta {
    margin-top: 18px;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
  }

  /* ======================= CTA ======================= */
  .pfql-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .55em;
    padding: 10px 18px;
    border-radius: 999px;
    font-weight: 900;
    text-decoration: none;
    white-space: nowrap;
    color: #0b0b0c;
    background: linear-gradient(180deg, #ffffff 0%, #f4f5f7 100%);
    border: 1px solid rgba(15, 23, 42, .08);
    box-shadow:
      0 1px 0 rgba(255, 255, 255, .8) inset,
      0 8px 18px rgba(15, 23, 42, .12);
    transition: transform .15s ease, filter .2s ease, box-shadow .2s ease;
    outline: none;
  }

  .pfql-btn:hover {
    transform: translateY(-1px);
    filter: brightness(1.01);
    box-shadow:
      0 1px 0 rgba(255, 255, 255, .9) inset,
      0 10px 22px rgba(15, 23, 42, .16);
  }

  .pfql-btn:focus-visible {
    box-shadow:
      0 0 0 2px #ffffff,
      0 0 0 4px rgba(217, 226, 0, .35);
  }

  /* ======================= ANIMAZIONI ======================= */
  @keyframes pfql-hero-copy-in {
    from {
      opacity: 0;
      transform: translateY(18px);
    }

    to {
      opacity: 1;
      transform: translateY(0);
    }
  }

  @keyframes pfql-hero-bolla-in {
    from {
      opacity: 0;
      transform: translate(24px, -50%) scale(.97);
    }

    to {
      opacity: 1;
      transform: translate(0, -50%) scale(1);
    }
  }

  @keyframes pfql-hero-highlight-in {
    from {
      transform: scaleX(0);
      opacity: .9;
    }

    to {
      transform: scaleX(1);
      opacity: 1;
    }
  }

  /* ======================= RESPONSIVE — MOBILE (MATCH CODICE MOBILE) ======================= */
  @media (max-width: 900px) {

    /* niente bolla su mobile */
    .pfql-hero-bolla {
      display: none !important;
    }

    .pfql-hero-split__inner {
      max-width: 1440px;
      margin: 0 auto;
      padding: clamp(40px, 8vw, 56px) clamp(18px, 5vw, 32px) clamp(72px, 10vw, 110px);
      display: grid;
      grid-template-columns: 1fr;
      gap: clamp(28px, 6vw, 80px);
      align-items: center;
      text-align: center;
    }

    .pfql-hero-split__copy {
      margin: 0 auto;
    }

    .pfql-hero-split__cta {
      justify-content: center;
    }

    /* Pretitolo su due righe, colonna, come nel codice mobile */
    .pfql-hero-split__eyebrow {
      display: inline-flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: .08em;
      font-weight: 700;
      letter-spacing: .12em;
      text-transform: uppercase;
      font-size: .78rem;
      color: #334155;
      background: linear-gradient(180deg, #ffffff 0%, #f4f5f7 100%);
      border: 1px solid rgba(15, 23, 42, .08);
      box-shadow:
        0 1px 0 rgba(255, 255, 255, .8) inset,
        0 6px 14px rgba(15, 23, 42, .08);
      padding: .35rem .9rem;
      border-radius: 999px;
      margin-bottom: .45rem;
    }

    .pfql-hero-split__ey-line1,
    .pfql-hero-split__ey-line2 {
      display: block;
      white-space: nowrap;
    }

    /* === DIMENSIONE TITOLO MOBILE =============================
       Modifica QUI per regolare la size del titolo per schermi <900px
       - Primo valore: dimensione minima (px)
       - Secondo: valore fluido (vw)
       - Terzo: dimensione massima (px)
    ========================================================== */
    .pfql-hero-split__title {
      font-size: clamp(50px, 9.5vw, 60px);
    }

    /* ======================================================== */

    /* LOGO + PILLOLA SVG FULL-WIDTH SOLO MOBILE */
    .pfql-hero-split__logo {
      position: relative;
      display: flex;
      justify-content: center;
      align-items: center;
      margin-top: 24px;
      margin-bottom: 16px;
      margin-left: calc(-1 * clamp(18px, 5vw, 32px));
      margin-right: calc(-1 * clamp(18px, 5vw, 32px));
    }
  }

  /* ========= SCHERMI GRANDI: SCALA E AVVICINA LA BOLLA ========= */
  @media (min-width: 1440px) and (max-width: 1919px) {
    .pfql-hero-bolla {
      right: -20%;
      width: clamp(1280px, 60vw, 1500px);
      height: auto;
    }
  }

  @media (min-width: 1920px) {
    .pfql-hero-bolla {
      right: -14%;
      width: clamp(1400px, 58vw, 1800px);
      height: auto;
    }
  }

  @media (prefers-reduced-motion: reduce) {

    .pfql-hero-split__copy,
    .pfql-hero-bolla {
      animation: none !important;
      opacity: 1 !important;
      transform: none !important;
    }

    .pfql-modal,
    .pfql-dialog {
      transition: none !important;
    }

    .pfql-btn:hover,
    .pfql-dialog__close:hover {
      transform: none !important;
    }
  }

  /* ======================= MODALE CONSULENZA (INVARIATA) ======================= */
  .pfql-lock {
    overflow: hidden !important;
  }

  .pfql-modal[hidden] {
    display: none !important;
  }

  .pfql-modal {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: grid;
    place-items: center;
    background: rgba(15, 23, 42, .38);
    -webkit-backdrop-filter: blur(6px) saturate(1.05);
    backdrop-filter: blur(6px) saturate(1.05);
    opacity: 0;
    transition: opacity .24s ease;
  }

  .pfql-modal.is-open {
    opacity: 1;
  }

  .pfql-dialog {
    width: min(840px, 92vw);
    max-height: min(84vh, 780px);
    background: #ffffff;
    color: #0f172a;
    border-radius: 20px;
    border: 1px solid rgba(2, 6, 23, .08);
    box-shadow: 0 28px 60px -24px rgba(2, 6, 23, .40),
      0 0 0 1px rgba(255, 255, 255, .6) inset;
    transform: translateY(8px) scale(.98);
    opacity: .0;
    transition: transform .28s cubic-bezier(.22, .61, .36, 1), opacity .28s ease;
    display: grid;
    grid-template-rows: auto 1fr;
    overflow: hidden;
  }

  .pfql-modal.is-open .pfql-dialog {
    transform: translateY(0) scale(1);
    opacity: 1;
  }

  @media (max-width: 720px) {
    .pfql-dialog {
      width: 100vw;
      max-height: 100vh;
      height: auto;
      border-radius: 18px 18px 0 0;
      align-self: end;
    }
  }

  .pfql-dialog__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 18px 18px;
    border-bottom: 1px solid rgba(15, 23, 42, .08);
    background: linear-gradient(180deg, #fff, #f9fbff);
  }

  .pfql-dialog__title {
    margin: 0;
    font-size: clamp(20px, 2.1vw, 24px);
    font-weight: 900;
    letter-spacing: -.01em;
  }

  .pfql-dialog__close {
    appearance: none;
    border: 0;
    background: #fff;
    width: 36px;
    height: 36px;
    border-radius: 999px;
    cursor: pointer;
    display: grid;
    place-items: center;
    font-size: 18px;
    line-height: 1;
    box-shadow: 0 0 0 1px rgba(2, 6, 23, .08) inset;
    transition: transform .15s ease, box-shadow .2s ease;
  }

  .pfql-dialog__close:hover {
    transform: translateY(-1px);
    box-shadow: 0 0 0 1px rgba(2, 6, 23, .16) inset,
      0 8px 18px rgba(0, 0, 0, .08);
  }

  .pfql-dialog__body {
    padding: 10px 16px 14px;
    overflow: auto;
  }

  .pfql-form {
    display: grid;
    row-gap: 10px;
    column-gap: 22px;
    max-width: 640px;
    margin: 0 auto;
    grid-template-columns: 1fr 1fr 1.25fr;
    grid-template-areas:
      "nome     cognome  azienda"
      "email    telefono ambito"
      "note     note     note"
      ".        .        submit";
  }

  .pfql-field {
    display: flex;
    flex-direction: column;
    gap: 2px;
  }

  .pfql-label {
    font-size: .85rem;
    font-weight: 700;
    color: #334155;
    letter-spacing: .01em;
  }

  .pfql-input,
  .pfql-textarea,
  .pfql-select {
    width: 100%;
    font: inherit;
    color: #0f172a;
    background: #fff;
    border: 1px solid rgba(2, 6, 23, .12);
    border-radius: 12px;
    padding: 6px 10px;
    box-shadow: 0 2px 0 rgba(255, 255, 255, .6) inset;
    transition: border-color .15s ease, box-shadow .2s ease;
  }

  .pfql-input:focus,
  .pfql-textarea:focus,
  .pfql-select:focus {
    outline: none;
    border-color: rgba(217, 226, 0, .55);
    box-shadow: 0 0 0 3px rgba(217, 226, 0, .28);
  }

  .pfql-textarea {
    min-height: 110px;
    resize: vertical;
  }

  @media (max-width: 760px) {
    .pfql-input,
    .pfql-textarea,
    .pfql-select {
      padding: 6px 9px;
    }

    .pfql-textarea {
      min-height: 90px;
    }
  }

  .pfql-f--nome {
    grid-area: nome;
  }

  .pfql-f--cognome {
    grid-area: cognome;
  }

  .pfql-f--azienda {
    grid-area: azienda;
  }

  .pfql-f--email {
    grid-area: email;
  }

  .pfql-f--tel {
    grid-area: telefono;
  }

  .pfql-f--ambito {
    grid-area: ambito;
  }

  .pfql-f--note {
    grid-area: note;
  }

  .pfql-send {
    grid-area: submit;
    justify-self: end;
    margin-top: 6px;
    border: 0;
    cursor: pointer;
  }

  .pfql-send.pfql-btn {
    padding: 12px 24px;
  }

  .pfql-error {
    display: none;
    margin-top: 10px;
    font-size: .92rem;
    color: #b91c1c;
    background: #fee2e2;
    border: 1px solid #fecaca;
    padding: 8px 10px;
    border-radius: 12px;
  }

  .pfql-error.is-visible {
    display: block;
  }

  @media (max-width: 760px) {
    .pfql-dialog__body {
      padding: 8px 10px 12px;
    }
    .pfql-form {
      grid-template-columns: 1fr;
      grid-template-areas:
        "nome"
        "cognome"
        "azienda"
        "email"
        "telefono"
        "ambito"
        "note"
        "submit";
      row-gap: 10px;
      column-gap: 0;
      max-width: 340px;
      margin: 0 auto;
    }

    .pfql-send {
      justify-self: stretch;
      margin-top: 2px;
    }
  }

.pfql-services {
    position: relative;
    width: 100%;
    color: #0f172a;
    font-family: "Azo Sans", "azo-sans-web", Inter, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif;
    padding-block: clamp(44px, 8vw, 96px);
    background: #F5F7FA;
    --accent-y: #d9e200;

    /* FIX micro-linea bianca con tema / PageFly */
    margin-top: -1px !important;
    margin-bottom: -1px !important;
  }

  .pfql-services__inner {
    max-width: 1440px;
    margin: 0 auto;
    padding-inline: clamp(16px, 3vw, 36px);
  }

  .pfql-services__head {
    text-align: center;
    max-width: 86ch;
    margin: 0 auto clamp(22px, 4vw, 40px);
  }

  .pfql-services__eyebrow {
    display: inline-block;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    font-size: .78rem;
    color: #334155;
    background: rgba(255, 255, 255, .6);
    border: 1px solid rgba(15, 23, 42, .06);
    padding: .35rem .6rem;
    border-radius: 999px;
    margin-bottom: .6rem;
  }

  .pfql-services__title {
    margin: 0 0 .4rem 0;
    font-weight: 700;
    letter-spacing: -.02em;
    line-height: 1.02;
    font-size: clamp(46px, 7.2vw, 64px);
  }

  .pfql-services__title-hi {
    position: relative;
    display: inline-block;
    padding: 0 .04em;
  }

  .pfql-services__title-hi::before {
    content: "";
    position: absolute;
    inset: 64% -0.08em -8%;
    background: var(--accent-y);
    border-radius: .18em;
    z-index: -1;
    transform-origin: left center;
    transform: scaleX(0);
    opacity: .9;
  }

  .pfql-services__subtitle {
    margin: 0 auto;
    color: #334155;
    opacity: .95;
    line-height: 1.6;
    font-size: clamp(16px, 1.45vw, 21px);
    max-width: 70ch;
  }

  .pfql-services__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(280px, 1fr));
    gap: clamp(16px, 2.2vw, 24px);
    margin-top: clamp(20px, 3vw, 28px);
  }

  /* ===== ANIMAZIONE IN ENTRATA ===== */
  .pfql-services__eyebrow,
  .pfql-services__title,
  .pfql-services__subtitle,
  .pfql-services__grid {
    opacity: 0;
    transform: translateY(18px);
  }

  .pfql-services--visible .pfql-services__eyebrow {
    animation: pfql-serv-eyebrow-in .5s ease-out forwards;
  }

  .pfql-services--visible .pfql-services__title {
    animation: pfql-serv-title-in .55s ease-out .04s forwards;
  }

  .pfql-services--visible .pfql-services__subtitle {
    animation: pfql-serv-subtitle-in .55s ease-out .08s forwards;
  }

  .pfql-services--visible .pfql-services__grid {
    animation: pfql-serv-grid-in .6s ease-out .12s forwards;
  }

  .pfql-services--visible .pfql-services__title-hi::before {
    animation: pfql-serv-highlight-in .7s cubic-bezier(.32, .72, .2, 1) .16s forwards;
  }

  @keyframes pfql-serv-eyebrow-in {
    from {
      opacity: 0;
      transform: translateY(18px);
    }

    to {
      opacity: 1;
      transform: translateY(0);
    }
  }

  @keyframes pfql-serv-title-in {
    from {
      opacity: 0;
      transform: translateY(20px);
    }

    to {
      opacity: 1;
      transform: translateY(0);
    }
  }

  @keyframes pfql-serv-subtitle-in {
    from {
      opacity: 0;
      transform: translateY(18px);
    }

    to {
      opacity: 1;
      transform: translateY(0);
    }
  }

  @keyframes pfql-serv-grid-in {
    from {
      opacity: 0;
      transform: translateY(22px);
    }

    to {
      opacity: 1;
      transform: translateY(0);
    }
  }

  @keyframes pfql-serv-highlight-in {
    from {
      transform: scaleX(0);
      opacity: .9;
    }

    to {
      transform: scaleX(1);
      opacity: 1;
    }
  }

  /* ===== CARD ===== */
  .pfql-card {
    --rx: 0deg;
    --ry: 0deg;
    --pad: clamp(16px, 2.2vw, 22px);
    position: relative;
    background: #fff;
    color: #0f172a;
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: 18px;
    padding: var(--pad);
    padding-bottom: calc(var(--pad) + 56px);
    box-shadow: 0 18px 42px rgba(15, 23, 42, .10);
    transition:
      box-shadow .35s cubic-bezier(.22, .61, .36, 1),
      border-color .35s cubic-bezier(.22, .61, .36, 1),
      background .25s cubic-bezier(.22, .61, .36, 1),
      transform .35s cubic-bezier(.22, .61, .36, 1);
    display: flex;
    flex-direction: column;
    gap: 10px;
    transform: perspective(900px) rotateX(var(--rx)) rotateY(var(--ry));
    overflow: hidden;
    isolation: isolate;
    will-change: transform;
  }

  .pfql-card__bar,
  .pfql-card__cta {
    position: relative;
    z-index: 2;
  }

  .pfql-card__content {
    position: relative;
    z-index: 2;
    max-width: 62%;
  }

  @media (max-width: 980px) {
    .pfql-card__content {
      max-width: 100%;
    }
  }

  .pfql-card__bar {
    height: 6px;
    width: 52px;
    border-radius: 999px;
    background:
      radial-gradient(120% 120% at 10% 15%, rgba(255, 255, 255, .9), rgba(255, 255, 255, 0) 40%),
      linear-gradient(135deg, #dfe4ec 0%, #cfd6e3 35%, #b7c0cd 60%, #aeb6c4 100%);
    box-shadow: 0 1px 0 rgba(255, 255, 255, .6) inset;
    transition: filter .25s ease;
  }

  .pfql-card__title {
    margin: 0;
    font-weight: 700;
    letter-spacing: -.01em;
    line-height: 1.2;
    font-size: clamp(18px, 1.6vw, 22px);
    color: #0f172a;
  }

  .pfql-card__text {
    margin: 0;
    margin-top: 6px;
    color: #475569;
    line-height: 1.55;
    font-size: clamp(14px, 1.05vw, 16px);
  }

  .pfql-card__line {
    display: inline;
  }

  .pfql-card__cta {
    position: absolute;
    left: 16px;
    bottom: 16px;
    right: auto;
  }

  .pfql-btn-sm {
    display: inline-flex;
    align-items: center;
    gap: .5em;
    padding: 9px 12px;
    border-radius: 999px;
    font-weight: 700;
    font-size: 13px;
    text-decoration: none;
    color: #0b0b0c;
    background:
      radial-gradient(120% 120% at 10% 15%, rgba(255, 255, 255, .92), rgba(255, 255, 255, 0) 44%),
      linear-gradient(135deg, #ffffff 0%, #e9edf3 38%, #cfd6e3 100%);
    border: 1px solid rgba(0, 0, 0, .10);
    box-shadow: 0 2px 0 rgba(255, 255, 255, .45) inset, 0 10px 22px rgba(2, 6, 23, .12);
    transition: transform .15s ease, box-shadow .2s ease, filter .2s.ease;
    outline: none;
  }

  .pfql-btn-sm:hover {
    transform: translateY(-1px);
    filter: brightness(1.02) saturate(1.02);
    box-shadow: 0 2px 0 rgba(255, 255, 255, .55) inset, 0 14px 30px rgba(2, 6, 23, .18), 0 0 0 3px rgba(217, 226, 0, .22);
  }

  .pfql-btn-sm__label {
    position: relative;
    display: inline-block;
    padding: 0 .04em;
  }

  .pfql-btn-sm__label::before {
    content: "";
    position: absolute;
    inset: 62% -0.08em -6%;
    background: var(--accent-y);
    border-radius: .18em;
    z-index: -1;
    transform-origin: left center;
    transform: scaleX(0);
    opacity: 0;
    transition: transform .25s cubic-bezier(.32, .72, .2, 1), opacity .2s ease;
  }

  .pfql-btn-sm .arr {
    width: 16px;
    height: 16px;
    display: inline-block;
  }

  /* === IMMAGINI: BASE SCURA + ALT BIANCA === */
  .pfql-card__img {
    position: absolute;
    right: 8px;
    bottom: -8px;
    width: 46%;
    max-width: 240px;
    pointer-events: none;
    z-index: 1;
  }

  .pfql-card__img-inner {
    position: relative;
    width: 100%;
  }

  /* base scura: in flow, determina l'altezza */
  .pfql-card__img-base {
    position: relative;
    display: block;
    width: 100%;
    height: auto;
    opacity: .85;
    mix-blend-mode: multiply;
    filter: brightness(1.1) contrast(1.05);
  }

  /* bianca: assoluta sopra, solo per hover */
  .pfql-card__img-alt {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
    opacity: 0;
    mix-blend-mode: screen;
    filter: brightness(1.6) contrast(1.1);
    transition: opacity .25s ease, filter .25s ease;
  }

  .pfql-card:hover .pfql-card__img-base,
  .pfql-card:focus-within .pfql-card__img-base {
    opacity: 0;
  }

  .pfql-card:hover .pfql-card__img-alt,
  .pfql-card:focus-within .pfql-card__img-alt {
    opacity: 1;
    filter: brightness(2) contrast(1.2) saturate(1.05) drop-shadow(0 0 22px rgba(255, 255, 255, .7));
  }

  /* Hover CARD: nero premium + testi bianchi */
  .pfql-card:hover,
  .pfql-card:focus-within {
    background:
      radial-gradient(120% 180% at 50% -60%, rgba(255, 255, 255, .08), rgba(255, 255, 255, 0) 60%),
      linear-gradient(180deg, rgba(255, 255, 255, .06), rgba(255, 255, 255, 0) 24%),
      linear-gradient(180deg, #2a2f37 0%, #171a1f 60%, #0b0c0f 100%);
    border-color: rgba(255, 255, 255, .16);
    box-shadow: 0 26px 60px rgba(2, 6, 23, .4);
    transform: perspective(900px) rotateX(var(--rx)) rotateY(var(--ry)) translateY(-2px);
  }

  .pfql-card:hover .pfql-card__title,
  .pfql-card:focus-within .pfql-card__title {
    color: #ffffff;
  }

  .pfql-card:hover .pfql-card__text,
  .pfql-card:focus-within .pfql-card__text {
    color: #e5e7eb;
  }

  .pfql-card:hover .pfql-btn-sm,
  .pfql-card:focus-within .pfql-btn-sm {
    color: #0b0b0c;
  }

  .pfql-card:hover .pfql-card__bar,
  .pfql-card:focus-within .pfql-card__bar {
    filter: brightness(1.08);
  }

  .pfql-card:hover .pfql-btn-sm__label::before,
  .pfql-card:focus-within .pfql-btn-sm__label::before {
    transform: scaleX(1);
    opacity: 1;
  }

  .pfql-card::before {
    content: "";
    position: absolute;
    inset: -24% -120% -24% -120%;
    background: linear-gradient(115deg,
        rgba(255, 255, 255, 0) 0%,
        rgba(255, 255, 255, 0) 43%,
        rgba(255, 255, 255, .20) 50%,
        rgba(255, 255, 255, 0) 57%,
        rgba(255, 255, 255, 0) 100%);
    transform: translateX(-70%);
    opacity: 0;
    pointer-events: none;
    z-index: 1;
  }

  .pfql-card:hover::before {
    animation: pfql-sheen 1.2s cubic-bezier(.22, .61, .36, 1) forwards;
    opacity: .9;
  }

  @keyframes pfql-sheen {
    from {
      transform: translateX(-70%) rotate(0.001deg);
    }

    to {
      transform: translateX(70%) rotate(0.001deg);
    }
  }

  .pfql-card:focus-within {
    outline: 0;
    box-shadow: 0 0 0 4px rgba(15, 23, 42, .18), 0 26px 60px rgba(2, 6, 23, .38);
  }

  @media (max-width:980px) {
    .pfql-services__grid {
      grid-template-columns: 1fr;
    }
  }

  /* === MOBILE TUNING === */
  @media (max-width: 768px) {
    .pfql-services {
      padding-bottom: clamp(80px, 18vw, 130px);
    }

    .pfql-services__title {
      font-size: clamp(46px, 9vw, 52px);
    }

    .pfql-services__subtitle {
      font-weight: 700;
      line-height: 1.6;
    }

    .pfql-card {
      --pad: 16px;
      padding: var(--pad);
      padding-bottom: calc(var(--pad) + 88px);
      margin-inline: 4px;
    }

    .pfql-card__title {
      font-size: 23px;
    }

    .pfql-card__text {
      font-size: 15px;
      line-height: 1.6;
      font-weight: 500;
      margin-top: 10px;
    }

    .pfql-card__line {
      display: block;
    }

    /* Posizionamento immagini su mobile */
    .pfql-card__img {
      right: -34px;
      bottom: -26px;
      width: 72%;
      max-width: none;
    }

    /* Prima card (Consulenza) più a destra e un filo più in basso */
    .pfql-card__img--consulenza {
      right: -50px;
      bottom: -30px;
    }

    /* Seconda card (Formazione) un pelo più piccola */
    .pfql-card__img--formazione {
      width: 64%;
      right: -32px;
      bottom: -26px;
    }

    .pfql-card__cta {
      left: 16px;
      bottom: 24px;
    }
  }

  @media (prefers-reduced-motion: reduce) {

    .pfql-services__eyebrow,
    .pfql-services__title,
    .pfql-services__subtitle,
    .pfql-services__grid {
      opacity: 1 !important;
      transform: none !important;
      animation: none !important;
    }

    .pfql-services__title-hi::before {
      transform: scaleX(1) !important;
      animation: none !important;
    }

    .pfql-card,
    .pfql-card::before {
      transition: none;
      animation: none;
    }

    .pfql-card:hover {
      transform: none;
    }
  }

.fqs-sec-wave {
    position: relative;
    width: 100%;
    background: #ffffff;
    color: #0f172a;
    overflow: hidden;
  }

  .fqs-sec-wave__top,
  .fqs-sec-wave__bottom {
    width: 100%;
    line-height: 0;
  }

  .fqs-sec-wave__top svg,
  .fqs-sec-wave__bottom svg {
    display: block;
    width: 100%;
    height: auto;
  }

  .fqs-sec-wave__bottom {
    margin-top: -1px;
  }

  /* === SEZIONE: SETTORI SERVITI ======================================= */
  .fqs-sectors {
    position: relative;
    width: 100%;
    color: #0f172a;
    font-family: "Montserrat", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif;
    padding-top: clamp(14px, 2.6vw, 24px);
    padding-bottom: clamp(14px, 2.6vw, 24px);
    background: #ffffff;
  }

  .fqs-sectors__inner {
    max-width: 1440px;
    margin: 0 auto;
    padding-inline: clamp(16px, 3vw, 36px);
  }

  .fqs-sectors__head {
    text-align: center;
    max-width: 86ch;
    margin: 0 auto clamp(10px, 2vw, 18px);
  }

  .fqs-sectors__eyebrow {
    display: inline-block;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    font-size: .78rem;
    color: #334155;
    background: rgba(255, 255, 255, .6);
    border: 1px solid rgba(15, 23, 42, .06);
    padding: .35rem .6rem;
    border-radius: 999px;
    margin-bottom: .45rem;
  }

  .fqs-sectors__title {
    margin: 0 0 .3rem 0;
    font-weight: 700;
    letter-spacing: -.02em;
    line-height: 1.02;
    font-size: clamp(38px, 5.4vw, 68px);
  }

  .fqs-sectors__title-hi {
    position: relative;
    display: inline-block;
    padding: 0 .04em;
    background: linear-gradient(180deg,
        transparent 0%,
        transparent 52%,
        #d9e200 52%,
        #d9e200 100%);
    border-radius: .18em;
  }

  .fqs-sectors__subtitle {
    margin: 0 auto;
    color: #334155;
    opacity: .95;
    line-height: 1.6;
    font-size: clamp(16px, 1.45vw, 21px);
    max-width: 70ch;
  }

  /* Curva “smile” con 5 card */
  .fqs-sectors__grid {
    position: relative;
    max-width: 1200px;
    margin: clamp(6px, 1vw, 10px) auto 0;
    padding: clamp(4px, 1.2vw, 10px) clamp(8px, 2vw, 18px) clamp(4px, 1vw, 8px);
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: clamp(12px, 2vw, 20px);
  }

  .fqs-sectors__grid::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 9%;
    right: 9%;
    height: clamp(180px, 22vw, 240px);
    border-radius: 999px;
    border-bottom: 1px dashed rgba(148, 163, 184, .7);
    pointer-events: none;
    opacity: .9;
  }

  .fqs-sector {
    --fqs-rx: 0deg;
    --fqs-ry: 0deg;
    --fqs-ty: 0px;
    --fqs-pad: clamp(18px, 2.2vw, 22px);
    position: relative;
    flex: 1 0 0;
    min-width: 0;
    max-width: 240px;
    background: #fff;
    color: #0f172a;
    border: 1px solid rgba(15, 23, 42, .10);
    border-radius: 18px;
    padding: var(--fqs-pad);
    padding-bottom: calc(var(--fqs-pad) + 10px);
    box-shadow: 0 18px 42px rgba(15, 23, 42, .08);
    transform: perspective(900px) rotateX(var(--fqs-rx)) rotateY(var(--fqs-ry)) translateY(var(--fqs-ty));
    transition:
      box-shadow .35s cubic-bezier(.22, .61, .36, 1),
      border-color .35s cubic-bezier(.22, .61, .36, 1),
      color .35s cubic-bezier(.22, .61, .36, 1),
      background .35s cubic-bezier(.22, .61, .36, 1),
      transform .35s cubic-bezier(.22, .61, .36, 1),
      filter .25s ease;
    overflow: hidden;
    isolation: isolate;
  }

  .fqs-sector::before {
    content: "";
    position: absolute;
    inset: -30% -130% -30% -130%;
    background: linear-gradient(115deg, rgba(255, 255, 255, 0) 40%, rgba(255, 255, 255, .22) 50%, rgba(255, 255, 255, 0) 60%);
    transform: translateX(-70%);
    opacity: 0;
    pointer-events: none;
    z-index: 3;
  }

  .fqs-sector::after {
    content: "";
    position: absolute;
    inset: -40% -40% auto;
    background: radial-gradient(circle at 50% 0%, rgba(148, 163, 184, .18), transparent 65%);
    opacity: 0;
    pointer-events: none;
    transition: opacity .35s ease;
    z-index: 0;
  }

  .fqs-sec__title {
    margin: 0;
    font-weight: 700;
    letter-spacing: -.01em;
    line-height: 1.2;
    font-size: clamp(18px, 1.7vw, 24px);
    position: relative;
    z-index: 2;
    color: #0f172a;
  }

  .fqs-sec__text {
    margin: .45rem 0 0;
    color: #475569;
    font-size: clamp(13px, 1.05vw, 15px);
    line-height: 1.55;
    position: relative;
    z-index: 2;
  }

  /* Icona watermark base (desktop) */
  .fqs-sec__icon {
    position: absolute;
    right: 6px;
    bottom: 4px;
    width: min(150px, 52%);
    max-height: 130px;
    object-fit: contain;
    opacity: .28;
    filter: grayscale(1);
    pointer-events: none;
    z-index: 1;
    transition: opacity .3s ease, filter .3s ease, transform .3s ease;
  }

  /* 1: Manifatturiero — ancora più a destra */
  .fqs-sector:nth-child(1) .fqs-sec__icon {
    width: min(170px, 58%);
    max-height: 140px;
    bottom: 0px;
    right: -2px;
  }

  /* 2: Automotive — PERFETTA, non toccata */
  .fqs-sector:nth-child(2) .fqs-sec__icon {
    width: min(170px, 58%);
    max-height: 140px;
    bottom: 0px;
    right: 2px;
  }

  /* 3: Produzione — perfetta, non toccata */
  .fqs-sector:nth-child(3) .fqs-sec__icon {
    width: min(170px, 58%);
    max-height: 140px;
    bottom: 2px;
    right: 4px;
  }

  /* 4: EV Charging — molto più a destra */
  .fqs-sector:nth-child(4) .fqs-sec__icon {
    width: min(190px, 64%);
    max-height: 150px;
    bottom: 0px;
    right: -10px;
  }

  /* 5: Costruzione di macchinari — ancora più a destra (desktop) */
  .fqs-sector:nth-child(5) .fqs-sec__icon {
    bottom: 0px;
    right: -12px;
  }

  /* Lineetta: nascosta di default, la mostriamo solo mobile */
  .fqs-sec__bar {
    display: none;
  }

  /* Bottone "Contattaci" in basso a sinistra */
  .fqs-sec__contact {
    position: absolute;
    left: 10px;
    bottom: 8px;
    right: auto;
    padding: 4px 8px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 800;
    text-decoration: none;
    border: 1px solid rgba(255, 255, 255, .4);
    background:
      radial-gradient(120% 120% at 10% 15%, rgba(255, 255, 255, .94), rgba(255, 255, 255, 0) 44%),
      linear-gradient(135deg, #ffffff 0%, #e9edf3 38%, #cfd6e3 100%);
    color: #0f172a;
    box-shadow: 0 1px 0 rgba(255, 255, 255, .45) inset, 0 6px 14px rgba(15, 23, 42, .28);
    opacity: 0;
    transform: translateY(5px);
    pointer-events: none;
    transition: opacity .22s ease, transform .22s ease;
    z-index: 4;
    white-space: nowrap;
  }

  /* curva a smile (desktop) */
  .fqs-sector:nth-child(1) {
    --fqs-ty: -24px;
  }

  .fqs-sector:nth-child(2) {
    --fqs-ty: -8px;
  }

  .fqs-sector:nth-child(3) {
    --fqs-ty: 6px;
  }

  .fqs-sector:nth-child(4) {
    --fqs-ty: -8px;
  }

  .fqs-sector:nth-child(5) {
    --fqs-ty: -24px;
  }

  /* HOVER CARD: nero premium */
  .fqs-sector:hover {
    background:
      radial-gradient(120% 180% at 50% -60%, rgba(255, 255, 255, .08), rgba(255, 255, 255, 0) 60%),
      linear-gradient(180deg, rgba(255, 255, 255, .06), rgba(255, 255, 255, 0) 24%),
      linear-gradient(180deg, #2a2f37 0%, #171a1f 60%, #0b0c0f 100%);
    border-color: rgba(255, 255, 255, .16);
    box-shadow: 0 28px 64px rgba(2, 6, 23, .32);
    transform: perspective(900px) rotateX(var(--fqs-rx)) rotateY(var(--fqs-ry)) translateY(calc(var(--fqs-ty) - 2px));
    filter: saturate(1.02);
    color: #ffffff;
  }

  .fqs-sector:hover::before {
    animation: fqs-sec-sheen 1.4s cubic-bezier(.22, .61, .36, 1) forwards;
    opacity: .9;
  }

  .fqs-sector:hover::after {
    opacity: 1;
  }

  .fqs-sector:hover .fqs-sec__title {
    color: #ffffff;
  }

  .fqs-sector:hover .fqs-sec__text {
    color: #e5e7eb;
  }

  .fqs-sector:hover .fqs-sec__icon {
    opacity: .42;
    filter: invert(1) brightness(1.4);
    transform: translateY(-2px) scale(1.03);
  }

  .fqs-sector:hover .fqs-sec__contact,
  .fqs-sector:focus-within .fqs-sec__contact {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
  }

  @keyframes fqs-sec-sheen {
    from {
      transform: translateX(-70%);
    }

    to {
      transform: translateX(70%);
    }
  }

  .fqs-sectors__cta {
    text-align: center;
    margin-top: clamp(8px, 2vw, 16px);
  }

  .fqs-btn--silver {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .55em;
    padding: .9em 1.4em;
    border-radius: 999px;
    font-weight: 800;
    text-decoration: none;
    color: #0b0b0c;
    border: 1px solid rgba(0, 0, 0, .10);
    background:
      radial-gradient(120% 120% at 10% 15%, rgba(255, 255, 255, .92), rgba(255, 255, 255, 0) 44%),
      linear-gradient(135deg, #ffffff 0%, #e9edf3 38%, #cfd6e3 100%);
    box-shadow: 0 2px 0 rgba(255, 255, 255, .45) inset, 0 12px 28px rgba(15, 23, 42, .14);
    transition: transform .15s ease, box-shadow .2s ease, filter .2s ease;
    font-size: .92rem;
  }

  .fqs-btn--silver:hover {
    transform: translateY(-1px);
    filter: brightness(1.03) saturate(1.02);
    box-shadow: 0 2px 0 rgba(255, 255, 255, .55) inset, 0 18px 36px rgba(15, 23, 42, .2), 0 0 0 3px rgba(217, 226, 0, .18);
  }

  .fqs-btn__label {
    position: relative;
    display: inline-block;
    padding: 0 .04em;
  }

  .fqs-btn__label::before {
    content: "";
    position: absolute;
    inset: 62% -0.08em -6%;
    background: #d9e200;
    border-radius: .18em;
    z-index: -1;
    opacity: 0;
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform .25s cubic-bezier(.32, .72, .2, 1), opacity .2s ease;
  }

  .fqs-btn--silver:hover .fqs-btn__label::before {
    opacity: 1;
    transform: scaleX(1);
  }

  .fqs-btn__icon {
    font-size: .95em;
    transform: translateY(1px);
    transition: transform .2s.ease;
  }

  .fqs-btn--silver:hover .fqs-btn__icon {
    transform: translate(2px, 1px);
  }

  /* ====== MOBILE TUNING ====== */
  @media (max-width: 900px) {
    .fqs-sectors__grid {
      flex-direction: column;
      align-items: stretch;
      max-width: 560px;
      padding: clamp(8px, 2.2vw, 16px) 0 0;
      margin-top: clamp(8px, 2.8vw, 16px);
    }

    .fqs-sectors__grid::before {
      display: none;
    }

    /* Titolo grande da mobile */
    .fqs-sectors__title {
      font-size: clamp(46px, 9vw, 52px);
    }

    /* CTA più bassa + più aria sotto */
    .fqs-sectors__cta {
      margin-top: 32px;
      margin-bottom: 88px;
    }

    .fqs-sector {
      --fqs-ty: 0px !important;
      min-height: auto !important;
      max-width: none;
      padding-bottom: calc(var(--fqs-pad) + 118px);
    }

    /* Titoli card da mobile */
    .fqs-sec__title {
      font-size: 20px;
    }

    /* Testo interno card da mobile */
    .fqs-sec__text {
      font-size: 15px;
      line-height: 1.6;
    }

    /* Immagini: base in basso a destra su mobile */
    .fqs-sec__icon {
      top: auto !important;
      bottom: -36px !important;
      right: -24px !important;
      width: min(170px, 70%);
      max-height: 140px;
    }

    /* SOLO MOBILE: Manifatturiero un pelo più in alto */
    .fqs-sector:nth-child(1) .fqs-sec__icon {
      bottom: -24px !important;
    }

    /* SOLO MOBILE: ultima immagine più in alto e ancora un po' più a destra */
    .fqs-sector:nth-child(5) .fqs-sec__icon {
      bottom: -22px !important;
      right: -10px !important;
      width: min(150px, 60%) !important;
      max-height: 130px !important;
    }

    /* Lineetta grigia sopra il bottone, vicino al bordo basso */
    .fqs-sec__bar {
      display: block;
      position: absolute;
      left: 12px;
      bottom: 20px;
      width: 48px;
      height: 5px;
      border-radius: 999px;
      background:
        radial-gradient(120% 120% at 10% 15%, rgba(255, 255, 255, .9), rgba(255, 255, 255, 0) 40%),
        linear-gradient(135deg, #dfe4ec 0%, #cfd6e3 35%, #b7c0cd 60%, #aeb6c4 100%);
      box-shadow: 0 1px 0 rgba(255, 255, 255, .6) inset;
      opacity: .85;
      z-index: 2;
    }
  }

  @media (prefers-reduced-motion: reduce) {

    .fqs-sector,
    .fqs-sector::before {
      transition: none;
      animation: none;
    }

    .fqs-sectors__eyebrow,
    .fqs-sectors__title,
    .fqs-sectors__subtitle,
    .fqs-sectors__grid,
    .fqs-sectors__cta {
      opacity: 1 !important;
      transform: none !important;
      animation: none !important;
    }
  }

  /* ===== ANIMAZIONE IN ENTRATA (desktop + mobile) ===== */
  .fqs-sectors__eyebrow,
  .fqs-sectors__title,
  .fqs-sectors__subtitle,
  .fqs-sectors__grid,
  .fqs-sectors__cta {
    opacity: 0;
    transform: translateY(18px);
  }

  .fqs-sectors--visible .fqs-sectors__eyebrow {
    animation: fqs-sec-eyebrow-in .5s ease-out forwards;
  }

  .fqs-sectors--visible .fqs-sectors__title {
    animation: fqs-sec-title-in .55s ease-out .04s forwards;
  }

  .fqs-sectors--visible .fqs-sectors__subtitle {
    animation: fqs-sec-subtitle-in .55s ease-out .08s forwards;
  }

  .fqs-sectors--visible .fqs-sectors__grid {
    animation: fqs-sec-grid-in .6s ease-out .12s forwards;
  }

  .fqs-sectors--visible .fqs-sectors__cta {
    animation: fqs-sec-cta-in .6s ease-out .16s forwards;
  }

  @keyframes fqs-sec-eyebrow-in {
    from {
      opacity: 0;
      transform: translateY(18px);
    }

    to {
      opacity: 1;
      transform: translateY(0);
    }
  }

  @keyframes fqs-sec-title-in {
    from {
      opacity: 0;
      transform: translateY(22px);
    }

    to {
      opacity: 1;
      transform: translateY(0);
    }
  }

  @keyframes fqs-sec-subtitle-in {
    from {
      opacity: 0;
      transform: translateY(20px);
    }

    to {
      opacity: 1;
      transform: translateY(0);
    }
  }

  @keyframes fqs-sec-grid-in {
    from {
      opacity: 0;
      transform: translateY(22px);
    }

    to {
      opacity: 1;
      transform: translateY(0);
    }
  }

  @keyframes fqs-sec-cta-in {
    from {
      opacity: 0;
      transform: translateY(20px);
    }

    to {
      opacity: 1;
      transform: translateY(0);
    }
  }

.fqs-norms {
    position: relative;
    width: 100%;
    color: #0f172a;
    font-family: "Montserrat", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif;
    padding-block: clamp(40px, 7vw, 80px) 0;
    background: #F5F7FA;
    --fqs-accent-y: #d9e200;
    overflow: hidden;
  }

  .fqs-norms__inner {
    max-width: 1400px;
    margin: 0 auto;
    padding-inline: clamp(16px, 3vw, 36px);
  }

  .fqs-norms__head {
    text-align: center;
    max-width: 86ch;
    margin: 0 auto clamp(22px, 4vw, 32px);
  }

  .fqs-norms__title {
    margin: 0 0 .3rem 0;
    font-weight: 700;
    letter-spacing: -.02em;
    line-height: 1.02;
    font-size: clamp(38px, 5.4vw, 68px);
    /* come Settori serviti */
  }

  .fqs-norms__title-hi {
    position: relative;
    display: inline-block;
    padding: 0 .04em;
    background: linear-gradient(180deg,
        transparent 0%,
        transparent 52%,
        var(--fqs-accent-y) 52%,
        var(--fqs-accent-y) 100%);
    border-radius: .18em;
  }

  .fqs-norms__subtitle {
    margin: 0 auto;
    color: #334155;
    opacity: .95;
    line-height: 1.6;
    font-size: clamp(16px, 1.45vw, 21px);
    max-width: 70ch;
    font-weight: 500;
  }

  /* ===================== DESKTOP: BOLLE “BLOB” ORIZZONTALI ===================== */

  .fqs-norms--desktop .fqs-norms__row {
    display: flex;
    justify-content: center;
    align-items: stretch;
    gap: 18px;
    flex-wrap: nowrap;
    margin-top: clamp(20px, 3vw, 28px);
    padding-inline: 36px;
  }

  .fqs-norms--desktop .fqs-norms__item {
    position: relative;
    flex: 1 1 0;
    min-width: 220px;
    height: 240px;
    display: flex;
    justify-content: center;
    align-items: stretch;
    background: #F5F7FA;
    box-shadow:
      inset 20px 20px 20px rgba(0, 0, 0, 0.05),
      25px 35px 20px rgba(0, 0, 0, 0.05),
      25px 30px 30px rgba(0, 0, 0, 0.05),
      inset -20px -20px 25px rgba(255, 255, 255, 0.9);
    transition:
      border-radius 1.35s cubic-bezier(.19, 1, .22, 1),
      transform 1.35s cubic-bezier(.19, 1, .22, 1),
      box-shadow 1.35s cubic-bezier(.19, 1, .22, 1),
      flex-grow 1.45s cubic-bezier(.19, 1, .22, 1),
      height 1.35s cubic-bezier(.19, 1, .22, 1),
      background .8s ease-out;
    cursor: default;
    overflow: hidden;
  }

  .fqs-norms--desktop .fqs-norms__item:nth-child(1) {
    border-radius: 49% 51% 70% 30% / 30% 30% 70% 70%;
  }

  .fqs-norms--desktop .fqs-norms__item:nth-child(2) {
    border-radius: 49% 51% 41% 59% / 52% 30% 70% 48%;
  }

  .fqs-norms--desktop .fqs-norms__item:nth-child(3) {
    border-radius: 76% 24% 40% 60% / 40% 69% 31% 60%;
  }

  .fqs-norms--desktop .fqs-norms__item:nth-child(4) {
    border-radius: 60% 40% 45% 55% / 55% 32% 68% 45%;
  }

  .fqs-norms--desktop .fqs-norms__item:nth-child(5) {
    border-radius: 37% 63% 49% 51% / 57% 61% 39% 43%;
  }

  .fqs-norms--desktop .fqs-norms__item::before {
    content: "";
    position: absolute;
    top: 40px;
    left: 60px;
    width: 26px;
    height: 26px;
    background: #ffffff;
    border-radius: 50%;
    opacity: 0.5;
  }

  .fqs-norms--desktop .fqs-norms__item::after {
    content: "";
    position: absolute;
    top: 72px;
    left: 80px;
    width: 12px;
    height: 12px;
    background: #ffffff;
    border-radius: 50%;
    opacity: 0.7;
  }

  .fqs-norms--desktop .fqs-norms__content {
    position: relative;
    text-align: center;
    padding: 26px 40px 22px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    transition:
      padding 1.25s cubic-bezier(.19, 1, .22, 1),
      align-items 1.25s cubic-bezier(.19, 1, .22, 1),
      justify-content 1.25s cubic-bezier(.19, 1, .22, 1);
  }

  .fqs-norms--desktop .fqs-norms__top {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    width: 100%;
    transition: transform 1.25s cubic-bezier(.19, 1, .22, 1);
  }

  .fqs-norms--desktop .fqs-norms__index {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 96px;
    height: 96px;
    flex: 0 0 96px;
    min-width: 96px;
    min-height: 96px;
    aspect-ratio: 1 / 1;
    border-radius: 50%;
    box-sizing: border-box;
    background: radial-gradient(circle at 30% 30%, #ffffff 0%, #e5e7eb 75%, #d1d5db 100%);
    box-shadow: 0 12px 24px rgba(148, 163, 184, 0.6);
    font-size: 15px;
    font-weight: 800;
    color: #020617;
    letter-spacing: .01em;
    text-align: center;
    line-height: 1.25;
    white-space: nowrap;
    padding: 0;
    transform: translateY(-22px);
    transition:
      transform 1.25s cubic-bezier(.19, 1, .22, 1),
      background .85s cubic-bezier(.19, 1, .22, 1),
      color .85s cubic-bezier(.19, 1, .22, 1),
      box-shadow .85s cubic-bezier(.19, 1, .22, 1),
      opacity .85s cubic-bezier(.19, 1, .22, 1);
  }

  .fqs-norms--desktop .fqs-norms__text {
    margin: 0;
    font-size: 14px;
    line-height: 1.55;
    color: #475569;
    max-height: 0;
    opacity: 0;
    transform: translateY(8px);
    overflow: hidden;
    margin-top: 0;
    transition:
      max-height 1.3s cubic-bezier(.25, .8, .25, 1),
      opacity .85s ease-out,
      transform .85s ease-out,
      margin-top 1.1s cubic-bezier(.19, 1, .22, 1);
    transition-delay: 0s;
  }

  .fqs-norms--desktop .fqs-norms__item:nth-child(2) .fqs-norms__text,
  .fqs-norms--desktop .fqs-norms__item:nth-child(5) .fqs-norms__text {
    font-size: 15px;
  }

  .fqs-norms--desktop .fqs-norms__item:hover,
  .fqs-norms--desktop .fqs-norms__item--active {
    flex-grow: 2.0;
    height: 295px;
    border-radius: 50%;
    transform: translateY(-8px);
    box-shadow:
      inset 10px 10px 20px rgba(0, 0, 0, 0.04),
      22px 30px 30px rgba(15, 23, 42, 0.26),
      inset -12px -12px 22px rgba(255, 255, 255, 0.96);
    background: #ffffff;
  }

  .fqs-norms--desktop .fqs-norms__item:not(:hover):not(.fqs-norms__item--active) {
    flex-grow: 1;
  }

  .fqs-norms--desktop .fqs-norms__item:hover .fqs-norms__content,
  .fqs-norms--desktop .fqs-norms__item--active .fqs-norms__content {
    align-items: stretch;
    justify-content: flex-start;
    padding: 24px 42px 24px;
  }

  .fqs-norms--desktop .fqs-norms__item:hover .fqs-norms__top,
  .fqs-norms--desktop .fqs-norms__item--active .fqs-norms__top {
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    max-width: 100%;
    margin: 0 auto;
    transform: translateY(-4px);
  }

  .fqs-norms--desktop .fqs-norms__item:hover .fqs-norms__index,
  .fqs-norms--desktop .fqs-norms__item--active .fqs-norms__index {
    background: var(--fqs-accent-y);
    color: #0f172a;
    box-shadow: 0 14px 30px rgba(234, 179, 8, 0.7);
    opacity: 1;
    transform: translateY(0);
    transition-delay: .18s;
  }

  .fqs-norms--desktop .fqs-norms__item:hover .fqs-norms__text,
  .fqs-norms--desktop .fqs-norms__item--active .fqs-norms__text {
    max-height: 280px;
    opacity: 1;
    transform: translateY(0);
    margin-top: 14px;
    transition-delay: .38s;
  }

  /* ONDA BIANCA FULL WIDTH IN FONDO */
  .fqs-norms__wave {
    margin-top: clamp(60px, 6vw, 90px);
    line-height: 0;
    position: relative;
    left: 50%;
    width: 100vw;
    transform: translateX(-50%);
  }

  .fqs-norms__wave svg {
    display: block;
    width: 100%;
    height: auto;
  }

  @media (max-width: 1200px) {
    .fqs-norms--desktop .fqs-norms__row {
      padding-inline: 24px;
    }
  }

  @media (max-width: 1024px) {
    .fqs-norms--desktop .fqs-norms__row {
      flex-wrap: wrap;
      padding-inline: 20px;
    }

    .fqs-norms--desktop .fqs-norms__item {
      min-width: 200px;
      height: 230px;
    }

    .fqs-norms--desktop .fqs-norms__item:hover,
    .fqs-norms--desktop .fqs-norms__item--active {
      flex-grow: 1.8;
      height: 270px;
    }
  }

  /* ===================== MOBILE VERSIONE SEPARATA (REVISIONE 4 + FLUIDITÀ) ===================== */

  .fqs-norms--mobile {
    display: none;
  }

  @media (max-width: 900px) {
    .fqs-norms--desktop {
      display: none;
    }

    .fqs-norms--mobile {
      display: block;
      padding-block: 34px 0;
    }

    .fqs-norms--mobile .fqs-norms__inner {
      max-width: 900px;
      padding-inline: clamp(16px, 5vw, 32px);
    }

    .fqs-norms--mobile .fqs-norms__title {
      font-size: clamp(46px, 9vw, 52px);
      /* come Settori mobile */
    }

    .fqs-norms--mobile .fqs-norms__subtitle {
      font-size: 15px;
      line-height: 1.6;
      max-width: 32rem;
      font-weight: 500;
      text-align: center;
    }

    .fqs-norms-m__row {
      margin-top: 18px;
      display: flex;
      flex-direction: column;
      gap: 16px;
    }

    .fqs-norms-m__item {
      position: relative;
      box-sizing: border-box;
      max-width: 360px;
      /* meno larghe */
      margin-inline: auto;
      /* centrate */
      padding: 22px 18px 26px;
      /* più lunghe (verticali) */
      min-height: 190px;
      border-radius: 45% 55% 60% 40% / 40% 50% 50% 60%;
      background: #F5F7FA;
      box-shadow:
        inset 16px 16px 18px rgba(0, 0, 0, 0.04),
        18px 24px 20px rgba(15, 23, 42, 0.16),
        inset -14px -14px 22px rgba(255, 255, 255, 0.96);
      overflow: hidden;
      cursor: pointer;
      transition:
        transform .5s cubic-bezier(.22, .61, .36, 1),
        box-shadow .5s cubic-bezier(.22, .61, .36, 1),
        background .45s ease-out,
        border-radius .6s cubic-bezier(.22, .61, .36, 1);
      -webkit-transform: translateZ(0);
      will-change: transform, box-shadow;
    }

    .fqs-norms-m__item:nth-child(2) {
      border-radius: 55% 45% 42% 58% / 52% 38% 62% 48%;
    }

    .fqs-norms-m__item:nth-child(3) {
      border-radius: 60% 40% 48% 52% / 44% 60% 40% 56%;
    }

    /* Penultima più ondulata */
    .fqs-norms-m__item:nth-child(4) {
      border-radius: 48% 52% 66% 34% / 56% 42% 58% 44%;
    }

    .fqs-norms-m__item:nth-child(5) {
      border-radius: 42% 58% 55% 45% / 50% 55% 45% 50%;
    }

    .fqs-norms-m__item.is-open {
      background: #ffffff;
      transform: translateY(-5px);
      /* alza un filo tutta la bolla aperta */
      box-shadow:
        inset 8px 8px 16px rgba(0, 0, 0, 0.03),
        20px 26px 30px rgba(15, 23, 42, 0.22),
        inset -10px -10px 18px rgba(255, 255, 255, 0.98);
      border-radius: 50% 50% 50% 50% / 52% 48% 52% 48%;
      padding: 24px 18px 36px;
      /* più padding in basso: alza ancora il testo */
    }

    .fqs-norms-m__top {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 6px;
    }

    .fqs-norms-m__index {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 86px;
      height: 86px;
      border-radius: 50%;
      background: radial-gradient(circle at 30% 30%, #ffffff 0%, #e5e7eb 75%, #d1d5db 100%);
      box-shadow: 0 10px 22px rgba(148, 163, 184, 0.6);
      font-size: 15px;
      font-weight: 800;
      color: #020617;
      letter-spacing: .01em;
      text-align: center;
      line-height: 1.25;
      padding: 0 8px;
      transition:
        background .45s cubic-bezier(.19, 1, .22, 1),
        color .45s cubic-bezier(.19, 1, .22, 1),
        box-shadow .45s cubic-bezier(.19, 1, .22, 1),
        transform .35s cubic-bezier(.19, 1, .22, 1),
        width .35s cubic-bezier(.19, 1, .22, 1),
        height .35s cubic-bezier(.19, 1, .22, 1);
    }

    /* Cerchio giallo + ancora più piccolo e più in alto quando aperto */
    .fqs-norms-m__item.is-open .fqs-norms-m__index {
      background: var(--fqs-accent-y);
      color: #0f172a;
      box-shadow: 0 12px 26px rgba(234, 179, 8, 0.7);
      width: 70px;
      /* ancora un filo più piccolo */
      height: 70px;
      transform: translateY(-16px);
      /* ancora più in alto per lasciare più aria al testo */
    }

    /* UNI PdR 125: mantieni 2 righe (UNI PdR / 125) anche da aperta */
    .fqs-norms-m__item[data-norma="unipdr125"] .fqs-norms-m__index {
      font-size: 14px;
      padding: 0 6px;
    }

    .fqs-norms-m__item[data-norma="unipdr125"].is-open .fqs-norms-m__index {
      width: 92px;
      /* un po' più largo per evitare la terza riga */
      height: 72px;
      transform: translateY(-16px);
    }

    .fqs-norms-m__hint {
      font-size: 18px;
      line-height: 1;
      margin-top: 4px;
      opacity: .7;
      transform: rotate(0deg);
      transition: transform .25s ease, opacity .25s ease;
    }

    .fqs-norms-m__item.is-open .fqs-norms-m__hint {
      transform: rotate(180deg);
      opacity: .9;
    }

    .fqs-norms-m__text {
      margin: 0;
      font-size: 14px;
      /* leggermente più piccolo */
      line-height: 1.6;
      color: #475569;
      max-height: 0;
      opacity: 0;
      transform: translateY(6px);
      overflow: hidden;
      margin-top: 0;
      padding: 0 12px 6px;
      text-align: center;
      transition:
        max-height .5s cubic-bezier(.25, .8, .25, 1),
        opacity .5s ease-out,
        transform .5s ease-out,
        margin-top .5s cubic-bezier(.19, 1, .22, 1);
      will-change: max-height, transform, opacity;
    }

    .fqs-norms-m__item.is-open .fqs-norms-m__text {
      max-height: 520px;
      /* ancora più margine per evitare tagli, specie ISO 14001 */
      opacity: 1;
      transform: translateY(0);
      margin-top: 8px;
      /* leggermente meno spazio sopra: testo un filo più alto nel blob */
    }

    .fqs-norms__wave {
      margin-top: 48px;
    }
  }

  @media (min-width: 901px) {
    .fqs-norms--mobile {
      display: none;
    }
  }

  @media (prefers-reduced-motion: reduce) {

    .fqs-norms-m__item,
    .fqs-norms-m__text,
    .fqs-norms-m__index {
      transition: none !important;
    }

    /* Testo aperto solo quando la bolla è effettivamente aperta */
    .fqs-norms-m__item.is-open .fqs-norms-m__text {
      max-height: none !important;
      opacity: 1 !important;
      transform: none !important;
      margin-top: 10px !important;
    }
  }

#pfql-pflow {
    overflow: visible;
  }

  .pflow-section {
    --pflow-y: #d9e200;
    /* giallo fluo */
    --pflow-ink: #0f172a;
    --pflow-trap-top: 0px;
    --pflow-progress: 0;

    color: var(--pflow-ink);
    font-family: "Montserrat", system-ui, -apple-system, "Segoe UI", Roboto,
      "Helvetica Neue", Arial, "Noto Sans", sans-serif;
    background: #fff;
    padding-top: clamp(32px, 5vw, 60px);
    padding-bottom: clamp(110px, 14vh, 190px);
    margin-bottom: 0;
    position: relative;
  }

  .pflow-section.pflow--trap {
    touch-action: none;
  }

  .pflow-inner {
    max-width: 1440px;
    margin: 0 auto;
    padding-inline: clamp(16px, 3vw, 36px);
  }

.pflow-head {
  text-align: center;
  max-width: 86ch;
  margin: 0 auto 0;
  position: relative;
  z-index: 3;
}

.pflow-title {
  margin: 0 0 0.4rem;
    font-weight: 700;
    letter-spacing: -0.02em;
    line-height: 1.06;
    font-size: clamp(38px, 5.4vw, 68px);
  }

  /* evidenziatura gialla stile “profondità” */
  .pflow-title-hi {
    position: relative;
    display: inline-block;
    padding: 0 0.04em;
  }

  .pflow-title-hi::before {
    content: "";
    position: absolute;
    inset: 64% -0.08em -8%;
    background: var(--pflow-y);
    border-radius: 0.18em;
    z-index: -1;
    opacity: 0.95;
    transform-origin: left center;
    transform: scaleX(1);
  }

  .pflow-subtitle {
    margin: 0 auto;
    color: #334155;
    line-height: 1.55;
    font-size: clamp(16px, 1.45vw, 21px);
    max-width: 70ch;
  }

  /* ===== STAGE: sticky + timeline DESKTOP ===== */
@media (min-width: 1021px) {
  .pflow-stage {
    position: sticky;
    top: var(--pflow-trap-top);
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: clamp(18px, 2vw, 26px);
    padding: 0 clamp(14px, 3.5vw, 28px) 0;
    align-items: start;
    justify-items: stretch;
    max-width: 100vw;
    box-sizing: border-box;
      isolation: isolate;
      background: #fff;
      margin-top: -42px;
      position: relative;
      z-index: 1;
  }

    /* timeline: grigia + gialla, molto vicina ai numeri (ORIZZONTALE) */
    .pflow-stage::before,
    .pflow-stage::after {
      content: "";
      position: absolute;
      left: clamp(16px, 2.5vw, 28px);
      right: clamp(16px, 2.5vw, 28px);
      top: 12px;
      border-radius: 999px;
      pointer-events: none;
    }

    .pflow-stage::before {
      height: 2px;
      background: linear-gradient(90deg, #e5e7eb 0, #cbd5e1 100%);
      opacity: 0.8;
    }

    .pflow-stage::after {
      height: 4px;
      background: linear-gradient(90deg, var(--pflow-y) 0, var(--pflow-y) 100%);
      transform-origin: left center;
      transform: scaleX(var(--pflow-progress));
      transition: transform 0.2s linear;
      opacity: 0.98;
    }

  .pflow-card {
    max-width: 240px;
    justify-self: center;
    min-height: clamp(240px, 34vh, 320px);
  }
  }

  /* ===== Layout mobile/tablet: colonna + linea verticale a sinistra ===== */
  @media (max-width: 1020px) {
    .pflow-stage {
      display: grid;
      grid-template-columns: 1fr;
      gap: 32px;
      margin-top: clamp(16px, 3vh, 24px);
      padding-top: 12px;
      padding-bottom: clamp(24px, 5vh, 36px);
      padding-inline: 16px;
      /* più aria a dx/sx per evitare tagli */
      position: relative;
      z-index: 1;
    }

    /* linea verticale grigia + fill giallo, spostata più a sinistra */
    .pflow-stage::before,
    .pflow-stage::after {
      content: "";
      position: absolute;
      top: 0;
      bottom: 0;
      left: 20px;
      /* PRIMA era 30px, ora più a sinistra */
      width: 3px;
      border-radius: 999px;
      pointer-events: none;
    }

    .pflow-stage::before {
      background: linear-gradient(to bottom, #e5e7eb, #cbd5e1);
      opacity: 0.9;
    }

    .pflow-stage::after {
      background: linear-gradient(to bottom, var(--pflow-y), var(--pflow-y));
      transform-origin: top center;
      transform: scaleY(var(--pflow-m-progress, 0));
      opacity: 0.98;
    }

    .pflow-col {
      margin-bottom: 0;
    }

    .pflow-card {
      min-height: clamp(200px, 42vh, 380px);
      margin-bottom: 16px;
    }
  }

  @media (min-width: 640px) and (max-width: 1020px) {
    .pflow-stage {
      grid-template-columns: 1fr;
    }
  }

  /* Colonna: marker + card */
  .pflow-col {
    display: grid;
    grid-template-rows: auto 1fr;
    align-content: start;
    justify-items: stretch;
    gap: 16px;
    position: relative;
  }

  .pflow-marker {
    display: flex;
    justify-content: flex-start;
    position: relative;
    z-index: 2;
  }

  /* NUMERINI un pelo più grandi */
  .pflow-marker-num {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: radial-gradient(circle at 30% 30%,
        #ffffff 0%,
        #e5e7eb 75%,
        #d1d5db 100%);
    box-shadow: 0 10px 22px rgba(148, 163, 184, 0.55);
    font-size: 15px;
    font-weight: 700;
    color: #020617;
    letter-spacing: 0.08em;
    transform: translateY(-4px);
    border: 0;
    transition:
      transform 0.35s cubic-bezier(.22, .61, .36, 1),
      background 0.5s cubic-bezier(.22, .61, .36, 1),
      color 0.5s cubic-bezier(.22, .61, .36, 1),
      box-shadow 0.5s cubic-bezier(.22, .61, .36, 1);
  }

  .pflow-col.pflow-col--visible .pflow-marker-num {
    transform: translateY(-2px);
  }

  /* Card */
  .pflow-card {
    width: 100%;
    background: #ffffff;
    border: 1px solid rgba(15, 23, 42, 0.1);
    border-radius: 18px;
    padding: clamp(18px, 2vw, 22px);
    min-height: clamp(220px, 32vh, 300px);
    box-shadow: none;
    transform-origin: top center;
    transform: translateY(26px) perspective(900px) rotateX(var(--pflow-rx, 0deg)) rotateY(var(--pflow-ry, 0deg));
    will-change: transform, box-shadow, background-color, color, border-color;
    opacity: 0;
    transition:
      opacity 0.6s cubic-bezier(0.16, 0.7, 0.3, 1),
      transform 0.6s cubic-bezier(0.16, 0.7, 0.3, 1),
      background-color 0.28s ease,
      color 0.28s ease,
      border-color 0.24s ease,
      box-shadow 0.3s ease;
    position: relative;
    z-index: 1;
  }

  .pflow-col.pflow-col--visible .pflow-card {
    opacity: 1;
    transform: translateY(0) perspective(900px) rotateX(var(--pflow-rx, 0deg)) rotateY(var(--pflow-ry, 0deg));
  }

  .pflow-card-title {
    margin: 0.2rem 0 0.45rem;
    font-weight: 800;
    letter-spacing: -0.01em;
    font-size: clamp(18px, 1.6vw, 22px);
    color: #0f172a;
  }

  .pflow-card-text {
    margin: 0;
    color: #475569;
    line-height: 1.6;
    font-size: clamp(14px, 1.05vw, 16px);
  }

  /* card corrente (via progress) */
  .pflow-col.pflow-col--current .pflow-card {
    border-color: var(--pflow-y);
    box-shadow: 0 16px 42px rgba(15, 23, 42, 0.12);
  }

  .pflow-col.pflow-col--current .pflow-marker-num {
    background: radial-gradient(circle at 30% 30%,
        #fefce8 0%,
        #fef08a 40%,
        var(--pflow-y) 100%);
    color: #0f172a;
    box-shadow: 0 12px 26px rgba(234, 179, 8, 0.75);
    transform: translateY(-6px);
  }

  /* Hover: stesso nero premium delle pfql-services */
  @media (hover: hover) {

    .pflow-section.pflow--finished .pflow-card:hover,
    .pflow-section.pflow--finished .pflow-card:focus-visible {
      background:
        radial-gradient(120% 180% at 50% -60%, rgba(255, 255, 255, .08), rgba(255, 255, 255, 0) 60%),
        linear-gradient(180deg, rgba(255, 255, 255, .06), rgba(255, 255, 255, 0) 24%),
        linear-gradient(180deg, #2a2f37 0%, #171a1f 60%, #0b0c0f 100%);
      color: #ffffff;
      border-color: var(--pflow-y);
      box-shadow:
        0 26px 60px rgba(2, 6, 23, .4),
        0 0 0 1px rgba(217, 226, 0, 0.9);
      transform: translateY(-6px) perspective(900px) rotateX(var(--pflow-rx, 4deg)) rotateY(var(--pflow-ry, 0deg));
    }

    .pflow-section.pflow--finished .pflow-card:hover .pflow-card-title,
    .pflow-section.pflow--finished .pflow-card:hover .pflow-card-text {
      color: #ffffff;
    }

    .pflow-card:focus-visible {
      outline: 2px solid var(--pflow-y);
      outline-offset: 3px;
    }
  }

  @media (prefers-reduced-motion: reduce) {

    .pflow-col,
    .pflow-card,
    .pflow-marker-num,
    .pflow-stage::after {
      transition: none !important;
    }
  }

  /* ===== TUNING MOBILE: font + offset card/marker + larghezza ===== */
  @media (max-width: 900px) {
    .pflow-title {
      font-size: clamp(46px, 9vw, 52px);
      line-height: 1.02;
    }

    .pflow-subtitle {
      font-size: 15px;
      line-height: 1.6;
    }

    .pflow-marker {
      margin-left: 4px;
      /* numeri leggermente più a sinistra */
    }

    .pflow-marker-num {
      width: 42px;
      height: 42px;
      font-size: 14px;
      transform: translateY(0);
    }

    .pflow-card {
      /* stacco dalla linea + niente taglio a destra */
      margin-left: 50px;
      /* più spazio fra linea/numeri e card */
      max-width: calc(100% - 70px);
      /* un filo più stretta per evitare taglio */
      min-height: auto;
      padding: 20px 18px 20px;
    }

    .pflow-card-title {
      font-size: 20px;
    }

    .pflow-card-text {
      font-size: 15px;
      line-height: 1.6;
    }
  }

.pfql-cases {
    position: relative;
    width: 100%;
    color: #0f172a;
    font-family: "Montserrat", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;
    padding-block: clamp(44px, 8vw, 96px);
    background: #ffffff;
    --accent: #d9e200;
  }

  .pfql-cases__inner {
    max-width: 1440px;
    margin: 0 auto;
    padding-inline: clamp(16px, 3vw, 36px);
  }

  .pfql-cases__head {
    text-align: center;
    max-width: 86ch;
    margin: 0 auto clamp(22px, 4vw, 40px);
  }

  .pfql-cases__title {
    margin: 0 0 .4rem;
    font-weight: 700;
    letter-spacing: -.02em;
    line-height: 1.06;
    font-size: clamp(38px, 5.4vw, 68px);
  }

  .pfql-cases__title-hi {
    position: relative;
    display: inline-block;
    padding: 0 .04em;
    background: linear-gradient(180deg,
        transparent 0%,
        transparent 52%,
        var(--accent) 52%,
        var(--accent) 100%);
    border-radius: .18em;
  }

  .pfql-cases__subtitle {
    margin: 0 auto;
    color: #334155;
    line-height: 1.55;
    font-size: clamp(16px, 1.45vw, 21px);
    max-width: 70ch;
  }

  .pfql-cases__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(16px, 2.2vw, 24px);
    margin-top: clamp(20px, 3vw, 28px);
  }

  @media (max-width:1100px) {
    .pfql-cases__grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }

@media (max-width:720px) {
  .pfql-cases__grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .pfql-case {
    margin-bottom: 0;
  }
}

@media (max-width:900px) {
  .pfql-cases__grid {
    row-gap: 28px;
    padding-bottom: 32px;
  }
}

  .pfql-case {
    padding: clamp(6px, .9vw, 10px);
  }

  .pfql-case__inner {
    background: #ffffff;
    border-radius: 18px;
    border: 1px solid rgba(148, 163, 184, .5);
    padding: clamp(14px, 1.6vw, 18px);
    box-shadow: 0 14px 32px rgba(15, 23, 42, .08);
    display: flex;
    flex-direction: column;
    gap: 10px;
    height: 100%;
  }

  .pfql-case__title {
    margin: 0;
    font-weight: 800;
    letter-spacing: -.01em;
    font-size: clamp(18px, 1.6vw, 22px);
  }

  .pfql-change {
    margin-top: 4px;
    font-weight: 800;
    color: #0f172a;
    font-size: 14px;
  }

  .pfql-diff {
    margin-top: 4px;
    color: #334155;
    font-size: 13px;
    line-height: 1.55;
  }

  /* === INLINE "ORE DI FORMAZIONE" (mobile only, solo card 1 e 2) ======= */
  .pfql-hours-inline {
    display: none;
    /* desktop hidden */
    margin-top: 4px;
    align-items: baseline;
    gap: 6px;
    flex-wrap: wrap;
  }

  .pfql-hours-inline__label {
    text-transform: uppercase;
    letter-spacing: .14em;
    font-weight: 700;
    color: #6b7280;
  }

  .pfql-hours-inline__num {
    font-weight: 900;
    letter-spacing: .06em;
    color: #0f172a;
  }

  .pfql-hours-inline__suffix {
    color: #111827;
  }

  /* === GRAFICO (0–10, linea nera + gialla + success verde) ============= */
  .pfql-chart {
    margin-top: 10px;
    padding: 16px 16px 20px 24px;
    border-radius: 16px;
    background:
      radial-gradient(circle at 0% 0%, rgba(148, 163, 184, .16), transparent 55%),
      linear-gradient(180deg, #ffffff 0%, #f9fafb 55%, #edf2f7 100%);
    position: relative;
    overflow: visible;
  }

  .pfql-chart__inner {
    position: relative;
    height: 180px;
    max-width: 300px;
    margin-inline: auto;
    background-image:
      linear-gradient(to top, rgba(148, 163, 184, .18) 1px, transparent 1px);
    background-size: 100% 24px;
    background-position: 0 100%;
  }

  .pfql-chart__axis {
    position: absolute;
    background: #020617;
  }

  /* === ASSI COME NELLO SNIPPET TEST (CAPPELLETTI SPESSI ATTACCATI) === */
  .pfql-chart__axis--y {
    left: 24px;
    bottom: 26px;
    top: 10px;
    width: 5px;
    /* più grosso */
    border-radius: 999px;
  }

  .pfql-chart__axis--x {
    left: 24px;
    bottom: 26px;
    right: 14px;
    height: 5px;
    /* più grosso */
    border-radius: 999px;
  }

  .pfql-chart__axis--y::after,
  .pfql-chart__axis--x::after {
    content: "";
    position: absolute;
    width: 13px;
    height: 13px;
    border-style: solid;
    border-color: #020617;
  }

  /* VERTICALE: punta SU (attaccata alla retta) */
  .pfql-chart__axis--y::after {
    bottom: 100%;
    left: 50%;
    transform: translate(-50%, 9px) rotate(-45deg);
    border-width: 5px 5px 0 0;
    /* più grosso */
  }

  /* ORIZZONTALE: punta DESTRA (attaccata alla retta) */
  .pfql-chart__axis--x::after {
    right: 0;
    top: 50%;
    transform: translate(1px, -50%) rotate(45deg);
    border-width: 5px 5px 0 0;
    /* più grosso */
  }

  .pfql-chart__line {
    position: absolute;
    left: 44px;
    right: 22px;
    height: 6px;
    /* linea più grossa */
    border-radius: 999px;
    transform-origin: left center;
  }

  .pfql-chart__line--base {
    background: linear-gradient(90deg, #020617 0%, #020617 50%, #111827 100%);
    box-shadow: 0 0 0 1px rgba(15, 23, 42, .2);
    opacity: 1;
  }

  .pfql-chart__line--delta {
    height: 7px;
    /* anche la gialla più grossa */
    background: linear-gradient(90deg, #d9e200 0%, #d9e200 40%, #d9e200 100%);
    box-shadow: 0 0 22px rgba(217, 226, 0, 1);
    opacity: 0;
    transition:
      background .9s ease,
      box-shadow .9s ease,
      transform .9s ease;
  }

  .pfql-chart__line--success {
    background: linear-gradient(90deg, #22c55e 0%, #16a34a 40%, #16a34a 100%);
    box-shadow: 0 0 24px rgba(34, 197, 94, .95);
    animation: pfql-line-success-pulse .9s cubic-bezier(.16, 1, .3, 1);
  }

  @keyframes pfql-line-success-pulse {
    0% {
      transform: scaleX(1) scaleY(1);
      box-shadow: 0 0 12px rgba(34, 197, 94, .5);
    }

    45% {
      transform: scaleX(1.02) scaleY(1.6);
      box-shadow: 0 0 30px rgba(22, 163, 74, .95);
    }

    100% {
      transform: scaleX(1) scaleY(1);
      box-shadow: 0 0 20px rgba(34, 197, 94, .8);
    }
  }

  .pfql-chart__value {
    position: absolute;
    left: 50%;
    margin-left: 0;
    padding: 4px 9px;
    font-size: 11px;
    font-weight: 800;
    border-radius: 999px;
    background: #020617;
    color: #f9fafb;
    letter-spacing: .03em;
    text-transform: uppercase;
    white-space: nowrap;
    top: 0;
    /* settato via JS */
    transform: translate(-50%, -50%);
  }

  .pfql-chart__badge {
    position: absolute;
    right: 10px;
    top: 8px;
    font-size: 11px;
    font-weight: 700;
    color: #0f172a;
    background: rgba(248, 250, 252, .96);
    border-radius: 999px;
    padding: 3px 8px;
    border: 1px solid rgba(148, 163, 184, .6);
  }

  /* === CARD 3: 300 ORE ================================================ */
  .pfql-case--training .pfql-case__inner {
    align-items: center;
    text-align: center;
  }

  .pfql-training__label {
    font-size: 12px;
    letter-spacing: .17em;
    text-transform: uppercase;
    color: #6b7280;
  }

  .pfql-training__title {
    margin: 4px 0 0;
    font-weight: 800;
    letter-spacing: -.02em;
    font-size: clamp(20px, 2.2vw, 26px);
  }

  .pfql-training__hi {
    position: relative;
    display: inline-block;
    padding: 0 .05em;
    background: linear-gradient(180deg,
        transparent 0%,
        transparent 55%,
        var(--accent) 55%,
        var(--accent) 100%);
    border-radius: .18em;
  }

  .pfql-training__text {
    margin: 8px 0 0;
    font-size: 14px;
    line-height: 1.6;
    color: #4b5563;
  }

  .pfql-training__counter {
    margin-top: 12px;
    display: flex;
    justify-content: center;
  }

  .pfql-training__num {
    display: inline-flex;
    align-items: baseline;
    gap: 6px;
    font-weight: 900;
    letter-spacing: .04em;
    font-size: clamp(52px, 6.8vw, 86px);
    color: #0f172a;
    padding-left: 4px;
  }

  .pfql-training__num-suffix {
    font-size: clamp(18px, 1.8vw, 22px);
    color: #111827;
  }

  .pfql-training__note {
    margin: 6px 0 0;
    font-size: 12px;
    color: #6b7280;
  }

  @keyframes pfql-pulse-number {
    0% {
      transform: scale(1);
      text-shadow: 0 0 0 rgba(15, 23, 42, 0);
    }

    40% {
      transform: scale(1.06);
      text-shadow: 0 0 18px rgba(0, 0, 0, .22);
    }

    100% {
      transform: scale(1);
      text-shadow: 0 0 0 rgba(15, 23, 42, 0);
    }
  }

  .pfql-training__num--pulse {
    animation: pfql-pulse-number .7s cubic-bezier(.16, 1, .3, 1);
  }

  /* ENTRATA SEZIONE (versione CORRETTA, senza typo) */
  .pfql-cases__title,
  .pfql-cases__subtitle,
  .pfql-cases__grid {
    opacity: 0;
    transform: translateY(18px);
  }

  .pfql-cases--visible .pfql-cases__title {
    animation: pfql-cases-title-in .55s ease-out forwards;
  }

  .pfql-cases--visible .pfql-cases__subtitle {
    animation: pfql-cases-subtitle-in .55s ease-out .04s forwards;
  }

  .pfql-cases--visible .pfql-cases__grid {
    animation: pfql-cases-grid-in .6s ease-out .08s forwards;
  }

  @keyframes pfql-cases-title-in {
    from {
      opacity: 0;
      transform: translateY(20px);
    }

    to {
      opacity: 1;
      transform: translateY(0);
    }
  }

  @keyframes pfql-cases-subtitle-in {
    from {
      opacity: 0;
      transform: translateY(18px);
    }

    to {
      opacity: 1;
      transform: translateY(0);
    }
  }

  @keyframes pfql-cases-grid-in {
    from {
      opacity: 0;
      transform: translateY(22px);
    }

    to {
      opacity: 1;
      transform: translateY(0);
    }
  }

  @media (prefers-reduced-motion: reduce) {

    .pfql-cases__title,
    .pfql-cases__subtitle,
    .pfql-cases__grid {
      opacity: 1 !important;
      transform: none !important;
      animation: none !important;
    }
  }

  /* ===== MOBILE TUNING / stile coerente con “Settori serviti” ========= */
  @media (max-width: 900px) {
    .pfql-cases__title {
      font-size: clamp(46px, 9vw, 52px);
    }

    .pfql-cases__subtitle {
      font-size: 15px;
      line-height: 1.6;
    }

    .pfql-case__title {
      font-size: 20px;
    }

    .pfql-case--training {
      order: -1;
    }

    .pfql-training__num {
      font-size: clamp(64px, 13vw, 80px);
    }

    /* Ore di formazione SOLO mobile, più grandi (card 1 e 2) */
    .pfql-hours-inline {
      display: inline-flex;
      font-size: 14px;
    }

    .pfql-hours-inline__label {
      font-size: 14px;
      letter-spacing: .16em;
    }

    .pfql-hours-inline__num {
      font-size: 18px;
    }

    .pfql-hours-inline__suffix {
      font-size: 14px;
    }
  }

.pfql-reviews {
    position: relative;
    width: 100%;
    color: #0f172a;
    font-family: "Montserrat", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;
    /* PIÙ SPAZIO SOPRA (dopo sezione pesante) */
    padding-top: clamp(80px, 12vw, 150px);
    padding-bottom: clamp(48px, 9vw, 110px);
    background: #fff;
  }

  .pfql-reviews__inner {
    max-width: 1440px;
    margin: 0 auto;
    padding-inline: clamp(16px, 3vw, 36px);
  }

.pfql-reviews__head {
  text-align: center;
  max-width: 86ch;
  margin: clamp(10px, 1.5vw, 18px) auto clamp(22px, 4vw, 40px);
}

  .pfql-reviews__title {
    margin: 0 0 .4rem 0;
    font-weight: 700;
    letter-spacing: -.02em;
    line-height: 1.06;
    /* LEGGERMENTE PIÙ GRANDE, STILE SETTORI */
    font-size: clamp(40px, 5.8vw, 72px);
  }

  /* Evidenziatura gialla su "clienti" */
  .pfql-reviews__title-hi {
    position: relative;
    display: inline-block;
    padding: 0 .04em;
    background: linear-gradient(180deg,
        transparent 0%,
        transparent 55%,
        #d9e200 55%,
        #d9e200 100%);
    border-radius: .18em;
  }

  @media (min-width: 768px) {
    .pfql-reviews__title {
      white-space: nowrap;
    }
  }

  /* mobile: titolo grande / coerente con le altre sezioni */
  @media (max-width: 767px) {
    .pfql-reviews__title {
      font-size: clamp(46px, 9vw, 54px);
      line-height: 1.02;
    }
  }

  .pfql-reviews__subtitle {
    margin: 0 auto;
    color: #334155;
    line-height: 1.55;
    font-size: clamp(16px, 1.45vw, 21px);
    max-width: 70ch;
  }

  /* ===== SLIDER ===== */
.pfql-reviews__slider {
  position: relative;
  margin-top: clamp(18px, 3vw, 26px);
  padding-inline: clamp(10px, 2vw, 18px);
}

.pfql-reviews__viewport {
  overflow: hidden;
  padding-inline: clamp(6px, 1vw, 12px);
}

.pfql-reviews__row {
  --pfql-gap: clamp(14px, 2.2vw, 18px);
  display: flex;
  gap: var(--pfql-gap);
  transition: transform .38s cubic-bezier(.22, .61, .36, 1);
  will-change: transform;
}

.pfql-review {
  position: relative;
  overflow: hidden;
  background: #ffffff;
  border: 1px solid rgba(15, 23, 42, .28);
  border-radius: 12px;
  padding: 10px 10px 28px;
  box-shadow: none;
  flex: 0 0 calc((100% - 2 * var(--pfql-gap)) / 3.3);
  max-width: 32%;
  /* 3 card visibili piene, la 4a si vede con la freccia */
  transition: border-color .18s.ease;
}

  .pfql-review:hover {
    border-color: #d9e200;
    box-shadow: none;
  }

  /* Mobile/touch: niente "hover" appiccicoso sulle card */
  @media (hover: none) and (pointer: coarse) {
    .pfql-review:hover {
      border-color: rgba(15, 23, 42, .28);
    }
  }

  .pfql-review__body {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: .2rem;
  }

  .pfql-review__body--animating {
    overflow: hidden;
    transition: height .34s cubic-bezier(.22, .61, .36, 1);
  }

  .pfql-review__header {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: .05rem 0 .1rem;
  }

  .pfql-avatar {
    flex: 0 0 auto;
    width: clamp(36px, 4vw, 48px);
    height: clamp(36px, 4vw, 48px);
    border-radius: 9999px;
    background: #ffffff;
    border: 1px solid rgba(15, 23, 42, .12);
    box-shadow: 0 6px 18px rgba(2, 6, 23, .06);
    display: grid;
    place-items: center;
    overflow: hidden;
  }

  .pfql-avatar img {
    width: 72%;
    height: 72%;
    object-fit: contain;
    display: block;
    filter: none;
  }

  /* STELLINE + VOTO */
  .pfql-stars {
    display: inline-flex;
    align-items: center;
    font-weight: 800;
    letter-spacing: .06em;
    font-size: .85rem;
    color: #f59e0b;
    gap: 4px;
  }

  .pfql-stars__base {
    position: relative;
    display: inline-block;
    white-space: nowrap;
  }

  .pfql-stars__rating {
    margin-left: 2px;
    font-weight: 800;
    letter-spacing: 0;
    color: #0f172a;
    font-size: .86em;
  }

  /* Variante con quinta stella quasi piena (DAZE 4,89/5) */
  .pfql-stars--partial .pfql-stars__base {
    color: #e5e7eb;
    /* stelle "vuote" sotto */
  }

  .pfql-stars--partial .pfql-stars__base::before {
    content: "★★★★★";
    position: absolute;
    inset: 0;
    white-space: nowrap;
    color: #f59e0b;
    /* riempimento giallo */
    width: 97.8%;
    /* ≈ 4,89/5 → quinta quasi piena */
    overflow: hidden;
    pointer-events: none;
  }

  .pfql-review__text {
    margin: .3rem 0 0;
    color: #475569;
    font-size: clamp(14px, 1.05vw, 16px);
    line-height: 1.55;
  }

  .pfql-more {
    display: inline-block;
    align-self: flex-start;
    margin-top: .35rem;
    font-weight: 800;
    color: #334155;
    text-decoration: underline;
    text-underline-offset: 3px;
    cursor: pointer;
    border: 0;
    background: none;
    padding: 0;
    font-size: .9rem;
  }

  .pfql-more:focus-visible {
    outline: 2px solid #0f172a;
    outline-offset: 2px;
  }

  .pfql-review__text[data-full] {
    display: none;
  }

  .pfql-review--open .pfql-review__text[data-full] {
    display: block;
  }

  .pfql-review--open .pfql-review__text[data-short] {
    display: none;
  }

  .pfql-review__wm {
    position: absolute;
    right: 10px;
    bottom: 8px;
    width: clamp(120px, 11vw, 180px);
    opacity: .09;
    filter: grayscale(1);
    pointer-events: none;
    user-select: none;
    mix-blend-mode: multiply;
  }

  .pfql-review__wm--main {
    width: clamp(150px, 13vw, 220px);
    bottom: 18px;
  }

  .pfql-link {
    font-weight: 800;
    text-decoration: none;
    color: #0f172a;
    border-bottom: 1px solid rgba(15, 23, 42, .4);
    padding-bottom: 1px;
  }

  .pfql-link:hover {
    border-bottom-color: #0f172a;
  }

  /* Frecce slider */
  .pfql-reviews__nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 34px;
    height: 34px;
    border-radius: 999px;
    border: 1px solid rgba(15, 23, 42, .16);
    background: radial-gradient(120% 120% at 10% 15%, rgba(255, 255, 255, .95), rgba(255, 255, 255, 0) 44%),
      linear-gradient(135deg, #ffffff 0%, #e5ebf4 38%, #d1d9e6 100%);
    box-shadow: 0 6px 16px rgba(15, 23, 42, .14);
    display: grid;
    place-items: center;
    cursor: pointer;
    padding: 0;
    color: #0f172a;
    transition: transform .15s.ease, box-shadow .2s.ease, opacity .2s.ease;
    z-index: 4;
  }

  .pfql-reviews__nav span {
    display: block;
    font-size: 16px;
    line-height: 1;
  }

  .pfql-reviews__nav:hover {
    transform: translateY(-50%) translateY(-1px);
    box-shadow: 0 10px 24px rgba(15, 23, 42, .2);
  }

  .pfql-reviews__nav[disabled] {
    opacity: .35;
    cursor: default;
    box-shadow: none;
  }

  .pfql-reviews__nav--prev {
    left: -40px;
  }

  .pfql-reviews__nav--next {
    right: -40px;
  }

  /* ===== MOBILE TUNING ===== */
  @media (max-width: 980px) {
    .pfql-reviews__viewport {
      padding-inline: 0;
    }

    .pfql-reviews__row {
      --pfql-gap: 0px;
    }

    .pfql-review {
      flex: 0 0 calc(100% - 40px);
      max-width: calc(100% - 40px);
      padding: 8px 10px 18px;
      border-radius: 12px;
      margin: 0 31px 0 9px;
    }

    .pfql-review__name {
      font-size: 18px;
    }

    .pfql-stars {
      font-size: .8rem;
    }

    .pfql-review__text {
      font-size: 14px;
      line-height: 1.5;
    }

    .pfql-reviews__nav--prev {
      left: -4px;
    }

    .pfql-reviews__nav--next {
      right: -4px;
    }
  }

.pfql-cta-final {
    position: relative;
    width: 100%;
    color: #fff;
    font-family: "Montserrat", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;
    padding-block: clamp(24px, 4vw, 40px);
    /* NERO PREMIUM identico alle card servizi */
    background:
      radial-gradient(120% 180% at 50% -60%, rgba(255, 255, 255, .08), rgba(255, 255, 255, 0) 60%),
      linear-gradient(180deg, rgba(255, 255, 255, .06), rgba(255, 255, 255, 0) 24%),
      linear-gradient(180deg, #2a2f37 0%, #171a1f 60%, #0b0c0f 100%);
  }

  .pfql-cta-final__inner {
    max-width: 1440px;
    margin: 0 auto;
    padding-inline: clamp(16px, 3vw, 36px);
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 16px;
    align-items: center;
  }

  .pfql-cta-final__title {
    margin: 0;
    font-weight: 800;
    letter-spacing: -.02em;
    line-height: 1.06;
    font-size: clamp(28px, 3.6vw, 40px);
  }

  .pfql-cta-final__subtitle {
    margin: 4px 0 0;
    opacity: .9;
    font-size: clamp(16px, 1.45vw, 21px);
  }

  .pfql-cta-final__actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    justify-content: flex-end;
  }

  .pfql-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .6em;
    padding: .9em 1.15em;
    border-radius: 999px;
    font-weight: 800;
    text-decoration: none;
    border: 1px solid transparent;
    transition: transform .15s ease, box-shadow .2s ease, filter .2s ease;
  }

  .pfql-btn--light {
    color: #0f172a;
    background:
      radial-gradient(120% 120% at 10% 15%, rgba(255, 255, 255, .9), rgba(255, 255, 255, 0) 40%),
      linear-gradient(135deg, #e7ebf2 0%, #dfe4ec 40%, #cfd6e3 100%);
    border: 1px solid rgba(255, 255, 255, .6);
    box-shadow: 0 2px 0 rgba(255, 255, 255, .35) inset, 0 12px 28px rgba(0, 0, 0, .25);
  }

  .pfql-btn--outline {
    color: #fff;
    background: transparent;
    border: 1.5px solid rgba(255, 255, 255, .7);
  }

  .pfql-btn:hover {
    transform: translateY(-1px);
    filter: brightness(1.05);
  }

  @media (max-width:820px) {
    .pfql-cta-final__inner {
      grid-template-columns: 1fr;
      text-align: center;
    }

    .pfql-cta-final__actions {
      justify-content: center;
    }
  }

.pfql-lead {
    position: relative;
    width: 100%;
    color: #0f172a;
    font-family: "Montserrat", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;
    padding-block: clamp(44px, 8vw, 96px);
    background:
      radial-gradient(900px 600px at 20% 28%, #f8fafc 0%, rgba(248, 250, 252, 0) 62%),
      linear-gradient(180deg, #eef2f7 0%, #e7ebf2 100%);
  }

  .pfql-lead__inner {
    max-width: 980px;
    margin: 0 auto;
    padding-inline: clamp(16px, 3vw, 36px);
  }

  .pfql-lead__box {
    background: #fff;
    border: 1px solid rgba(15, 23, 42, .12);
    border-radius: 18px;
    padding: clamp(18px, 2.6vw, 24px);
    box-shadow: 0 22px 48px rgba(15, 23, 42, .10);
    text-align: center;
  }

  .pfql-lead__title {
    margin: 0 0 .4rem 0;
    font-weight: 700;
    letter-spacing: -.02em;
    line-height: 1.06;
    font-size: clamp(38px, 5.4vw, 68px);
  }

  /* Evidenziatura gialla come "serviti" */
  .pfql-lead__title-hi {
    position: relative;
    display: inline-block;
    padding: 0 .04em;
    background: linear-gradient(180deg,
        transparent 0%,
        transparent 52%,
        #d9e200 52%,
        #d9e200 100%);
    border-radius: .18em;
  }

  .pfql-lead__subtitle {
    margin: 0 auto 16px;
    color: #334155;
    line-height: 1.55;
    font-size: clamp(16px, 1.45vw, 21px);
    max-width: 70ch;
  }

  .pfql-lead__actions {
    display: flex;
    justify-content: center;
    margin-top: 10px;
  }

  /* === Bottone stile "Parla con un esperto del tuo settore" ====================== */
  .pfql-btn--silver {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .55em;
    padding: .9em 1.4em;
    border-radius: 999px;
    font-weight: 800;
    text-decoration: none;
    color: #0b0b0c;
    border: 1px solid rgba(0, 0, 0, .10);
    background:
      radial-gradient(120% 120% at 10% 15%, rgba(255, 255, 255, .92), rgba(255, 255, 255, 0) 44%),
      linear-gradient(135deg, #ffffff 0%, #e9edf3 38%, #cfd6e3 100%);
    box-shadow: 0 2px 0 rgba(255, 255, 255, .45) inset, 0 12px 28px rgba(15, 23, 42, .14);
    transition: transform .15s ease, box-shadow .2s ease, filter .2s ease;
    font-size: .92rem;
    cursor: pointer;
    border-width: 1px;
  }

  .pfql-btn--silver:hover {
    transform: translateY(-1px);
    filter: brightness(1.03) saturate(1.02);
    box-shadow: 0 2px 0 rgba(255, 255, 255, .55) inset,
      0 18px 36px rgba(15, 23, 42, .2),
      0 0 0 3px rgba(217, 226, 0, .18);
  }

  .pfql-btn__label {
    position: relative;
    display: inline-block;
    padding: 0 .04em;
  }

  .pfql-btn__label::before {
    content: "";
    position: absolute;
    inset: 62% -0.08em -6%;
    background: #d9e200;
    border-radius: .18em;
    z-index: -1;
    opacity: 0;
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform .25s cubic-bezier(.32, .72, .2, 1), opacity .2s ease;
  }

  .pfql-btn--silver:hover .pfql-btn__label::before {
    opacity: 1;
    transform: scaleX(1);
  }

  .pfql-btn__icon {
    font-size: .95em;
    transform: translateY(1px);
    transition: transform .2s ease;
  }

  .pfql-btn--silver:hover .pfql-btn__icon {
    transform: translate(2px, 1px);
  }

  @media (max-width: 600px) {
    .pfql-btn--silver {
      width: 100%;
      max-width: 280px;
    }
  }


    :root {
      --ink: #0b0b0c;
      --muted: #5b728a;
      --fg: #ffffff;
      --border: rgba(255, 255, 255, .14);
      --border-light: rgba(2, 6, 23, .10);
      --ring: rgba(15, 23, 42, .18);
      --gap: 28px;
      --maxw: 1200px;
      --radius: 16px;
    }

    #fqs-footer {
      font-family: "Montserrat", system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
      color: var(--ink);
    }

    /* ===== TOP BAND (chiara, senza logo) ===== */
    .fqs-foot-top {
      position: relative;
      padding: 36px 16px 28px;
      background:
        radial-gradient(130% 120% at 16% -20%, rgba(15, 23, 42, .06), rgba(15, 23, 42, 0) 60%),
        linear-gradient(180deg, #ffffff 0%, #f7f9fc 100%);
      border-top: 1px solid var(--border-light);
      border-bottom: 1px solid var(--border-light);
    }

    .fqs-foot-top .container {
      max-width: var(--maxw);
      margin: 0 auto;
      display: grid;
      gap: 22px;
      grid-template-columns: 1.2fr .8fr;
      align-items: center;
    }

    .fqs-ft-title {
      margin: .2rem 0 0;
      font-size: clamp(18px, 2.2vw, 22px);
      font-weight: 800;
      letter-spacing: -.01em;
    }

    .fqs-ft-sub {
      margin: .25rem 0 0;
      color: var(--muted);
      font-weight: 600;
    }

    .fqs-ft-cta {
      display: flex;
      gap: 10px;
      justify-self: end;
      flex-wrap: wrap;
    }

    .fqs-btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: .55em;
      padding: 12px 16px;
      border-radius: 999px;
      font-weight: 900;
      text-decoration: none;
      border: 1px solid rgba(0, 0, 0, .08);
      box-shadow: 0 2px 0 rgba(255, 255, 255, .45) inset, 0 12px 28px rgba(15, 23, 42, .10);
      transition: transform .15s ease, filter .2s ease, box-shadow .2s ease;
    }

    .fqs-btn:hover {
      transform: translateY(-1px);
      filter: brightness(1.02) saturate(1.02);
    }

    .fqs-btn--dark {
      color: #fff;
      background: linear-gradient(135deg, #1d1f24 0%, #0f1115 100%);
      border-color: rgba(0, 0, 0, .38);
    }

    .fqs-btn--light {
      color: #0b0b0c;
      background:
        radial-gradient(120% 120% at 10% 15%, rgba(255, 255, 255, .92), rgba(255, 255, 255, 0) 44%),
        linear-gradient(135deg, #ffffff 0%, #e9edf3 38%, #cfd6e3 100%);
      border-color: rgba(0, 0, 0, .10);
    }

    .fqs-btn svg {
      width: 18px;
      height: 18px;
      display: block;
    }

    /* ===== DIVIDER sfumato verso il nero ===== */
    .fqs-divider {
      height: 18px;
      background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, .12) 100%);
    }

    /* ===== MAIN BAND (nero glossy) ===== */
  .fqs-foot-main {
      color: #fff;
      background:
        radial-gradient(140% 160% at 50% -80%, rgba(255, 255, 255, .08), rgba(255, 255, 255, 0) 66%),
        linear-gradient(180deg, #23252b 0%, #0f1013 60%, #090a0c 100%);
      border-top: 1px solid var(--border);
      padding: 40px 16px 22px;
    }

    .fqs-foot-grid {
      max-width: var(--maxw);
      margin: 0 auto;
      display: grid;
      gap: var(--gap);
      grid-template-columns: 1.2fr 1fr 1fr 1fr;
      align-items: flex-start;
    }

    /* Colonna Brand/Contatti */
    .fqs-brand {
      margin: 0 0 12px;
    }

    .fqs-brand img {
      height: 46px;
      width: auto;
      display: block;
      filter: drop-shadow(0 6px 14px rgba(0, 0, 0, .45));
    }

    .fqs-desc {
      margin: 0 0 14px;
      color: rgba(255, 255, 255, .82);
      font-weight: 600;
      line-height: 1.55;
    }

    .fqs-contact {
      list-style: none;
      padding: 0;
      margin: 0;
      display: grid;
      gap: 8px;
    }

    .fqs-contact a {
      color: #fff;
      text-decoration: none;
      font-weight: 800;
      display: inline-flex;
      align-items: center;
      gap: .6em;
      border-bottom: 1px dashed transparent;
      transition: border-color .18s ease, opacity .18s ease;
    }

    .fqs-contact a:hover {
      border-bottom-color: rgba(255, 255, 255, .35);
    }

    .fqs-contact svg {
      width: 18px;
      height: 18px;
      display: block;
      fill: currentColor;
    }

    /* Menu colonne */
    .fqs-col h4 {
      margin: 0 0 .4rem;
      font-weight: 900;
      letter-spacing: .02em;
      font-size: clamp(14px, 1.8vw, 15px);
      text-transform: uppercase;
      opacity: .9;
    }

    .fqs-list {
      list-style: none;
      padding: 0;
      margin: 0;
      display: grid;
      gap: 8px;
    }

    .fqs-list a {
      color: #fff;
      text-decoration: none;
      font-weight: 700;
      letter-spacing: .01em;
      display: inline-block;
      padding: 4px 0;
      position: relative;
    }

    /* UNDERLINE: da bianca -> GIALLO ACCENTO */
    .fqs-list a::after {
      content: "";
      position: absolute;
      left: 0;
      right: 0;
      bottom: -2px;
      height: 2px;
      background: var(--accent, #D9E200);
      /* ← gialla */
      transform: scaleX(0);
      transform-origin: left;
      transition: transform .2s ease;
      border-radius: 2px;
    }

    .fqs-list a:hover::after {
      transform: scaleX(1);
    }

    /* Orari */
  .fqs-hours {
      list-style: none;
      padding: 0;
      margin: 0;
      color: rgba(255, 255, 255, .86);
      font-weight: 700;
      display: grid;
      gap: 10px;
    }

    .fqs-hours li {
      display: grid;
      grid-template-columns: 92px 1fr;
      align-items: start;
      column-gap: 12px;
    }

    .fqs-hours .day {
      white-space: nowrap;
    }

    .fqs-hours .time {
      opacity: .95;
    }

    .fqs-hours .status {
      opacity: .8;
      display: block;
      margin-top: 2px;
    }

    /* Social (LinkedIn) sotto gli orari nel footer – DESKTOP + MOBILE */
    .fqs-social {
      list-style: none;
      margin: 18px 0 0 0;
      padding: 0;
      display: flex;
      flex-direction: column;
      gap: 6px;
    }
    .fqs-social a {
      display: inline-flex;
      align-items: flex-start;
      gap: 6px;
      color: #fff;
      position: relative;
      text-decoration: none;
      font-weight: 600;
      font-size: 0.9rem;
    }
    .fqs-social a span {
      position: relative;
      top: 2px;
    }
    .fqs-social svg {
      width: 16px;
      height: 16px;
      fill: currentColor;
      transform: translateY(-2px);
    }
    .fqs-social a::after {
      content: "";
      position: absolute;
      left: 0;
      right: 0;
      bottom: -2px;
      height: 2px;
      background: var(--accent, #D9E200);
      transform: scaleX(0);
      transform-origin: left;
      transition: transform .2s ease;
      border-radius: 2px;
    }
    .fqs-social a:hover::after {
      transform: scaleX(1);
    }

    /* Legal bar —> LINEA IN GIALLO */
    .fqs-foot-legal {
      border-top: 1px solid var(--accent, #D9E200);
      /* <— gialla */
      margin-top: 60px;
      padding-top: 14px;
      max-width: var(--maxw);
      margin-left: auto;
      margin-right: auto;
      display: flex;
      gap: 10px;
      align-items: center;
      justify-content: space-between;
      flex-wrap: wrap;
      color: rgba(255, 255, 255, .8);
      font-weight: 700;
      font-size: 13px;
    }

    .fqs-legal-links {
      display: flex;
      gap: 14px;
      flex-wrap: wrap;
    }

    .fqs-legal-links a {
      color: #fff;
      text-decoration: none;
      border-bottom: 1px dashed transparent;
    }

    .fqs-legal-links a:hover {
      border-bottom-color: rgba(255, 255, 255, .35);
    }

    /* Back to top */
    .fqs-top {
      position: fixed;
      right: 16px;
      bottom: 16px;
      z-index: 20;
      width: 44px;
      height: 44px;
      border-radius: 12px;
      border: 1px solid rgba(0, 0, 0, .08);
      background: #fff;
      color: #0b0b0c;
      display: grid;
      place-items: center;
      text-decoration: none;
      font-weight: 900;
      box-shadow: 0 8px 28px rgba(2, 6, 23, .18);
      transition: transform .15s ease;
    }

    .fqs-top:hover {
      transform: translateY(-2px);
    }

    /* Responsive */
    @media (max-width:980px) {
      .fqs-foot-top .container {
        grid-template-columns: 1fr;
        text-align: center;
      }

      .fqs-ft-cta {
        justify-self: center;
      }

      .fqs-foot-grid {
        grid-template-columns: 1fr 1fr;
      }
    }

    @media (max-width:640px) {
      .fqs-foot-grid {
        grid-template-columns: 1fr;
      }

      .fqs-foot-legal {
        justify-content: center;
        text-align: center;
      }
    }

    @media (prefers-reduced-motion:reduce) {

      .fqs-btn,
      .fqs-list a::after,
      .fqs-top {
        transition: none !important;
      }
    }

/* ===== CONSULENZA — MOBILE: sezione "Miglioramento dei Processi" ===== */
@media (max-width: 900px) {
  /* Sezione pfql-ceo subito dopo "Consulenza Qualità" sulla pagina Consulenza */
  body.page-cons .pfql-ceo {
    /* assicura overflow nascosto e quasi niente spazio verso la sezione successiva */
    overflow: hidden;
    margin-bottom: 0 !important;
  }

  /* Testo: più spazio sotto per non far entrare le ultime righe sotto l'immagine */
  body.page-cons .pfql-ceo .pfql-ceo__copy {
    /* cuscino minimo: riduciamo ancora lo spazio vuoto sotto il testo */
    padding-bottom: 40px !important;
  }

  /* Immagine: più piccola e più in alto */
  body.page-cons .pfql-ceo .pfql-ceo__media {
    position: absolute;
    right: -10px;
    bottom: 90px !important;
  }

  body.page-cons .pfql-ceo .pfql-process-img-wrap {
    width: min(190px, 50vw) !important;
  }

  /* ===== FORMAZIONE — MOBILE: sezione "Formazione tecnica" (pfql-ceo) ===== */
  body.page-form .pfql-ceo {
    overflow: hidden;
  }
  /* Evita che le ultime parole vadano fuori bordo a destra:
     più spazio a destra e cuscino sotto coerente con l'immagine */
  body.page-form .pfql-ceo .pfql-ceo__copy {
    padding-right: 18px;
    padding-bottom: 40px !important;
  }
  /* Immagine: stessa logica di posizione, ma un pelo più stretta
     per lasciare più spazio al testo a destra */
  body.page-form .pfql-ceo .pfql-ceo__media {
    position: absolute;
    right: 24px;
    bottom: 90px !important;
  }
  body.page-form .pfql-ceo .pfql-process-img-wrap {
    width: min(170px, 46vw) !important;
  }

  /* Forza il testo a rientrare nello schermo anche con parole lunghe */
  body.page-form .pfql-ceo .pfql-ceo__subtitle {
    overflow-wrap: anywhere;
    word-break: normal;
  }
}



/* ===== COMPANY PROFILE (company-profile.html) ===== */
.pfql-hero-split {
    position: relative;
    isolation: isolate;
    width: 100%;
    margin: -20px 0 0 0 !important;
    padding-top: 0 !important;
    min-height: clamp(480px, 80vh, 840px);
    background:
      radial-gradient(140% 220% at 10% -40%, rgba(255, 255, 255, .65), transparent 60%),
      radial-gradient(160% 200% at 82% -60%, rgba(255, 255, 255, .4), transparent 60%),
      linear-gradient(180deg,
        #c2c8d5 0%,
        #c9cfdd 26%,
        #d2d7e5 52%,
        #e0e4f0 78%,
        #f5f7fa 100%);
    color: #0f172a;
    font-family: "Azo Sans", Inter, system-ui, -apple-system, sans-serif;
    overflow: hidden;
  }

  /* ======================= BOLLA SVG A DESTRA — DESKTOP ======================= */
  .pfql-hero-bolla {
    position: absolute;
    top: 49%;
    right: -26%;
    transform: translateY(-50%);
    width: 1280px;
    height: 640px;
    pointer-events: none;
    z-index: 0;
    opacity: 0;
    transform-origin: center;
    animation: pfql-hero-bolla-in .7s ease-out .12s forwards;
  }

  .pfql-hero-bolla svg {
    width: 100%;
    height: 100%;
    filter: drop-shadow(-12px 6px 22px rgba(15, 23, 42, .18));
  }

  .pfql-hero-bolla img {
    position: absolute;
    top: 47%;
    left: 48%;
    transform: translate(-50%, -50%);
    width: 42%;
    height: auto;
  }

  /* ======================= GRIGLIA DESKTOP ======================= */
  .pfql-hero-split__inner {
    position: relative;
    z-index: 2;
    max-width: 1440px;
    margin: 0 auto;
    padding: clamp(84px, 9vw, 126px) clamp(20px, 4vw, 48px) clamp(96px, 10vw, 130px);
    display: grid;
    grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);
    gap: clamp(28px, 6vw, 80px);
    align-items: center;
  }

  /* ======================= TESTI ======================= */
  .pfql-hero-split__copy {
    max-width: 46rem;
    opacity: 0;
    transform: translateY(18px);
    animation: pfql-hero-copy-in .6s ease-out .06s forwards;
  }

  .pfql-hero-split__eyebrow {
    display: inline-block;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    font-size: .78rem;
    color: #334155;
    background: rgba(255, 255, 255, .6);
    border: 1px solid rgba(15, 23, 42, .06);
    padding: .35rem .9rem;
    border-radius: 999px;
    margin-bottom: .45rem;
  }

  .pfql-hero-split__title {
    margin: 0 0 .3rem 0;
    font-weight: 800;
    letter-spacing: -.02em;
    line-height: 1.02;
    color: #0f172a;
    font-size: clamp(40px, 5.4vw, 68px);
  }

  .pfql-hero-split__title-line {
    display: block;
  }

  .pfql-hero-split__title-az {
    display: inline-block;
    position: relative;
    padding: 0 .04em;
  }

  .pfql-hero-split__title-az::before {
    content: "";
    position: absolute;
    inset: 62% -0.08em -6%;
    background: #d9e200;
    border-radius: .18em;
    z-index: -1;
    transform-origin: left center;
    transform: scaleX(0);
    animation: pfql-hero-highlight-in .9s cubic-bezier(.32, .72, .2, 1) .35s forwards;
  }

  .pfql-hero-split__subtitle {
    margin: .4rem 0 0 0;
    color: #334155;
    opacity: .95;
    line-height: 1.6;
    font-size: clamp(16px, 1.45vw, 21px);
    max-width: 65ch;
  }

  .pfql-hero-split__subtitle strong {
    font-weight: 800;
  }

  @media (min-width: 901px) {
    .pfql-hero-split__subtitle {
      max-width: 50ch;
    }
  }

  /* ======================= TAGS (DESKTOP) ======================= */
  .pfql-hero-split__tags {
    display: flex;
    flex-wrap: nowrap;
    gap: 8px;
    margin-top: 16px;
  }

  /* Desktop: le righe finte non devono influire sul layout */
  .pfql-tags-row {
    display: contents;
  }

  .pfql-hero-tag {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 6px 10px 6px 18px;
    font-size: .78rem;
    font-weight: 600;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: #111827;
    background: #ffffff;
    border-radius: 999px;
    border: 1px solid rgba(15, 23, 42, .06);
    box-shadow: 0 1px 0 rgba(255, 255, 255, .9) inset;
    white-space: nowrap;
  }

  /* FORMAZIONE — TAG HERO DESKTOP: copia uno-a-uno lo stile desktop di Consulenza */
  @media (min-width: 901px) {
    .page-form .pfql-hero-split__tags {
      display: flex;
      flex-wrap: nowrap;
      gap: 8px;
      margin-top: 16px;
    }

    .page-form .pfql-tags-row {
      display: contents;
    }

    .page-form .pfql-hero-tag {
      padding: 6px 10px 6px 18px;
      font-size: .75rem;
    }
  }

  /* LOGO — nascosto di default (visibile SOLO su mobile) */
  .pfql-hero-split__logo {
    display: none;
    margin-top: 20px;
    margin-bottom: 10px;
  }

  .pfql-hero-split__logo-shape {
    position: relative;
    display: block;
    width: 165%;
    height: auto;
    left: 50%;
    transform: translateX(-50%) scale(1.22);
  }

  .pfql-hero-split__logo-img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: block;
    margin: 0 auto;
    max-width: 230px;
    width: 60%;
    height: auto;
  }

  /* ======================= ANIMAZIONI ======================= */
  @keyframes pfql-hero-copy-in {
    from {
      opacity: 0;
      transform: translateY(18px);
    }

    to {
      opacity: 1;
      transform: translateY(0);
    }
  }

  @keyframes pfql-hero-bolla-in {
    from {
      opacity: 0;
      transform: translate(24px, -50%) scale(.97);
    }

    to {
      opacity: 1;
      transform: translate(0, -50%) scale(1);
    }
  }

  @keyframes pfql-hero-highlight-in {
    from {
      transform: scaleX(0);
      opacity: .9;
    }

    to {
      transform: scaleX(1);
      opacity: 1;
    }
  }

  /* ======================= RESPONSIVE — MOBILE ======================= */
  @media (max-width: 900px) {

    .pfql-hero-bolla {
      display: none !important;
    }

    .pfql-hero-split__inner {
      max-width: 1440px;
      margin: 0 auto;
      padding: clamp(40px, 8vw, 56px) clamp(18px, 5vw, 32px) clamp(72px, 10vw, 110px);
      display: grid;
      grid-template-columns: 1fr;
      gap: clamp(28px, 6vw, 80px);
      align-items: center;
      text-align: center;
    }

    .pfql-hero-split__copy {
      margin: 0 auto;
    }

    .pfql-hero-split__eyebrow {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: .08em;
      font-weight: 700;
      letter-spacing: .12em;
      text-transform: uppercase;
      font-size: .78rem;
      color: #334155;
      background: linear-gradient(180deg, #ffffff 0%, #f4f5f7 100%);
      border: 1px solid rgba(15, 23, 42, .08);
      box-shadow:
        0 1px 0 rgba(255, 255, 255, .8) inset,
        0 6px 14px rgba(15, 23, 42, .08);
      padding: .35rem .9rem;
      border-radius: 999px;
      margin-bottom: .45rem;
    }

    .pfql-hero-split__title {
      font-size: clamp(50px, 9.5vw, 60px);
    }

    .pfql-hero-split__logo {
      position: relative;
      display: flex;
      justify-content: center;
      align-items: center;
      margin-top: 24px;
      margin-bottom: 16px;
      margin-left: calc(-1 * clamp(18px, 5vw, 32px));
      margin-right: calc(-1 * clamp(18px, 5vw, 32px));
    }

    /* === MOBILE TAGS — 2×2, PUZZLE PERFETTO =======================
       Riga 1: [Storia & valori] (small sx) | [Progetti & referenze] (large dx)
       Riga 2: [Team multidisciplinare] (large sx) | [Metodo FQS] (small dx)
       - colonna sinistra: bordi sx allineati
       - colonna destra: bordi dx allineati
       - small vs large gestiti con flex-basis
    ================================================================= */
    .pfql-hero-split__tags {
      display: flex;
      flex-direction: column;
      gap: 10px;
      margin-top: 16px;
      max-width: min(460px, 100%);
      margin-left: auto;
      margin-right: auto;
    }

    .pfql-tags-row {
      display: flex;
      gap: 12px;
      width: 100%;
      justify-content: center;
    }

    .pfql-hero-tag {
      justify-content: center;
      padding-left: 18px;
      padding-right: 16px;
    }

    /* larghezze relative */
    .pfql-tag--sm {
      flex: 0 0 42%;
    }

    .pfql-tag--lg {
      flex: 0 0 58%;
    }
  }

  /* ========= SCHERMI GRANDI: SCALA E AVVICINA LA BOLLA ========= */
  @media (min-width: 1440px) and (max-width: 1919px) {
    .pfql-hero-bolla {
      right: -20%;
      width: clamp(1280px, 60vw, 1500px);
      height: auto;
    }
  }

  @media (min-width: 1920px) {
    .pfql-hero-bolla {
      right: -14%;
      width: clamp(1400px, 58vw, 1800px);
      height: auto;
    }
  }

  @media (prefers-reduced-motion: reduce) {

    .pfql-hero-split__copy,
    .pfql-hero-bolla {
      animation: none !important;
      opacity: 1 !important;
      transform: none !important;
    }
  }

.alex-wave-mission {
      position: relative;
      width: 100%;
      margin: -20px 0 -1px 0 !important;
      /* -1px sotto per coprire eventuale bordino */
      padding: 0 !important;
      background: #F5F7FA;
      /* sfondo grigio */
      overflow: hidden;
      line-height: 0;
      font-family: "Azo Sans", "azo-sans-web", Inter, system-ui, -apple-system,
        BlinkMacSystemFont, "Segoe UI", sans-serif;
    }

    .alex-wave-svg-mission {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      display: block;
      pointer-events: none;
      z-index: 0;
    }

    /* Parte bianca lato sinistro su desktop */
    .alex-wave-svg-mission #alex-wave-path-mission {
      fill: #ffffff;
      stroke: none;
    }

    .alex-mission-inner {
      position: relative;
      z-index: 1;
      max-width: 1440px;
      margin: 0 auto;
      padding: clamp(64px, 7vw, 96px) clamp(20px, 4vw, 48px) clamp(80px, 9vw, 110px);
      line-height: 1.4;
      color: #0f172a;
      pointer-events: auto;
    }

    .alex-mission-grid {
      display: grid;
      grid-template-columns: minmax(0, 1.25fr) minmax(0, 1.1fr);
      gap: clamp(32px, 6vw, 96px);
      align-items: center;
      min-height: 420px;
      position: relative;
    }

    /* MEDIA SINISTRA (desktop) */
    .alex-mission-media {
      display: flex;
      align-items: center;
      justify-content: center;
      min-height: 320px;
    }

    .alex-mission-media img {
      max-width: 100%;
      max-width: 520px;
      height: auto;
      filter: drop-shadow(0 18px 40px rgba(15, 23, 42, 0.18));
    }

    /* TESTO DESTRA */
    .alex-mission-copy {
      max-width: 44rem;
    }

    .alex-mission-eyebrow {
      display: inline-block;
      margin-bottom: .6rem;
      font-size: .8rem;
      letter-spacing: .16em;
      text-transform: uppercase;
      color: #94a3b8;
    }

    .alex-mission-title {
      margin: 0;
      font-weight: 800;
      letter-spacing: -.03em;
      line-height: 1.02;
      font-size: clamp(42px, 5.8vw, 72px);
    }

    .alex-mission-title span {
      display: inline-block;
    }

    .alex-mission-title-hi {
      position: relative;
      padding: 0 .04em;
    }

    .alex-mission-title-hi::before {
      content: "";
      position: absolute;
      inset: 64% -0.1em -8%;
      background: #d9e200;
      border-radius: .2em;
      z-index: -1;
    }

    .alex-mission-subtitle {
      margin: 18px 0 0 0;
      font-size: clamp(15px, 1.3vw, 18px);
      line-height: 1.7;
      color: #4b5563;
    }

    .alex-mission-subtitle strong {
      font-weight: 800;
      color: #111827;
    }

    .alex-mission-text-block {
      display: inline;
    }

    .alex-mission-text-block--narrow {
      /* desktop: nessuna variazione, solo mobile */
    }

    /* Wave bottom: di default nascosta (la usiamo solo mobile) */
    .alex-mission-wave-bottom {
      display: none;
      width: 100%;
      line-height: 0;
    }

    .alex-mission-wave-bottom svg {
      display: block;
      width: 100%;
      height: auto;
    }

    /* ========= MOBILE ========= */
    @media (max-width: 960px) {

      /* niente onda bianca grande su mobile */
      .alex-wave-svg-mission {
        display: none;
      }

      .alex-mission-inner {
        /* leggermente più corto sotto, il resto lo fa la wave */
        padding: clamp(40px, 8vw, 56px) clamp(18px, 5vw, 32px) clamp(40px, 9vw, 52px);
      }

      .alex-mission-grid {
        grid-template-columns: 1fr;
        gap: 32px;
        min-height: 0;
      }

      .alex-mission-copy {
        order: 1;
        text-align: left;
      }

      /* immagine nel buco: più in basso e più a destra */
      .alex-mission-media {
        order: 2;
        position: absolute;
        right: -34px;
        /* come hai scelto tu */
        bottom: -22px;
        min-height: 0;
        display: flex;
        align-items: flex-end;
        justify-content: flex-end;
        pointer-events: none;
      }

      .alex-mission-media img {
        max-width: min(228px, 56vw);
        /* 2px più piccola rispetto a prima */
        height: auto;
        filter: drop-shadow(0 14px 32px rgba(15, 23, 42, 0.22));
      }

      .alex-mission-text-block {
        display: block;
      }

      .alex-mission-text-block+.alex-mission-text-block {
        margin-top: 8px;
      }

      .alex-mission-text-block--narrow {
        max-width: 54%;
      }

      /* Wave finale attiva solo mobile */
      .alex-mission-wave-bottom {
        display: block;
        margin-top: clamp(30px, 7vw, 40px);
      }
    }

:root {
    --pfql-bg: #ffffff;
    --pfql-yellow: #d9e200;
    --pfql-ink: #0f172a;
  }

.pfql-ceo {
  position: relative;
  isolation: isolate;
  width: 100%;
  margin: -18px 0 0 0 !important;
  background: var(--pfql-bg);
    font-family: "Azo Sans", "azo-sans-web", Inter, system-ui, -apple-system, sans-serif;
    color: var(--pfql-ink);
    /* un po' più spazio sopra la scritta CEO */
    padding: clamp(22px, 3vw, 34px) clamp(32px, 6vw, 78px) clamp(28px, 5vw, 72px);
    overflow: visible;

    /* 👉 VARIABILI SOLO MOBILE PER MUOVERE IL BLOCCO IMMAGINE */
    --pfql-ceo-img-bottom-mobile: 422px;
    /* alza/abbassa il blocco */
    --pfql-ceo-img-right-mobile: -34px;
    /* sposta destra/sinistra il blocco */
    --pfql-ceo-img-scale-mobile: 0.92;
    /* ingrandisci/riduci tutto il blocco */
}

  .pfql-ceo__inner {
    max-width: 1440px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
    gap: clamp(32px, 5vw, 82px);
    align-items: center;
  }

  /* ---------------- COPY (SINISTRA) ---------------- */
  .pfql-ceo__copy {
    max-width: 40rem;
    position: relative;
    top: -6px;
    opacity: 0;
    transform: translateY(20px);
  }

  .pfql-ceo__eyebrow {
    margin: 0 0 .5rem 0;
    font-size: .78rem;
    font-weight: 600;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: #9ca3af;
  }

  .pfql-ceo__title {
    margin: 0 0 1.35rem 0;
    font-weight: 800;
    letter-spacing: -.02em;
    line-height: 1.05;
    font-size: clamp(40px, 5.1vw, 64px);
  }

  .pfql-ceo__name {
    position: relative;
    display: inline-block;
    padding: 0 .04em;
  }

  .pfql-ceo__name::before {
    content: "";
    position: absolute;
    inset: 62% -0.08em -6%;
    background: var(--pfql-yellow);
    border-radius: .18em;
    z-index: -1;
    transform-origin: left center;
    transform: scaleX(0);
  }

  .pfql-ceo__subtitle {
    margin: .35rem 0 1.4rem 0;
    font-size: clamp(15px, 1.3vw, 18px);
    line-height: 1.7;
    /* come Missione & Valori */
    color: #4b5563;
  }

  /* bold scuro come Missione & Valori */
  .pfql-ceo__subtitle strong {
    font-weight: 800;
    color: #111827;
  }

  /* di base non tocco le righe su desktop */
  .pfql-ceo-line {
    /* inline di default */
  }

  .pfql-ceo__cta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
  }

  .pfql-ceo__btn {
    appearance: none;
    border: 1px solid rgba(15, 23, 42, .10);
    background:
      radial-gradient(120% 120% at 10% 15%, rgba(255, 255, 255, .95), rgba(255, 255, 255, 0) 48%),
      linear-gradient(135deg, #ffffff 0%, #f7f8fb 38%, #e2e7f1 100%);
    color: #020617;
    border-radius: 999px;
    padding: 13px 24px;
    font-size: 1rem;
    font-weight: 800;
    letter-spacing: .02em;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .6em;
    cursor: pointer;
    box-shadow:
      0 2px 0 rgba(255, 255, 255, .7) inset,
      0 14px 30px rgba(15, 23, 42, .24),
      0 0 0 2px rgba(250, 255, 0, .24);
    transition: transform .15s ease, box-shadow .2s ease, filter .2s ease;
  }

  .pfql-ceo__btn:hover {
    transform: translateY(-1.5px);
    filter: brightness(1.03) saturate(1.05);
    box-shadow:
      0 2px 0 rgba(255, 255, 255, .9) inset,
      0 18px 34px rgba(15, 23, 42, .28),
      0 0 0 4px rgba(250, 255, 0, .35);
  }

  .pfql-ceo__btn:focus-visible {
    outline: none;
    box-shadow:
      0 2px 0 rgba(255, 255, 255, .9) inset,
      0 18px 34px rgba(15, 23, 42, .28),
      0 0 0 5px rgba(250, 255, 0, .4);
  }

  /* ---------------- MEDIA (DESTRA) ---------------- */
  .pfql-ceo__media {
    display: flex;
    justify-content: center;
    align-items: flex-end;
    opacity: 0;
    transform: translateY(26px);
  }

  .pfql-cons-portrait__wrap {
    position: relative;
    width: min(520px, 92vw);
    aspect-ratio: 3 / 4;
    will-change: transform;
  }

  .pfql-cons-portrait__img {
    position: absolute;
    bottom: -8%;
    left: 50%;
    transform: translateX(-50%);
    height: 120%;
    width: auto;
    object-fit: contain;
    filter: drop-shadow(0 24px 42px rgba(15, 23, 42, 0.40));
    z-index: 2;
  }

  .pfql-cons-portrait__shapes--back,
  .pfql-cons-portrait__shapes--front,
  .pfql-cons-portrait__shapes--top {
    position: absolute;
    inset: 0;
    pointer-events: none;
  }

  .pfql-cons-portrait__shapes--back {
    z-index: 1;
  }

  .pfql-cons-portrait__shapes--front {
    z-index: 3;
    opacity: 0.88;
  }

  .pfql-cons-portrait__shapes--top {
    z-index: 4;
    opacity: 0.95;
  }

  .pfql-shape {
    position: absolute;
    background: var(--pfql-yellow);
    box-shadow: 0 0 18px rgba(250, 255, 0, 0.55);
    will-change: transform, opacity;
  }

  .pfql-shape--circle-xs {
    width: 26px;
    height: 26px;
    border-radius: 50%;
  }

  .pfql-shape--circle-sm {
    width: 34px;
    height: 34px;
    border-radius: 50%;
  }

  .pfql-shape--circle-md {
    width: 48px;
    height: 48px;
    border-radius: 50%;
  }

  .pfql-shape--circle-lg {
    width: 82px;
    height: 82px;
    border-radius: 50%;
  }

  .pfql-shape--circle-xl {
    width: 120px;
    height: 120px;
    border-radius: 50%;
  }

  .pfql-shape--tri-xs,
  .pfql-shape--tri-sm,
  .pfql-shape--tri-md,
  .pfql-shape--tri-lg {
    clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
  }

  .pfql-shape--tri-xs {
    width: 28px;
    height: 28px;
  }

  .pfql-shape--tri-sm {
    width: 36px;
    height: 36px;
  }

  .pfql-shape--tri-md {
    width: 50px;
    height: 50px;
  }

  .pfql-shape--tri-lg {
    width: 80px;
    height: 80px;
  }

  /* BACK – base */
  .shape-back-1 {
    left: 6%;
    top: 66%;
  }

  .shape-back-2 {
    left: 22%;
    top: 73%;
  }

  .shape-back-3 {
    left: 40%;
    top: 80%;
  }

  .shape-back-4 {
    right: 16%;
    top: 68%;
  }

  .shape-back-5 {
    right: 4%;
    top: 76%;
  }

  .shape-back-6 {
    left: 30%;
    top: 90%;
  }

  .shape-back-7 {
    right: 30%;
    top: 88%;
  }

  .shape-back-lg-1 {
    left: 14%;
    top: 78%;
  }

  .shape-back-lg-2 {
    right: 10%;
    top: 84%;
  }

  /* FRONT – coprono il taglio del busto */
  .shape-front-main {
    left: 50%;
    top: 82%;
    transform: translateX(-50%);
  }

  .shape-front-1 {
    left: 20%;
    top: 74%;
  }

  .shape-front-2 {
    left: 46%;
    top: 90%;
  }

  .shape-front-3 {
    right: 22%;
    top: 78%;
  }

  .shape-front-4 {
    right: 34%;
    top: 92%;
  }

  /* TOP – forme sopra tutto */
  .shape-top-1 {
    left: 32%;
    top: 82%;
  }

  .shape-top-2 {
    right: 28%;
    top: 86%;
  }

  /* Stato iniziale forme che “nascono” */
  .shape-top-1,
  .shape-top-2,
  .shape-front-1 {
    opacity: 0;
    transform: translateY(22px) scale(.7);
  }

  /* ----------------- MOBILE ----------------- */
  @media (max-width: 900px) {
    .pfql-ceo__inner {
      grid-template-columns: 1fr;
      gap: 32px;
    }

    .pfql-ceo__copy {
      max-width: 100%;
      top: 0;
      position: relative;
      /* spazio in basso per ospitare il blocco immagine dentro il testo */
      padding-bottom: 190px;
    }

    /* Company Profile: molto meno spazio sotto il testo Jaafar per avvicinare le testimonianze */
    body.page-cp .pfql-ceo__copy {
      padding-bottom: 110px;
    }

    /* ogni span = una riga da mobile, la sistemi tu */
    .pfql-ceo-line {
      display: block;
    }

    /* BLOCCO IMMAGINE “DENTRO” IL TESTO, IN BASSO A DESTRA */
    .pfql-ceo__media {
      position: absolute;
      right: var(--pfql-ceo-img-right-mobile);
      bottom: var(--pfql-ceo-img-bottom-mobile);
      transform: translateY(0) scale(var(--pfql-ceo-img-scale-mobile));
      opacity: 1;
      /* la faccio visibile, l’animazione resta soft */
      pointer-events: none;
      /* niente click “strani” sopra il testo */
    }

    .pfql-cons-portrait__wrap {
      width: min(240px, 62vw);
      /* immagine un pelo più grande ma contenuta */
    }

    .pfql-cons-portrait__img {
      height: 122%;
      bottom: -12%;
    }

    /* forme geometriche più piccole su mobile */
    .pfql-shape--circle-xs {
      width: 22px;
      height: 22px;
    }

    .pfql-shape--circle-sm {
      width: 28px;
      height: 28px;
    }

    .pfql-shape--circle-md {
      width: 40px;
      height: 40px;
    }

    .pfql-shape--circle-lg {
      width: 68px;
      height: 68px;
    }

    .pfql-shape--circle-xl {
      width: 98px;
      height: 98px;
    }

    .pfql-shape--tri-xs {
      width: 22px;
      height: 22px;
    }

    .pfql-shape--tri-sm {
      width: 30px;
      height: 30px;
    }

    .pfql-shape--tri-md {
      width: 40px;
      height: 40px;
    }

    .pfql-shape--tri-lg {
      width: 66px;
      height: 66px;
    }
  }

  /* ------------ MODAL CEO (stile hero) ------------ */
  .pfql-ceo-modal[hidden] {
    display: none !important;
  }

  .pfql-ceo-modal {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: grid;
    place-items: center;
    background: rgba(15, 23, 42, .38);
    -webkit-backdrop-filter: blur(6px) saturate(1.05);
    backdrop-filter: blur(6px) saturate(1.05);
    opacity: 0;
    transition: opacity .24s ease;
  }

  .pfql-ceo-modal.is-open {
    opacity: 1;
  }

  .pfql-ceo-dialog {
    width: min(840px, 96vw);
    max-height: min(86vh, 780px);
    background: #ffffff;
    color: var(--pfql-ink);
    border-radius: 20px;
    border: 1px solid rgba(2, 6, 23, .08);
    box-shadow:
      0 28px 60px -24px rgba(2, 6, 23, .40),
      0 0 0 1px rgba(255, 255, 255, .6) inset;
    transform: translateY(8px) scale(.98);
    opacity: 0;
    transition: transform .28s cubic-bezier(.22, .61, .36, 1),
      opacity .28s ease;
    display: grid;
    grid-template-rows: auto 1fr;
    overflow: hidden;
  }

  .pfql-ceo-modal.is-open .pfql-ceo-dialog {
    transform: translateY(0) scale(1);
    opacity: 1;
  }

  .pfql-ceo-dialog__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 16px 18px;
    border-bottom: 1px solid rgba(15, 23, 42, .08);
    background: linear-gradient(180deg, #fff, #f9fbff);
  }

  .pfql-ceo-dialog__title {
    margin: 0;
    font-size: clamp(20px, 2.1vw, 24px);
    font-weight: 900;
    letter-spacing: -.01em;
  }

  .pfql-ceo-dialog__close {
    appearance: none;
    border: 0;
    background: #fff;
    width: 36px;
    height: 36px;
    border-radius: 999px;
    cursor: pointer;
    display: grid;
    place-items: center;
    font-size: 18px;
    line-height: 1;
    box-shadow: 0 0 0 1px rgba(2, 6, 23, .08) inset;
    transition: transform .15s ease, box-shadow .2s ease;
  }

  .pfql-ceo-dialog__close:hover {
    transform: translateY(-1px);
    box-shadow:
      0 0 0 1px rgba(2, 6, 23, .16) inset,
      0 8px 18px rgba(0, 0, 0, .08);
  }

  .pfql-ceo-dialog__body {
    padding: 16px 18px 20px;
    overflow: auto;
    font-size: .95rem;
  }

  .pfql-ceo-form {
    display: grid;
    gap: 14px;
    grid-template-columns: 1fr 1fr;
  }

  .pfql-ceo-field {
    display: flex;
    flex-direction: column;
    gap: 6px;
  }

  .pfql-ceo-label {
    font-size: .85rem;
    font-weight: 700;
    color: #334155;
  }

  .pfql-ceo-input,
  .pfql-ceo-textarea {
    width: 100%;
    font: inherit;
    color: var(--pfql-ink);
    background: #fff;
    border: 1px solid rgba(2, 6, 23, .12);
    border-radius: 12px;
    padding: 10px 11px;
    box-shadow: 0 2px 0 rgba(255, 255, 255, .6) inset;
    transition: border-color .15s ease, box-shadow .2s ease;
  }

  .pfql-ceo-input:focus,
  .pfql-ceo-textarea:focus {
    outline: none;
    border-color: rgba(217, 226, 0, .55);
    box-shadow: 0 0 0 3px rgba(217, 226, 0, .28);
  }

  .pfql-ceo-textarea {
    min-height: 140px;
    resize: vertical;
    grid-column: 1 / -1;
  }

  .pfql-ceo-send {
    margin-top: 4px;
    justify-self: end;
  }

  .pfql-ceo-error {
    display: none;
    margin-top: 10px;
    font-size: .9rem;
    color: #b91c1c;
    background: #fee2e2;
    border: 1px solid #fecaca;
    padding: 8px 10px;
    border-radius: 12px;
  }

  .pfql-ceo-error.is-visible {
    display: block;
  }

  @media (max-width: 720px) {
    .pfql-ceo-dialog {
      width: 100vw;
      max-height: 100vh;
      height: 92vh;
      border-radius: 16px 16px 0 0;
      align-self: end;
    }

    .pfql-ceo-form {
      grid-template-columns: 1fr;
    }

    .pfql-ceo-send {
      justify-self: stretch;
    }
  }

  html.pfql-lock,
  body.pfql-lock {
    overflow: hidden;
  }

  /* ================= ANIMAZIONI CEO ================= */

  .pfql-ceo--visible .pfql-ceo__copy {
    animation: pfql-ceo-copy-in .7s ease-out forwards;
  }

  .pfql-ceo--visible .pfql-ceo__media {
    animation: pfql-ceo-media-in .75s ease-out .08s forwards;
  }

  .pfql-ceo--visible .pfql-cons-portrait__wrap {
    animation: pfql-ceo-portrait-float 18s ease-in-out .8s infinite alternate;
  }

  .pfql-ceo--visible .pfql-ceo__name::before {
    animation:
      pfql-ceo-highlight-in .85s cubic-bezier(.32, .72, .2, 1) .35s forwards,
      pfql-ceo-highlight-pulse 5.2s ease-in-out 1.4s infinite alternate;
  }

  .pfql-ceo--visible .shape-back-lg-1 {
    animation: pfql-ceo-shape-drift-a 20s ease-in-out 1.2s infinite alternate;
  }

  .pfql-ceo--visible .shape-back-lg-2 {
    animation: pfql-ceo-shape-drift-b 22s ease-in-out 1.6s infinite alternate;
  }

  .pfql-ceo--visible .shape-front-main {
    animation: pfql-ceo-shape-drift-main 24s ease-in-out 1.4s infinite alternate;
  }

  .pfql-ceo--visible .shape-top-1 {
    animation: pfql-ceo-shape-rise-1 11s ease-in-out 1.1s infinite;
  }

  .pfql-ceo--visible .shape-top-2 {
    animation: pfql-ceo-shape-rise-2 13s ease-in-out 1.9s infinite;
  }

  .pfql-ceo--visible .shape-front-1 {
    animation: pfql-ceo-shape-rise-3 15s ease-in-out 2.3s infinite;
  }

  @keyframes pfql-ceo-copy-in {
    from {
      opacity: 0;
      transform: translateY(20px);
    }

    to {
      opacity: 1;
      transform: translateY(0);
    }
  }

  @keyframes pfql-ceo-media-in {
    from {
      opacity: 0;
      transform: translateY(26px) scale(.96);
    }

    to {
      opacity: 1;
      transform: translateY(0) scale(1);
    }
  }

  @keyframes pfql-ceo-portrait-float {
    0% {
      transform: translateY(0);
    }

    50% {
      transform: translateY(-14px);
    }

    100% {
      transform: translateY(8px);
    }
  }

  @keyframes pfql-ceo-highlight-in {
    from {
      transform: scaleX(0);
      opacity: .9;
    }

    to {
      transform: scaleX(1);
      opacity: 1;
    }
  }

  @keyframes pfql-ceo-highlight-pulse {
    0% {
      transform: scaleX(1);
    }

    50% {
      transform: scaleX(1.16);
    }

    100% {
      transform: scaleX(0.9);
    }
  }

  @keyframes pfql-ceo-shape-drift-a {
    0% {
      transform: translate(0, 0) scale(1);
    }

    50% {
      transform: translate(-16px, -22px) scale(1.06);
    }

    100% {
      transform: translate(12px, 12px) scale(1.03);
    }
  }

  @keyframes pfql-ceo-shape-drift-b {
    0% {
      transform: translate(0, 0) scale(1);
    }

    50% {
      transform: translate(18px, -18px) scale(1.07);
    }

    100% {
      transform: translate(-10px, 10px) scale(1.03);
    }
  }

  @keyframes pfql-ceo-shape-drift-main {
    0% {
      transform: translateX(-50%) translateY(0) scale(1);
    }

    50% {
      transform: translateX(-50%) translateY(-14px) scale(1.05);
    }

    100% {
      transform: translateX(-50%) translateY(8px) scale(1.02);
    }
  }

  @keyframes pfql-ceo-shape-rise-1 {
    0% {
      transform: translateY(22px) scale(.7);
      opacity: 0;
    }

    15% {
      opacity: .9;
    }

    55% {
      transform: translateY(-20px) scale(1);
      opacity: 1;
    }

    100% {
      transform: translateY(-48px) scale(1.1);
      opacity: 0;
    }
  }

  @keyframes pfql-ceo-shape-rise-2 {
    0% {
      transform: translateY(24px) scale(.75);
      opacity: 0;
    }

    20% {
      opacity: .9;
    }

    60% {
      transform: translateY(-22px) scale(1.03);
      opacity: 1;
    }

    100% {
      transform: translateY(-50px) scale(1.1);
      opacity: 0;
    }
  }

  @keyframes pfql-ceo-shape-rise-3 {
    0% {
      transform: translateY(22px) scale(.8);
      opacity: 0;
    }

    18% {
      opacity: .95;
    }

    55% {
      transform: translateY(-18px) scale(1.03);
      opacity: 1;
    }

    100% {
      transform: translateY(-44px) scale(1.1);
      opacity: 0;
    }
  }

  @media (prefers-reduced-motion: reduce) {

    .pfql-ceo__copy,
    .pfql-ceo__media,
    .pfql-cons-portrait__wrap {
      animation: none !important;
      opacity: 1 !important;
      transform: none !important;
    }

    .pfql-ceo__name::before {
      animation: none !important;
      transform: scaleX(1) !important;
    }

    .pfql-shape {
      animation: none !important;
      transform: none !important;
      opacity: 1 !important;
    }
  }

.pfql-testimonials {
    position: relative;
    /* niente isolamento: la modale deve poter stare sopra al resto della pagina */
    isolation: unset;
    width: 100%;
    margin: -20px 0 0 0 !important;
    /* più sfondo sotto */
    padding: 0 0 112px 0;
    background: #ffffff;
    color: #0f172a;
    font-family: "Azo Sans", Inter, system-ui, -apple-system, sans-serif;
    overflow: hidden;
  }

/* COMPANY PROFILE — raccordo CEO / Testimonianze senza banda grigia */
.page-cp .pfql-testimonials {
  /* alza l'intera sezione verso Jaafar */
  margin: -24px 0 0 0 !important;
  padding-top: clamp(24px, 4vw, 56px);
}

  .pfql-testimonials__inner {
    max-width: 1320px;
    margin: 0 auto;
    padding: 72px clamp(20px, 4vw, 40px) 0;
    text-align: center;
  }

  .pfql-testimonials__eyebrow,
  .pfql-testimonials__title,
  .pfql-testimonials__subtitle,
  .pfql-testimonials__logos {
    opacity: 0;
    transform: translateY(22px);
  }

  .pfql-testimonials__eyebrow {
    display: inline-block;
    margin-bottom: .5rem;
    font-size: .8rem;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: #94a3b8;
  }

  .pfql-testimonials__title {
    margin: 0;
    font-weight: 800;
    letter-spacing: -.03em;
    line-height: 1.02;
    /* 👇 stessa grandezza del titolo "Missione e valori" */
    font-size: clamp(42px, 5.8vw, 72px);
  }

  .pfql-testimonials__title span {
    display: inline-block;
  }

  .pfql-testimonials__title-hi {
    position: relative;
    padding: 0 .04em;
  }

  .pfql-testimonials__title-hi::before {
    content: "";
    position: absolute;
    inset: 64% -0.1em -8%;
    background: #d9e200;
    border-radius: .2em;
    z-index: -1;
    transform-origin: left center;
    transform: scaleX(0);
  }

  .pfql-testimonials__subtitle {
    margin: 16px auto 36px;
    max-width: 640px;
    font-size: 15px;
    line-height: 1.65;
    color: #4b5563;
  }

  /* ===================== GRIGLIA LOGHI ===================== */
  .pfql-testimonials__logos {
    position: relative;
    width: 100%;
    max-width: 1180px;
    height: 300px;
    margin: 0 auto 24px;
  }

  .pfql-testimonials__logo {
    position: absolute;
    width: 142px;
    height: 142px;
    border-radius: 50%;
    background: #ffffff;
    border: 0;
    box-shadow: 0 18px 45px rgba(15, 23, 42, .12);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition:
      transform .18s ease,
      box-shadow .18s ease,
      background .18s ease;
  }

  .pfql-testimonials__logo-inner {
    position: relative;
    width: 70%;
    height: 70%;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .pfql-testimonials__logo img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    display: block;
  }

  .pfql-logo__fallback {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    font-weight: 700;
    color: #0f172a;
    opacity: 0;
  }

  .pfql-logo--fallback img {
    display: none;
  }

  .pfql-logo--fallback .pfql-logo__fallback {
    opacity: 1;
  }

  .pfql-testimonials__logo:hover {
    transform: translateY(-6px);
    box-shadow: 0 24px 55px rgba(15, 23, 42, .16);
    background: #ffffff;
  }

  /* POSIZIONI — loghi alti e un po' a sinistra (fine-tuning) */
  .pfql-testimonials__logo--google {
    top: 16%;
    left: 4%;
  }

  .pfql-testimonials__logo--ms {
    top: 10%;
    left: 18%;
  }

  .pfql-testimonials__logo--amazon {
    top: 14%;
    left: 34%;
  }

  .pfql-testimonials__logo--spotify {
    top: 11%;
    left: 50%;
  }

  .pfql-testimonials__logo--ibm {
    top: 17%;
    left: 66%;
  }

  .pfql-testimonials__logo--intel {
    top: 11%;
    left: 80%;
  }

  .pfql-testimonials__logo--adobe {
    /* Renova: sotto, tra Bossini (Spotify) e Spalenza (IBM) */
    top: 40%;
    left: 58%;
  }

  .pfql-testimonials__logo--tesla {
    top: 44%;
    left: 26%;
  }

  .pfql-testimonials__logo--airbnb {
    top: 51%;
    left: 43%;
  }

  .pfql-testimonials__logo--uber {
    top: 42%;
    left: 56%;
  }

  .pfql-testimonials__logo--siemens {
    top: 47%;
    left: 74%;
  }

  .pfql-testimonials__logo--dhl {
    top: 44%;
    left: 85%;
  }

  /* ========= MOBILE ========= */
  @media (max-width: 980px) {
    .pfql-testimonials {
      /* niente spazio sopra “Testimonianze” */
      margin-top: -20px !important;
      padding-bottom: 48px;
    }

    /* 👉 niente spazio sopra “Testimonianze” dentro la sezione */
    .pfql-testimonials__inner {
      padding-top: 0;
      padding-inline: clamp(20px, 4vw, 40px);
    }

    /* 👇 il titolo NON viene ridimensionato:
       resta con lo stesso clamp di Missione e Valori */

    /* 👉 sottotitolo stile testo mission (dimensione + line-height) */
    .pfql-testimonials__subtitle {
      font-size: clamp(15px, 1.3vw, 18px);
      line-height: 1.7;
      margin: 18px auto 28px;
      max-width: 640px;
    }

    .pfql-testimonials__logos {
      max-width: 680px;
      height: 430px;
    }

    .pfql-testimonials__logo {
      width: 118px;
      height: 118px;
    }

    .pfql-testimonials__logo--google {
      top: 8%;
      left: 4%;
    }

    .pfql-testimonials__logo--ms {
      top: 4%;
      left: 34%;
    }

    .pfql-testimonials__logo--amazon {
      top: 9%;
      left: 64%;
    }

    .pfql-testimonials__logo--spotify {
      top: 34%;
      left: 12%;
    }

    .pfql-testimonials__logo--ibm {
      top: 28%;
      left: 40%;
    }

    .pfql-testimonials__logo--intel {
      top: 32%;
      left: 70%;
    }

    .pfql-testimonials__logo--adobe {
      /* Renova mobile: sotto tra Bossini e Spalenza, più distanziata da STEL */
      top: 52%;
      left: 50%;
    }

    .pfql-testimonials__logo--tesla {
      top: 58%;
      left: 6%;
    }

    .pfql-testimonials__logo--airbnb {
      top: 60%;
      left: 64%;
    }

    .pfql-testimonials__logo--uber {
      top: 80%;
      left: 16%;
    }

    .pfql-testimonials__logo--siemens {
      top: 80%;
      left: 44%;
    }

    .pfql-testimonials__logo--dhl {
      top: 80%;
      left: 72%;
    }
  }

  /* ========== LOCK SCROLL QUANDO MODALE APERTA ========== */
  .pfql-lock-scroll {
    overflow: hidden !important;
  }

  /* ===================== MODALE REFERENZA ===================== */
  .pfql-ref-modal {
    position: fixed;
    inset: 0;
    /* z gigantesco per stare sopra header, footer, ecc. */
    z-index: 999999;
    display: none;
    align-items: center;
    justify-content: center;
    background: rgba(15, 23, 42, .55);
    -webkit-backdrop-filter: blur(6px) saturate(1.05);
    backdrop-filter: blur(6px) saturate(1.05);
  }

  .pfql-ref-modal.is-open {
    display: flex;
  }

  .pfql-ref-modal__dialog {
    width: min(720px, 94vw);
    max-height: min(84vh, 640px);
    background: #ffffff;
    border-radius: 20px;
    box-shadow:
      0 24px 70px rgba(15, 23, 42, .35),
      0 0 0 1px rgba(148, 163, 184, .16);
    padding: 24px 24px 22px;
    position: relative;
    overflow: auto;
    opacity: 0;
    transform: scale(.85);
    transform-origin: var(--pfql-origin-x, 50%) var(--pfql-origin-y, 50%);
    transition: opacity .22s ease, transform .22s ease;
  }

  .pfql-ref-modal__wm {
    position: absolute;
    top: 16px;
    right: 56px;
    width: clamp(120px, 22vw, 170px);
    height: auto;
    opacity: .10;
    pointer-events: none;
    user-select: none;
    object-fit: contain;
    filter: grayscale(1) contrast(1.05);
    mix-blend-mode: multiply;
    z-index: 0;
  }

  .pfql-ref-modal__dialog.pfql-ref-modal__dialog--in {
    opacity: 1;
    transform: scale(1);
  }

  .pfql-ref-modal__close {
    position: absolute;
    top: 14px;
    right: 14px;
    width: 32px;
    height: 32px;
    border-radius: 999px;
    border: 0;
    background: #f1f5f9;
    display: grid;
    place-items: center;
    cursor: pointer;
    font-size: 18px;
    line-height: 1;
    color: #0f172a;
    box-shadow: 0 0 0 1px rgba(148, 163, 184, .5);
    transition: background .15s ease, transform .15s ease;
    z-index: 2;
  }

  .pfql-ref-modal__close:hover {
    background: #e2e8f0;
    transform: translateY(-1px);
  }

  .pfql-ref-modal__label {
    position: relative;
    z-index: 1;
    font-size: .78rem;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: #94a3b8;
    margin-bottom: 4px;
  }

  .pfql-ref-modal__company {
    position: relative;
    z-index: 1;
    margin: 0 0 12px 0;
    font-size: 22px;
    font-weight: 800;
    letter-spacing: -.01em;
  }

  .pfql-ref-modal__block {
    position: relative;
    z-index: 1;
    text-align: left;
    margin-top: 6px;
  }

  .pfql-ref-modal__block-title {
    font-size: .86rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .12em;
    color: #64748b;
    margin-bottom: 4px;
  }

  .pfql-ref-modal__block-text {
    font-size: 15px;
    line-height: 1.6;
    color: #111827;
  }

  .pfql-ref-modal__block+.pfql-ref-modal__block {
    margin-top: 12px;
  }

  @media (max-width: 720px) {
    .pfql-ref-modal__dialog {
      width: 94vw;
      max-height: 84vh;
      padding: 20px 18px 18px;
    }
  }

  /* ============ ANIMAZIONI ENTRATA TESTIMONIANZE (no loop) ============ */
  .pfql-testimonials--visible .pfql-testimonials__eyebrow {
    animation: pfql-test-eyebrow-in .55s ease-out forwards;
  }

  .pfql-testimonials--visible .pfql-testimonials__title {
    animation: pfql-test-title-in .6s ease-out .04s forwards;
  }

  .pfql-testimonials--visible .pfql-testimonials__title-hi::before {
    animation: pfql-test-highlight-in .7s cubic-bezier(.32, .72, .2, 1) .18s forwards;
  }

  .pfql-testimonials--visible .pfql-testimonials__subtitle {
    animation: pfql-test-subtitle-in .6s ease-out .1s forwards;
  }

  .pfql-testimonials--visible .pfql-testimonials__logos {
    animation: pfql-test-logos-in .7s ease-out .14s forwards;
  }

  @keyframes pfql-test-eyebrow-in {
    from {
      opacity: 0;
      transform: translateY(18px);
    }

    to {
      opacity: 1;
      transform: translateY(0);
    }
  }

  @keyframes pfql-test-title-in {
    from {
      opacity: 0;
      transform: translateY(22px);
    }

    to {
      opacity: 1;
      transform: translateY(0);
    }
  }

  @keyframes pfql-test-highlight-in {
    from {
      transform: scaleX(0);
      opacity: .9;
    }

    to {
      transform: scaleX(1);
      opacity: 1;
    }
  }

  @keyframes pfql-test-subtitle-in {
    from {
      opacity: 0;
      transform: translateY(18px);
    }

    to {
      opacity: 1;
      transform: translateY(0);
    }
  }

  @keyframes pfql-test-logos-in {
    from {
      opacity: 0;
      transform: translateY(26px);
    }

    to {
      opacity: 1;
      transform: translateY(0);
    }
  }

  @media (prefers-reduced-motion: reduce) {

    .pfql-testimonials__eyebrow,
    .pfql-testimonials__title,
    .pfql-testimonials__subtitle,
    .pfql-testimonials__logos {
      opacity: 1 !important;
      transform: none !important;
      animation: none !important;
    }

    .pfql-testimonials__title-hi::before {
      transform: scaleX(1) !important;
      animation: none !important;
    }
  }

:root {
    --pfql-yellow: #d9e200;
  }

  .pfql-faq-cp {
    position: relative;
    width: 100%;
    color: #0f172a;
    font-family: "Montserrat", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;
    padding-block: clamp(44px, 8vw, 96px);
    background: #ffffff;
    /* sfondo bianco per Company Profile */
    margin: -20px 0 0 0 !important;
    /* agganciata alla sezione sopra */
  }

  .pfql-faq-cp__inner {
    max-width: 980px;
    margin: 0 auto;
    padding-inline: clamp(16px, 3vw, 36px);
  }

  .pfql-faq-cp__head {
    text-align: center;
    margin: 0 auto clamp(20px, 3vw, 28px);
  }

.pfql-faq-cp__eyebrow {
  display: inline-block;
  margin-bottom: .4rem;
  font-size: .8rem;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: #94a3b8;
}

.pfql-faq-cp__title {
  margin: 0 0 .4rem 0;
  font-weight: 800;
    letter-spacing: -.02em;
    line-height: 1.06;
    /* 👇 STESSO FONT-SIZE DI "MISSIONE E VALORI" */
    font-size: clamp(42px, 5.8vw, 72px);
  }

  .pfql-faq-cp__title span {
    display: inline-block;
  }

  /* evidenziatura dietro "frequenti" stile evidenziatore */
  .pfql-faq-cp__title-hi {
    position: relative;
    display: inline-block;
    padding: 0 .06em;
    background: linear-gradient(180deg,
        transparent 50%,
        var(--pfql-yellow) 50%,
        var(--pfql-yellow) 90%,
        transparent 90%);
    border-radius: .18em;
  }

  .pfql-faq-cp__subtitle {
    margin: 0 auto;
    color: #334155;
    line-height: 1.55;
    font-size: clamp(16px, 1.45vw, 21px);
    max-width: 70ch;
  }

  .pfql-accordion-cp {
    display: grid;
    gap: 10px;
    margin-top: clamp(16px, 2vw, 20px);
  }

  .pfql-acc-cp {
    border: 1px solid rgba(15, 23, 42, .12);
    border-radius: 14px;
    background: #fff;
    overflow: hidden;
    transition:
      border-color .25s cubic-bezier(.22, .61, .36, 1),
      box-shadow .35s cubic-bezier(.22, .61, .36, 1),
      background .25s ease;
  }

  .pfql-acc-cp--open {
    border-color: #cdd6e4;
    box-shadow: 0 18px 42px rgba(15, 23, 42, .12);
    background: radial-gradient(140% 180% at 0% 0%, rgba(255, 255, 255, .96), #ffffff 52%, #f9fafb 100%);
  }

  .pfql-acc-cp__summary {
    width: 100%;
    cursor: pointer;
    border: 0;
    background: transparent;
    padding: 14px 16px;
    display: flex;
    align-items: center;
    gap: 10px;
    font-weight: 700;
    font-size: clamp(16px, 1.2vw, 18px);
    text-align: left;
    /* forza colore per evitare il blu di iPhone */
    color: #0f172a;
    -webkit-text-fill-color: #0f172a;
  }

  .pfql-acc-cp__summary:focus-visible {
    outline: 2px solid #facc15;
    outline-offset: 2px;
  }

  .pfql-acc-cp__label {
    flex: 1 1 auto;
    /* anche la label in colore pieno, evita azzurro/link */
    color: #0f172a;
    -webkit-text-fill-color: #0f172a;
  }

  .pfql-acc-cp__chev {
    margin-left: auto;
    transition: transform .26s cubic-bezier(.22, .61, .36, 1);
  }

  .pfql-acc-cp--open .pfql-acc-cp__chev {
    transform: rotate(180deg);
  }

  .pfql-acc-cp__body-wrap {
    overflow: hidden;
    max-height: 0;
    opacity: 0;
    transition:
      max-height .45s cubic-bezier(.22, .61, .36, 1),
      opacity .35s ease-out;
  }

  .pfql-acc-cp--open .pfql-acc-cp__body-wrap {
    opacity: 1;
  }

  .pfql-acc-cp__body {
    padding: 0 16px 14px 16px;
    color: #475569;
    font-size: clamp(14px, 1.05vw, 16px);
    line-height: 1.6;
    transform: translateY(6px);
    transition: transform .35s cubic-bezier(.22, .61, .36, 1);
  }

  .pfql-acc-cp--open .pfql-acc-cp__body {
    transform: translateY(0);
  }

  /* ====== SOLO MOBILE ====== */
  @media (max-width: 960px) {
    .pfql-faq-cp {
      padding-block: clamp(40px, 8vw, 64px);
      margin-top: -20px !important;
    }

    .pfql-faq-cp__head {
      margin-bottom: clamp(16px, 4vw, 24px);
    }

    /* 👇 niente override sul font-size del titolo:
       resta identico a Missione/Valori anche su mobile */

    .pfql-faq-cp__subtitle {
      font-size: 15px;
      line-height: 1.6;
      max-width: 40rem;
    }

    .pfql-acc-cp__summary {
      padding: 12px 14px;
      font-size: 15px;
    }

    .pfql-acc-cp__body {
      font-size: 14px;
      line-height: 1.6;
    }
  }

    :root {
      --ink: #0b0b0c;
      --muted: #5b728a;
      --fg: #ffffff;
      --border: rgba(255, 255, 255, .14);
      --border-light: rgba(2, 6, 23, .10);
      --ring: rgba(15, 23, 42, .18);
      --gap: 28px;
      --maxw: 1200px;
      --radius: 16px;
    }

    #fqs-footer {
      font-family: "Montserrat", system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
      color: var(--ink);
    }

    /* ===== TOP BAND (chiara, senza logo) ===== */
    .fqs-foot-top {
      position: relative;
      padding: 36px 16px 28px;
      background:
        radial-gradient(130% 120% at 16% -20%, rgba(15, 23, 42, .06), rgba(15, 23, 42, 0) 60%),
        linear-gradient(180deg, #ffffff 0%, #f7f9fc 100%);
      border-top: 1px solid var(--border-light);
      border-bottom: 1px solid var(--border-light);
    }

    .fqs-foot-top .container {
      max-width: var(--maxw);
      margin: 0 auto;
      display: grid;
      gap: 22px;
      grid-template-columns: 1.2fr .8fr;
      align-items: center;
    }

    .fqs-ft-title {
      margin: .2rem 0 0;
      font-size: clamp(18px, 2.2vw, 22px);
      font-weight: 800;
      letter-spacing: -.01em;
    }

    .fqs-ft-sub {
      margin: .25rem 0 0;
      color: var(--muted);
      font-weight: 600;
    }

    .fqs-ft-cta {
      display: flex;
      gap: 10px;
      justify-self: end;
      flex-wrap: wrap;
    }

    .fqs-btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: .55em;
      padding: 12px 16px;
      border-radius: 999px;
      font-weight: 900;
      text-decoration: none;
      border: 1px solid rgba(0, 0, 0, .08);
      box-shadow: 0 2px 0 rgba(255, 255, 255, .45) inset, 0 12px 28px rgba(15, 23, 42, .10);
      transition: transform .15s ease, filter .2s ease, box-shadow .2s ease;
    }

    .fqs-btn:hover {
      transform: translateY(-1px);
      filter: brightness(1.02) saturate(1.02);
    }

    .fqs-btn--dark {
      color: #fff;
      background: linear-gradient(135deg, #1d1f24 0%, #0f1115 100%);
      border-color: rgba(0, 0, 0, .38);
    }

    .fqs-btn--light {
      color: #0b0b0c;
      background:
        radial-gradient(120% 120% at 10% 15%, rgba(255, 255, 255, .92), rgba(255, 255, 255, 0) 44%),
        linear-gradient(135deg, #ffffff 0%, #e9edf3 38%, #cfd6e3 100%);
      border-color: rgba(0, 0, 0, .10);
    }

    .fqs-btn svg {
      width: 18px;
      height: 18px;
      display: block;
    }

    /* ===== DIVIDER sfumato verso il nero ===== */
    .fqs-divider {
      height: 18px;
      background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, .12) 100%);
    }

    /* ===== MAIN BAND (nero glossy) ===== */
    .fqs-foot-main {
      color: #fff;
      background:
        radial-gradient(140% 160% at 50% -80%, rgba(255, 255, 255, .08), rgba(255, 255, 255, 0) 66%),
        linear-gradient(180deg, #23252b 0%, #0f1013 60%, #090a0c 100%);
      border-top: 1px solid var(--border);
      padding: 40px 16px 22px;
    }

    .fqs-foot-grid {
      max-width: var(--maxw);
      margin: 0 auto;
      display: grid;
      gap: var(--gap);
      grid-template-columns: 1.2fr 1fr 1fr 1fr;
      align-items: flex-start;
    }

    /* Colonna Brand/Contatti */
    .fqs-brand {
      margin: 0 0 12px;
    }

    .fqs-brand img {
      height: 46px;
      width: auto;
      display: block;
      filter: drop-shadow(0 6px 14px rgba(0, 0, 0, .45));
    }

    .fqs-desc {
      margin: 0 0 14px;
      color: rgba(255, 255, 255, .82);
      font-weight: 600;
      line-height: 1.55;
    }

    .fqs-contact {
      list-style: none;
      padding: 0;
      margin: 0;
      display: grid;
      gap: 8px;
    }

    .fqs-contact a {
      color: #fff;
      text-decoration: none;
      font-weight: 800;
      display: inline-flex;
      align-items: center;
      gap: .6em;
      border-bottom: 1px dashed transparent;
      transition: border-color .18s ease, opacity .18s ease;
    }

    .fqs-contact a:hover {
      border-bottom-color: rgba(255, 255, 255, .35);
    }

    .fqs-contact svg {
      width: 18px;
      height: 18px;
      display: block;
      fill: currentColor;
    }

    /* Menu colonne */
    .fqs-col h4 {
      margin: 0 0 .4rem;
      font-weight: 900;
      letter-spacing: .02em;
      font-size: clamp(14px, 1.8vw, 15px);
      text-transform: uppercase;
      opacity: .9;
    }

    .fqs-list {
      list-style: none;
      padding: 0;
      margin: 0;
      display: grid;
      gap: 8px;
    }

    .fqs-list a {
      color: #fff;
      text-decoration: none;
      font-weight: 700;
      letter-spacing: .01em;
      display: inline-block;
      padding: 4px 0;
      position: relative;
    }

    /* UNDERLINE: da bianca -> GIALLO ACCENTO */
    .fqs-list a::after {
      content: "";
      position: absolute;
      left: 0;
      right: 0;
      bottom: -2px;
      height: 2px;
      background: var(--accent, #D9E200);
      /* ← gialla */
      transform: scaleX(0);
      transform-origin: left;
      transition: transform .2s ease;
      border-radius: 2px;
    }

    .fqs-list a:hover::after {
      transform: scaleX(1);
    }

    /* Orari */
    .fqs-hours {
      list-style: none;
      padding: 0;
      margin: 0;
      color: rgba(255, 255, 255, .86);
      font-weight: 700;
      display: grid;
      gap: 10px;
    }

    .fqs-hours li {
      display: grid;
      grid-template-columns: 92px 1fr;
      align-items: start;
      column-gap: 12px;
    }

    .fqs-hours .day {
      white-space: nowrap;
    }

    .fqs-hours .time {
      opacity: .95;
    }

    .fqs-hours .status {
      opacity: .8;
      display: block;
      margin-top: 2px;
    }

    /* Legal bar —> LINEA IN GIALLO */
    .fqs-foot-legal {
      border-top: 1px solid var(--accent, #D9E200);
      /* <— gialla */
      margin-top: 60px;
      padding-top: 14px;
      max-width: var(--maxw);
      margin-left: auto;
      margin-right: auto;
      display: flex;
      gap: 10px;
      align-items: center;
      justify-content: space-between;
      flex-wrap: wrap;
      color: rgba(255, 255, 255, .8);
      font-weight: 700;
      font-size: 13px;
    }

    .fqs-legal-links {
      display: flex;
      gap: 14px;
      flex-wrap: wrap;
    }

    .fqs-legal-links a {
      color: #fff;
      text-decoration: none;
      border-bottom: 1px dashed transparent;
    }

    .fqs-legal-links a:hover {
      border-bottom-color: rgba(255, 255, 255, .35);
    }

    /* Back to top */
    .fqs-top {
      position: fixed;
      right: 16px;
      bottom: 16px;
      z-index: 20;
      width: 44px;
      height: 44px;
      border-radius: 12px;
      border: 1px solid rgba(0, 0, 0, .08);
      background: #fff;
      color: #0b0b0c;
      display: grid;
      place-items: center;
      text-decoration: none;
      font-weight: 900;
      box-shadow: 0 8px 28px rgba(2, 6, 23, .18);
      transition: transform .15s ease;
    }

    .fqs-top:hover {
      transform: translateY(-2px);
    }

    /* Responsive */
    @media (max-width:980px) {
      .fqs-foot-top .container {
        grid-template-columns: 1fr;
        text-align: center;
      }

      .fqs-ft-cta {
        justify-self: center;
      }

      .fqs-foot-grid {
        grid-template-columns: 1fr 1fr;
      }
    }

    @media (max-width:640px) {
      .fqs-foot-grid {
        grid-template-columns: 1fr;
      }

      .fqs-foot-legal {
        justify-content: center;
        text-align: center;
      }
    }

    @media (prefers-reduced-motion:reduce) {

      .fqs-btn,
      .fqs-list a::after,
      .fqs-top {
        transition: none !important;
      }
    }


/* ===== FORMAZIONE (formazione.html) ===== */
.pfql-hero-split {
    position: relative;
    isolation: isolate;
    width: 100%;
    margin: -20px 0 0 0 !important;
    padding-top: 0 !important;
    min-height: clamp(480px, 80vh, 840px);
    background:
      radial-gradient(140% 220% at 10% -40%, rgba(255, 255, 255, .65), transparent 60%),
      radial-gradient(160% 200% at 82% -60%, rgba(255, 255, 255, .4), transparent 60%),
      linear-gradient(180deg,
        #c2c8d5 0%,
        #c9cfdd 26%,
        #d2d7e5 52%,
        #e0e4f0 78%,
        #f5f7fa 100%);
    color: #0f172a;
    font-family: "Azo Sans", Inter, system-ui, -apple-system, sans-serif;
    overflow: hidden;
  }

  /* ======================= BOLLA SVG A DESTRA — DESKTOP ======================= */
  .pfql-hero-bolla {
    position: absolute;
    top: 49%;
    right: -26%;
    transform: translateY(-50%);
    width: 1280px;
    height: 640px;
    pointer-events: none;
    z-index: 0;
    opacity: 0;
    transform-origin: center;
    animation: pfql-hero-bolla-in .7s ease-out .12s forwards;
  }

  .pfql-hero-bolla svg {
    width: 100%;
    height: 100%;
    filter: drop-shadow(-12px 6px 22px rgba(15, 23, 42, .18));
  }

  .pfql-hero-bolla img {
    position: absolute;
    top: 47%;
    left: 48%;
    transform: translate(-50%, -50%);
    width: 42%;
    height: auto;
  }

  /* ======================= GRIGLIA DESKTOP ======================= */
  .pfql-hero-split__inner {
    position: relative;
    z-index: 2;
    max-width: 1440px;
    margin: 0 auto;
    padding: clamp(84px, 9vw, 126px) clamp(20px, 4vw, 48px) clamp(96px, 10vw, 130px);
    display: grid;
    grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);
    gap: clamp(28px, 6vw, 80px);
    align-items: center;
    box-sizing: border-box;
  }

  /* ======================= TESTI ======================= */
  .pfql-hero-split__copy {
    max-width: 46rem;
    opacity: 0;
    transform: translateY(18px);
    animation: pfql-hero-copy-in .6s ease-out .06s forwards;
  }

  .pfql-hero-split__eyebrow {
    display: inline-block;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    font-size: .78rem;
    color: #334155;
    background: rgba(255, 255, 255, .6);
    border: 1px solid rgba(15, 23, 42, .06);
    padding: .35rem .9rem;
    border-radius: 999px;
    margin-bottom: .45rem;
  }

  .pfql-hero-split__title {
    margin: 0 0 .3rem 0;
    font-weight: 800;
    letter-spacing: -.02em;
    line-height: 1.02;
    color: #0f172a;
    font-size: clamp(40px, 5.4vw, 68px);
  }

  .pfql-hero-split__title-line {
    display: block;
  }

  .pfql-hero-split__title-az {
    display: inline-block;
    position: relative;
    padding: 0 .04em;
  }

  .pfql-hero-split__title-az::before {
    content: "";
    position: absolute;
    inset: 62% -0.08em -6%;
    background: #d9e200;
    border-radius: .18em;
    z-index: -1;
    transform-origin: left center;
    transform: scaleX(0);
    animation: pfql-hero-highlight-in .9s cubic-bezier(.32, .72, .2, 1) .35s forwards;
  }

  .pfql-hero-split__subtitle {
    margin: .4rem 0 0 0;
    color: #334155;
    opacity: .95;
    line-height: 1.6;
    font-size: clamp(16px, 1.45vw, 21px);
    max-width: 65ch;
  }

  .pfql-hero-split__subtitle strong {
    font-weight: 800;
  }

  @media (min-width: 901px) {
    .pfql-hero-split__subtitle {
      max-width: 50ch;
    }
  }

  /* ======================= TAGS (DESKTOP) ======================= */
  .pfql-hero-split__tags {
    display: flex;
    flex-wrap: nowrap;
    gap: 8px;
    margin-top: 16px;
  }

  .pfql-tags-row {
    display: contents;
  }

  .pfql-hero-tag {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 6px 10px 6px 18px;
    font-size: .75rem;
    /* leggermente ridotti rispetto alla company profile */
    font-weight: 600;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: #111827;
    background: #ffffff;
    border-radius: 999px;
    border: 1px solid rgba(15, 23, 42, .06);
    box-shadow: 0 1px 0 rgba(255, 255, 255, .9) inset;
    white-space: nowrap;
  }

  .pfql-hero-tag::before {
    content: "";
    position: absolute;
    left: 8px;
    width: 6px;
    height: 6px;
    border-radius: 999px;
    background: #d9e200;
  }

  /* LOGO — nascosto di default (visibile SOLO su mobile) */
  .pfql-hero-split__logo {
    display: none;
    margin-top: 20px;
    margin-bottom: 10px;
  }

  .pfql-hero-split__logo-shape {
    position: relative;
    display: block;
    width: 165%;
    height: auto;
    left: 50%;
    transform: translateX(-50%) scale(1.22);
  }

  .pfql-hero-split__logo-img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: block;
    margin: 0 auto;
    max-width: 230px;
    width: 60%;
    height: auto;
  }

  /* ======================= ANIMAZIONI ======================= */
  @keyframes pfql-hero-copy-in {
    from {
      opacity: 0;
      transform: translateY(18px);
    }

    to {
      opacity: 1;
      transform: translateY(0);
    }
  }

  @keyframes pfql-hero-bolla-in {
    from {
      opacity: 0;
      transform: translate(24px, -50%) scale(.97);
    }

    to {
      opacity: 1;
      transform: translate(0, -50%) scale(1);
    }
  }

  @keyframes pfql-hero-highlight-in {
    from {
      transform: scaleX(0);
      opacity: .9;
    }

    to {
      transform: scaleX(1);
      opacity: 1;
    }
  }

  /* ======================= RESPONSIVE — MOBILE ======================= */
  @media (max-width: 900px) {

    .pfql-hero-bolla {
      display: none !important;
    }

    .pfql-hero-split {
      overflow-x: hidden;
      /* blocca eventuale scroll orizzontale residuo */
    }

    .pfql-hero-split__inner {
      max-width: 100%;
      margin: 0 auto;
      padding: clamp(40px, 8vw, 56px) clamp(16px, 4.5vw, 26px) clamp(72px, 10vw, 110px);
      display: grid;
      grid-template-columns: 1fr;
      gap: clamp(24px, 5vw, 40px);
      align-items: center;
      text-align: center;
      box-sizing: border-box;
    }

    .pfql-hero-split__copy {
      margin: 0 auto;
    }

    .pfql-hero-split__eyebrow {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: .08em;
      font-weight: 700;
      letter-spacing: .12em;
      text-transform: uppercase;
      font-size: .78rem;
      color: #334155;
      background: linear-gradient(180deg, #ffffff 0%, #f4f5f7 100%);
      border: 1px solid rgba(15, 23, 42, .08);
      box-shadow:
        0 1px 0 rgba(255, 255, 255, .8) inset,
        0 6px 14px rgba(15, 23, 42, .08);
      padding: .35rem .9rem;
      border-radius: 999px;
      margin-bottom: .45rem;
    }

    /* TITOLO MOBILE: quasi grande quanto Company Profile, ma un filo meno */
    .pfql-hero-split__title {
      font-size: clamp(44px, 8.2vw, 54px);
    }

    /* Tre righe fisse: Formazione come / Acceleratore di / Eccellenza */
    .pfql-hero-split__title-line {
      white-space: nowrap;
    }

    .pfql-hero-split__logo {
      position: relative;
      display: flex;
      justify-content: center;
      align-items: center;
      margin-top: 24px;
      margin-bottom: 16px;
      margin-left: calc(-1 * clamp(16px, 4.5vw, 26px));
      margin-right: calc(-1 * clamp(16px, 4.5vw, 26px));
    }

    /* TAGS MOBILE — più piccoli e centrati, niente taglio a destra */
    .pfql-hero-split__tags {
      display: flex;
      flex-direction: column;
      gap: 10px;
      margin-top: 16px;
      max-width: 420px;
      margin-left: auto;
      margin-right: auto;
    }

    .pfql-tags-row {
      display: flex;
      gap: 10px;
      width: 100%;
      justify-content: center;
    }

    .pfql-hero-tag {
      justify-content: center;
      font-size: .62rem;
      padding: 4px 9px 4px 12px;
      max-width: 100%;
    }

    /* larghezze relative ritoccate per non sforare il viewport */
    .pfql-tag--sm {
      flex: 0 0 38%;
    }

    .pfql-tag--lg {
      flex: 0 0 62%;
    }
  }

  /* ========= SCHERMI GRANDI: SCALA E AVVICINA LA BOLLA ========= */
  @media (min-width: 1440px) and (max-width: 1919px) {
    .pfql-hero-bolla {
      right: -20%;
      width: clamp(1280px, 60vw, 1500px);
      height: auto;
    }
  }

  @media (min-width: 1920px) {
    .pfql-hero-bolla {
      right: -14%;
      width: clamp(1400px, 58vw, 1800px);
      height: auto;
    }
  }

  @media (prefers-reduced-motion: reduce) {

    .pfql-hero-split__copy,
    .pfql-hero-bolla {
      animation: none !important;
      opacity: 1 !important;
      transform: none !important;
    }
  }

.alex-wave-mission {
      position: relative;
      width: 100%;
      margin: -20px 0 -1px 0 !important;
      /* -1px sotto per coprire eventuale bordino */
      padding: 0 !important;
      background: #F5F7FA;
      /* sfondo grigio */
      overflow: hidden;
      line-height: 0;
      font-family: "Azo Sans", "azo-sans-web", Inter, system-ui, -apple-system,
        BlinkMacSystemFont, "Segoe UI", sans-serif;
    }

    .alex-wave-svg-mission {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      display: block;
      pointer-events: none;
      z-index: 0;
    }

    /* Parte bianca lato sinistro su desktop */
    .alex-wave-svg-mission #alex-wave-path-mission {
      fill: #ffffff;
      stroke: none;
    }

    .alex-mission-inner {
      position: relative;
      z-index: 1;
      max-width: 1440px;
      margin: 0 auto;
      padding: clamp(64px, 7vw, 96px) clamp(20px, 4vw, 48px) clamp(80px, 9vw, 110px);
      line-height: 1.4;
      color: #0f172a;
      pointer-events: auto;
    }

    .alex-mission-grid {
      display: grid;
      grid-template-columns: minmax(0, 1.25fr) minmax(0, 1.1fr);
      gap: clamp(32px, 6vw, 96px);
      align-items: center;
      min-height: 420px;
      position: relative;
    }

    /* MEDIA SINISTRA (desktop) */
    .alex-mission-media {
      display: flex;
      align-items: center;
      justify-content: center;
      min-height: 320px;
    }

    .alex-mission-media img {
      max-width: 100%;
      max-width: 520px;
      height: auto;
      filter: drop-shadow(0 18px 40px rgba(15, 23, 42, 0.18));
    }

    /* TESTO DESTRA */
    .alex-mission-copy {
      max-width: 44rem;
    }

    .alex-mission-eyebrow {
      display: inline-block;
      margin-bottom: .6rem;
      font-size: .8rem;
      letter-spacing: .16em;
      text-transform: uppercase;
      color: #94a3b8;
    }

    .alex-mission-title {
      margin: 0;
      font-weight: 800;
      letter-spacing: -.03em;
      line-height: 1.02;
      font-size: clamp(42px, 5.8vw, 72px);
    }

    .alex-mission-title span {
      display: inline-block;
    }

    .alex-mission-title-hi {
      position: relative;
      padding: 0 .04em;
    }

    .alex-mission-title-hi::before {
      content: "";
      position: absolute;
      inset: 64% -0.1em -8%;
      background: #d9e200;
      border-radius: .2em;
      z-index: -1;
    }

    /* >>> Forza "Formazione Qualità" su UNA riga solo desktop <<< */
    @media (min-width: 961px) {
      .alex-mission-title--singleline {
        white-space: nowrap;
      }
    }

    .alex-mission-subtitle {
      margin: 18px 0 0 0;
      font-size: clamp(15px, 1.3vw, 18px);
      line-height: 1.7;
      color: #4b5563;
    }

    .alex-mission-subtitle strong {
      font-weight: 800;
      color: #111827;
    }

    .alex-mission-text-block {
      display: inline;
    }

    .alex-mission-text-block--narrow {
      /* desktop: nessuna variazione, solo mobile */
    }

    /* Wave bottom: di default nascosta (la usiamo solo mobile) */
    .alex-mission-wave-bottom {
      display: none;
      width: 100%;
      line-height: 0;
    }

    .alex-mission-wave-bottom svg {
      display: block;
      width: 100%;
      height: auto;
    }

    /* ========= MOBILE ========= */
    @media (max-width: 960px) {

      /* niente onda bianca grande su mobile */
      .alex-wave-svg-mission {
        display: none;
      }

      .alex-mission-inner {
        /* leggermente più corto sotto, il resto lo fa la wave */
        padding: clamp(40px, 8vw, 56px) clamp(18px, 5vw, 32px) clamp(40px, 9vw, 52px);
      }

      .alex-mission-grid {
        grid-template-columns: 1fr;
        gap: 32px;
        min-height: 0;
      }

      .alex-mission-copy {
        order: 1;
        text-align: left;
      }

      /* immagine nel buco: un po' più in alto e più grande */
      .alex-mission-media {
        order: 2;
        position: absolute;
        right: -34px;
        bottom: 10px;
        /* prima -22px, ora più in alto di ~14px */
        min-height: 0;
        display: flex;
        align-items: flex-end;
        justify-content: flex-end;
        pointer-events: none;
      }

      .alex-mission-media img {
        max-width: min(248px, 60vw);
        /* un pelo più grande */
        height: auto;
        filter: drop-shadow(0 14px 32px rgba(15, 23, 42, 0.22));
      }

      .alex-mission-text-block {
        display: block;
      }

      .alex-mission-text-block+.alex-mission-text-block {
        margin-top: 8px;
      }

      .alex-mission-text-block--narrow {
        max-width: 54%;
      }

      /* Wave finale attiva solo mobile */
      .alex-mission-wave-bottom {
        display: block;
        margin-top: clamp(30px, 7vw, 40px);
      }
    }

:root {
    --pfql-bg: #ffffff;
    --pfql-yellow: #d9e200;
    --pfql-ink: #0f172a;
  }

  .pfql-ceo {
    position: relative;
    isolation: isolate;
    width: 100%;
    /* aria sopra e sotto la sezione */
    margin: clamp(32px, 5vw, 44px) 0 !important;
    background: var(--pfql-bg);
    font-family: "Azo Sans", "azo-sans-web", Inter, system-ui, -apple-system, sans-serif;
    color: var(--pfql-ink);
    /* padding desktop come in origine (testo allineato giusto) */
    padding: 0 clamp(32px, 6vw, 78px) clamp(18px, 4vw, 52px);
    overflow: visible;
  }

  .pfql-ceo__inner {
    max-width: 1440px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
    gap: clamp(32px, 5vw, 82px);
    align-items: center;
  }

  /* ---------------- COPY (SINISTRA) ---------------- */
  .pfql-ceo__copy {
    max-width: 40rem;
    position: relative;
    top: -6px;
    opacity: 0;
    transform: translateY(20px);
  }

  .pfql-ceo__eyebrow {
    margin: 0 0 .5rem 0;
    font-size: .78rem;
    font-weight: 600;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: #9ca3af;
  }

  .pfql-ceo__title {
    margin: 0 0 1.35rem 0;
    font-weight: 800;
    letter-spacing: -.02em;
    line-height: 1.05;
    /* FONT-SIZE ALLINEATO A "Formazione Qualità" */
    font-size: clamp(42px, 5.8vw, 72px);
  }

  .pfql-ceo__title span {
    display: inline-block;
  }

  .pfql-ceo__name {
    position: relative;
    display: inline-block;
    padding: 0 .04em;
  }

  /* evidenziatura gialla stile Eccellenza */
  .pfql-ceo__name::before {
    content: "";
    position: absolute;
    inset: 62% -0.08em -6%;
    background: #d9e200;
    border-radius: .18em;
    z-index: -1;
    transform-origin: left center;
    transform: scaleX(0);
    animation: pfql-highlight-in .9s cubic-bezier(.32, .72, .2, 1) .35s forwards;
  }

  .pfql-ceo__subtitle {
    margin: .35rem 0 0 0;
    font-size: clamp(15px, 1.3vw, 18px);
    line-height: 1.7;
    color: #4b5563;
  }

  .pfql-ceo__subtitle strong {
    font-weight: 550;
  }

  /* blocchi di testo per gestire il "buco" immagine su mobile */
  .pfql-ceo__text-block {
    display: inline;
  }

  .pfql-ceo__text-block--narrow {
    /* restringiamo solo su mobile */
  }

  .pfql-ceo__cta {
    display: none;
  }

  /* ---------------- MEDIA (DESTRA) — SOLO IMMAGINE ---------------- */
  .pfql-ceo__media {
    display: flex;
    justify-content: center;
    align-items: center;
    opacity: 0;
    transform: translateY(26px);
  }

  .pfql-process-img-wrap {
    width: min(520px, 92vw);
  }

  /* Company Profile: restringi immagine Jaafar su desktop */
  .page-cp .pfql-ceo .pfql-process-img-wrap {
    width: min(340px, 64vw) !important;
  }

  .pfql-process-img-wrap img {
    display: block;
    width: 100%;
    height: auto;
    filter: drop-shadow(0 18px 40px rgba(15, 23, 42, 0.18));
  }

  /* ================= MOBILE ================= */
  @media (max-width: 900px) {
    .pfql-ceo {
      overflow: hidden;
      /* per tenere l’immagine dentro il box bianco */
      padding: clamp(40px, 9vw, 64px) clamp(18px, 5vw, 32px) clamp(40px, 8vw, 56px);
    }

    .pfql-ceo__inner {
      grid-template-columns: 1fr;
      gap: 32px;
      min-height: 0;
      position: relative;
    }

    .pfql-ceo__copy {
      max-width: 100%;
      top: -4px;
      /* più spazio sotto per non far tagliare le ultime righe dietro l'immagine */
      padding-bottom: 110px;
    }

    .pfql-ceo__subtitle {
      position: relative;
    }

    .pfql-ceo__text-block {
      display: block;
    }

    /* solo il SECONDO blocco ha spazio sopra, il terzo (stretto) no → niente riga vuota dopo "sintomo." */
    .pfql-ceo__subtitle .pfql-ceo__text-block:nth-of-type(2) {
      margin-top: 8px;
    }

    /* FORM (Formazione tecnica) — ancora meno spazio sotto il testo, per ridurre il buco con la sezione successiva */
    body.page-form .pfql-ceo .pfql-ceo__copy {
      padding-bottom: 80px;
    }

    .pfql-ceo__text-block--narrow {
      max-width: 54%;
      margin-top: 0;
    }

    .pfql-ceo__media {
      position: absolute;
      right: -28px;
      bottom: 96px;
      /* molto più in alto rispetto al testo */
      min-height: 0;
      display: flex;
      align-items: flex-end;
      justify-content: flex-end;
      pointer-events: none;
      transform: translateY(0);
    }

    .pfql-process-img-wrap {
      width: min(168px, 44vw);
      /* immagine ancora più piccola per mobile */
    }

    /* Company Profile: immagine più piccola anche su mobile */
    .page-cp .pfql-ceo .pfql-process-img-wrap {
      width: min(170px, 46vw) !important;
    }
  }

  /* ================= ANIMAZIONI ================= */

  .pfql-ceo--visible .pfql-ceo__copy {
    animation: pfql-ceo-copy-in .7s ease-out forwards;
  }

  .pfql-ceo--visible .pfql-ceo__media {
    animation: pfql-ceo-media-in .75s ease-out .08s forwards;
  }

  @keyframes pfql-ceo-copy-in {
    from {
      opacity: 0;
      transform: translateY(20px);
    }

    to {
      opacity: 1;
      transform: translateY(0);
    }
  }

  @keyframes pfql-ceo-media-in {
    from {
      opacity: 0;
      transform: translateY(26px) scale(.96);
    }

    to {
      opacity: 1;
      transform: translateY(0) scale(1);
    }
  }

  /* evidenziatore stile HERO (solo draw, niente pulse) */
  @keyframes pfql-highlight-in {
    from {
      transform: scaleX(0);
      opacity: .9;
    }

    to {
      transform: scaleX(1);
      opacity: 1;
    }
  }

  @media (prefers-reduced-motion: reduce) {

    .pfql-ceo__copy,
    .pfql-ceo__media {
      animation: none !important;
      opacity: 1 !important;
      transform: none !important;
    }

    .pfql-ceo__name::before {
      animation: none !important;
      transform: scaleX(1) !important;
    }
  }

.alex-wave-growth {
      position: relative;
      width: 100%;
      margin: -20px 0 -1px 0 !important;
      padding: 0 !important;
      background: #ffffff;
      /* DESKTOP: sfondo BIANCO */
      overflow: hidden;
      line-height: 0;
      font-family: "Azo Sans", "azo-sans-web", Inter, system-ui, -apple-system,
        BlinkMacSystemFont, "Segoe UI", sans-serif;
    }

    .alex-wave-svg-growth {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      display: block;
      pointer-events: none;
      z-index: 0;
    }

    /* Onda grande dietro immagine: GRIGIO (bolla grigia su sfondo bianco) */
    .alex-wave-svg-growth #alex-wave-path-growth {
      fill: #F5F7FA;
      stroke: none;
    }

    .alex-growth-inner {
      position: relative;
      z-index: 1;
      max-width: 1440px;
      margin: 0 auto;
      padding: clamp(64px, 7vw, 96px) clamp(20px, 4vw, 48px) clamp(80px, 9vw, 110px);
      line-height: 1.4;
      color: #0f172a;
      pointer-events: auto;
    }

    .alex-growth-grid {
      display: grid;
      grid-template-columns: minmax(0, 1.25fr) minmax(0, 1.1fr);
      gap: clamp(32px, 6vw, 96px);
      align-items: center;
      min-height: 420px;
      position: relative;
    }

    .alex-growth-media {
      display: flex;
      align-items: center;
      justify-content: center;
      min-height: 320px;
    }

    .alex-growth-media img {
      max-width: 100%;
      max-width: 520px;
      height: auto;
      filter: drop-shadow(0 18px 40px rgba(15, 23, 42, 0.18));
    }

    .alex-growth-copy {
      max-width: 44rem;
    }

    .alex-growth-eyebrow {
      display: inline-block;
      margin-bottom: .6rem;
      font-size: .8rem;
      letter-spacing: .16em;
      text-transform: uppercase;
      color: #94a3b8;
    }

    .alex-growth-title {
      margin: 0;
      font-weight: 800;
      letter-spacing: -.03em;
      line-height: 1.02;
      font-size: clamp(42px, 5.8vw, 72px);
    }

    /* Ogni pezzo del titolo come inline-block, come "Formazione Qualità" */
    .alex-growth-title span {
      display: inline-block;
    }

    .alex-growth-title-break {
      display: inline;
    }

    .alex-growth-title-hi {
      position: relative;
      padding: 0 .04em;
    }

    /* Evidenziatura identica a "Formazione Qualità" */
    .alex-growth-title-hi::before {
      content: "";
      position: absolute;
      inset: 64% -0.1em -8%;
      background: #d9e200;
      border-radius: .2em;
      z-index: -1;
    }

    .alex-growth-subtitle {
      margin: 18px 0 0 0;
      font-size: clamp(15px, 1.3vw, 18px);
      line-height: 1.7;
      color: #4b5563;
    }

    .alex-growth-subtitle strong {
      font-weight: 800;
      color: #111827;
    }

    .alex-growth-text-block {
      display: inline;
    }

    .alex-growth-text-block--narrow {
      /* desktop: nessuna variazione, solo mobile */
    }

    .alex-growth-wave-top,
    .alex-growth-wave-bottom {
      display: none;
      width: 100%;
      line-height: 0;
    }

    .alex-growth-wave-top svg,
    .alex-growth-wave-bottom svg {
      display: block;
      width: 100%;
      height: auto;
    }

    /* ========= MOBILE ========= */
    @media (max-width: 960px) {

      /* MOBILE: sfondo grigio, come l’altra sezione */
      .alex-wave-growth {
        background: #F5F7FA;
      }

      /* niente onda grande su mobile */
      .alex-wave-svg-growth {
        display: none;
      }

      .alex-growth-inner {
        padding: clamp(40px, 8vw, 56px) clamp(18px, 5vw, 32px) clamp(40px, 9vw, 52px);
      }

      .alex-growth-grid {
        grid-template-columns: 1fr;
        gap: 32px;
        min-height: 0;
      }

      .alex-growth-copy {
        order: 1;
        text-align: left;
      }

      .alex-growth-media {
        order: 2;
        position: absolute;
        right: -34px;
        bottom: 10px;
        min-height: 0;
        display: flex;
        align-items: flex-end;
        justify-content: flex-end;
        pointer-events: none;
      }

      .alex-growth-media img {
        max-width: min(248px, 60vw);
        height: auto;
        filter: drop-shadow(0 14px 32px rgba(15, 23, 42, 0.22));
      }

      .alex-growth-text-block {
        display: block;
      }

      .alex-growth-text-block+.alex-growth-text-block {
        margin-top: 8px;
      }

      .alex-growth-text-block--narrow {
        max-width: 54%;
      }

      /* MOBILE: titolo su UNA riga, grande */
      .alex-growth-title {
        font-size: clamp(38px, 9.4vw, 46px);
        white-space: nowrap;
        text-wrap: nowrap;
      }

      /* Nascondo il <br> su mobile per avere una riga sola */
      .alex-growth-title-break {
        display: none;
      }

      /* Ondine attive solo mobile: bianche su sfondo grigio, sopra e sotto */
      .alex-growth-wave-top {
        display: block;
        margin-top: 0;
      }

      .alex-growth-wave-bottom {
        display: block;
        margin-top: clamp(30px, 7vw, 40px);
      }
    }

:root {
    --pfql-yellow: #d9e200;
  }

  .pfql-faq-cp {
    position: relative;
    width: 100%;
    color: #0f172a;
    font-family: "Montserrat", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;
    /* aria sopra e sotto su desktop, TUTTA grigia perché è padding interno */
    padding-top: clamp(60px, 9vw, 110px);
    padding-bottom: clamp(44px, 8vw, 80px);
    background: #F5F7FA;
    /* sfondo grigio su desktop */
    margin: -20px 0 0 0 !important;
    /* agganciata alla sezione sopra, niente margine bianco extra */
  }

  .pfql-faq-cp__inner {
    max-width: 980px;
    margin: 0 auto;
    padding-inline: clamp(16px, 3vw, 36px);
  }

  .pfql-faq-cp__head {
    text-align: center;
    margin: 0 auto clamp(20px, 3vw, 28px);
  }

  .pfql-faq-cp__eyebrow {
    display: inline-block;
    margin-bottom: .4rem;
    font-size: .8rem;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: #94a3b8;
  }

  .pfql-faq-cp__title {
    margin: 0 0 .4rem 0;
    font-weight: 700;
    letter-spacing: -.02em;
    line-height: 1.06;
    /* 👇 STESSO FONT-SIZE DI "MISSIONE E VALORI" */
    font-size: clamp(42px, 5.8vw, 72px);
  }

  .pfql-faq-cp__title span {
    display: inline-block;
  }

  /* evidenziatura dietro "frequenti" stile evidenziatore */
  .pfql-faq-cp__title-hi {
    position: relative;
    display: inline-block;
    padding: 0 .06em;
    background: linear-gradient(180deg,
        transparent 50%,
        var(--pfql-yellow) 50%,
        var(--pfql-yellow) 90%,
        transparent 90%);
    border-radius: .18em;
  }

  .pfql-faq-cp__subtitle {
    margin: 0 auto;
    color: #334155;
    line-height: 1.55;
    font-size: clamp(16px, 1.45vw, 21px);
    max-width: 70ch;
  }

  .pfql-accordion-cp {
    display: grid;
    gap: 10px;
    margin-top: clamp(16px, 2vw, 20px);
  }

  .pfql-acc-cp {
    border: 1px solid rgba(15, 23, 42, .12);
    border-radius: 14px;
    background: #fff;
    overflow: hidden;
    transition:
      border-color .25s cubic-bezier(.22, .61, .36, 1),
      box-shadow .35s cubic-bezier(.22, .61, .36, 1),
      background .25s ease;
  }

  .pfql-acc-cp--open {
    border-color: #cdd6e4;
    box-shadow: 0 18px 42px rgba(15, 23, 42, .12);
    background: radial-gradient(140% 180% at 0% 0%, rgba(255, 255, 255, .96), #ffffff 52%, #f9fafb 100%);
  }

  .pfql-acc-cp__summary {
    width: 100%;
    cursor: pointer;
    border: 0;
    background: transparent;
    padding: 14px 16px;
    display: flex;
    align-items: center;
    gap: 10px;
    font-weight: 700;
    font-size: clamp(16px, 1.2vw, 18px);
    text-align: left;
    /* forza colore per evitare il blu di iPhone */
    color: #0f172a;
    -webkit-text-fill-color: #0f172a;
  }

  .pfql-acc-cp__summary:focus-visible {
    outline: 2px solid #facc15;
    outline-offset: 2px;
  }

  .pfql-acc-cp__label {
    flex: 1 1 auto;
    /* anche la label in colore pieno, evita azzurro/link */
    color: #0f172a;
    -webkit-text-fill-color: #0f172a;
  }

  .pfql-acc-cp__chev {
    margin-left: auto;
    transition: transform .26s cubic-bezier(.22, .61, .36, 1);
  }

  .pfql-acc-cp--open .pfql-acc-cp__chev {
    transform: rotate(180deg);
  }

  .pfql-acc-cp__body-wrap {
    overflow: hidden;
    max-height: 0;
    opacity: 0;
    transition:
      max-height .45s cubic-bezier(.22, .61, .36, 1),
      opacity .35s ease-out;
  }

  .pfql-acc-cp--open .pfql-acc-cp__body-wrap {
    opacity: 1;
  }

  .pfql-acc-cp__body {
    padding: 0 16px 14px 16px;
    color: #475569;
    font-size: clamp(14px, 1.05vw, 16px);
    line-height: 1.6;
    transform: translateY(6px);
    transition: transform .35s cubic-bezier(.22, .61, .36, 1);
  }

  .pfql-acc-cp--open .pfql-acc-cp__body {
    transform: translateY(0);
  }

  /* ====== SOLO MOBILE ====== */
  @media (max-width: 960px) {
    .pfql-faq-cp {
      /* sfondo bianco solo mobile */
      background: #ffffff;
      /* sopra va bene (lasciamo aria), sotto un po' meno rispetto a prima */
      padding-top: clamp(56px, 11vw, 96px);
      padding-bottom: clamp(32px, 8vw, 60px);
      margin-top: clamp(32px, 7vw, 60px) !important;
      margin-bottom: clamp(12px, 4vw, 32px) !important;
    }

    /* Elimina il gradino grigio verso le testimonianze su company profile (solo mobile) */
    .page-cp .pfql-faq-cp {
      margin-bottom: 0 !important;
    }

    .pfql-faq-cp__head {
      margin-bottom: clamp(16px, 4vw, 24px);
    }

    /* 👇 niente override sul font-size del titolo:
       resta identico a Missione/Valori anche su mobile */

    .pfql-faq-cp__subtitle {
      font-size: 15px;
      line-height: 1.6;
      max-width: 40rem;
    }

    .pfql-acc-cp__summary {
      padding: 12px 14px;
      font-size: 15px;
    }

    .pfql-acc-cp__body {
      font-size: 14px;
      line-height: 1.6;
    }
  }


    :root {
      --ink: #0b0b0c;
      --muted: #5b728a;
      --fg: #ffffff;
      --border: rgba(255, 255, 255, .14);
      --border-light: rgba(2, 6, 23, .10);
      --ring: rgba(15, 23, 42, .18);
      --gap: 28px;
      --maxw: 1200px;
      --radius: 16px;
    }

    #fqs-footer {
      font-family: "Montserrat", system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
      color: var(--ink);
    }

    /* ===== TOP BAND (chiara, senza logo) ===== */
    .fqs-foot-top {
      position: relative;
      padding: 36px 16px 28px;
      background:
        radial-gradient(130% 120% at 16% -20%, rgba(15, 23, 42, .06), rgba(15, 23, 42, 0) 60%),
        linear-gradient(180deg, #ffffff 0%, #f7f9fc 100%);
      border-top: 1px solid var(--border-light);
      border-bottom: 1px solid var(--border-light);
    }

    .fqs-foot-top .container {
      max-width: var(--maxw);
      margin: 0 auto;
      display: grid;
      gap: 22px;
      grid-template-columns: 1.2fr .8fr;
      align-items: center;
    }

    .fqs-ft-title {
      margin: .2rem 0 0;
      font-size: clamp(18px, 2.2vw, 22px);
      font-weight: 800;
      letter-spacing: -.01em;
    }

    .fqs-ft-sub {
      margin: .25rem 0 0;
      color: var(--muted);
      font-weight: 600;
    }

    .fqs-ft-cta {
      display: flex;
      gap: 10px;
      justify-self: end;
      flex-wrap: wrap;
    }

    .fqs-btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: .55em;
      padding: 12px 16px;
      border-radius: 999px;
      font-weight: 900;
      text-decoration: none;
      border: 1px solid rgba(0, 0, 0, .08);
      box-shadow: 0 2px 0 rgba(255, 255, 255, .45) inset, 0 12px 28px rgba(15, 23, 42, .10);
      transition: transform .15s ease, filter .2s ease, box-shadow .2s ease;
    }

    .fqs-btn:hover {
      transform: translateY(-1px);
      filter: brightness(1.02) saturate(1.02);
    }

    .fqs-btn--dark {
      color: #fff;
      background: linear-gradient(135deg, #1d1f24 0%, #0f1115 100%);
      border-color: rgba(0, 0, 0, .38);
    }

    .fqs-btn--light {
      color: #0b0b0c;
      background:
        radial-gradient(120% 120% at 10% 15%, rgba(255, 255, 255, .92), rgba(255, 255, 255, 0) 44%),
        linear-gradient(135deg, #ffffff 0%, #e9edf3 38%, #cfd6e3 100%);
      border-color: rgba(0, 0, 0, .10);
    }

    .fqs-btn svg {
      width: 18px;
      height: 18px;
      display: block;
    }

    /* ===== DIVIDER sfumato verso il nero ===== */
    .fqs-divider {
      height: 18px;
      background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, .12) 100%);
    }

    /* ===== MAIN BAND (nero glossy) ===== */
    .fqs-foot-main {
      color: #fff;
      background:
        radial-gradient(140% 160% at 50% -80%, rgba(255, 255, 255, .08), rgba(255, 255, 255, 0) 66%),
        linear-gradient(180deg, #23252b 0%, #0f1013 60%, #090a0c 100%);
      border-top: 1px solid var(--border);
      padding: 40px 16px 22px;
    }

    .fqs-foot-grid {
      max-width: var(--maxw);
      margin: 0 auto;
      display: grid;
      gap: var(--gap);
      grid-template-columns: 1.2fr 1fr 1fr 1fr;
      align-items: flex-start;
    }

    /* Colonna Brand/Contatti */
    .fqs-brand {
      margin: 0 0 12px;
    }

    .fqs-brand img {
      height: 46px;
      width: auto;
      display: block;
      filter: drop-shadow(0 6px 14px rgba(0, 0, 0, .45));
    }

    .fqs-desc {
      margin: 0 0 14px;
      color: rgba(255, 255, 255, .82);
      font-weight: 600;
      line-height: 1.55;
    }

    .fqs-contact {
      list-style: none;
      padding: 0;
      margin: 0;
      display: grid;
      gap: 8px;
    }

    .fqs-contact a {
      color: #fff;
      text-decoration: none;
      font-weight: 800;
      display: inline-flex;
      align-items: center;
      gap: .6em;
      border-bottom: 1px dashed transparent;
      transition: border-color .18s ease, opacity .18s ease;
    }

    .fqs-contact a:hover {
      border-bottom-color: rgba(255, 255, 255, .35);
    }

    .fqs-contact svg {
      width: 18px;
      height: 18px;
      display: block;
      fill: currentColor;
    }

    /* Menu colonne */
    .fqs-col h4 {
      margin: 0 0 .4rem;
      font-weight: 900;
      letter-spacing: .02em;
      font-size: clamp(14px, 1.8vw, 15px);
      text-transform: uppercase;
      opacity: .9;
    }

    .fqs-list {
      list-style: none;
      padding: 0;
      margin: 0;
      display: grid;
      gap: 8px;
    }

    .fqs-list a {
      color: #fff;
      text-decoration: none;
      font-weight: 700;
      letter-spacing: .01em;
      display: inline-block;
      padding: 4px 0;
      position: relative;
    }

    /* UNDERLINE: da bianca -> GIALLO ACCENTO */
    .fqs-list a::after {
      content: "";
      position: absolute;
      left: 0;
      right: 0;
      bottom: -2px;
      height: 2px;
      background: var(--accent, #D9E200);
      /* ← gialla */
      transform: scaleX(0);
      transform-origin: left;
      transition: transform .2s ease;
      border-radius: 2px;
    }

    .fqs-list a:hover::after {
      transform: scaleX(1);
    }

    /* Orari */
    .fqs-hours {
      list-style: none;
      padding: 0;
      margin: 0;
      color: rgba(255, 255, 255, .86);
      font-weight: 700;
      display: grid;
      gap: 10px;
    }

    .fqs-hours li {
      display: grid;
      grid-template-columns: 92px 1fr;
      align-items: start;
      column-gap: 12px;
    }

    .fqs-hours .day {
      white-space: nowrap;
    }

    .fqs-hours .time {
      opacity: .95;
    }

    .fqs-hours .status {
      opacity: .8;
      display: block;
      margin-top: 2px;
    }

    /* Legal bar —> LINEA IN GIALLO */
    .fqs-foot-legal {
      border-top: 1px solid var(--accent, #D9E200);
      /* <— gialla */
      margin-top: 60px;
      padding-top: 14px;
      max-width: var(--maxw);
      margin-left: auto;
      margin-right: auto;
      display: flex;
      gap: 10px;
      align-items: center;
      justify-content: space-between;
      flex-wrap: wrap;
      color: rgba(255, 255, 255, .8);
      font-weight: 700;
      font-size: 13px;
    }

    .fqs-legal-links {
      display: flex;
      gap: 14px;
      flex-wrap: wrap;
    }

    .fqs-legal-links a {
      color: #fff;
      text-decoration: none;
      border-bottom: 1px dashed transparent;
    }

    .fqs-legal-links a:hover {
      border-bottom-color: rgba(255, 255, 255, .35);
    }

    /* Back to top */
    .fqs-top {
      position: fixed;
      right: 16px;
      bottom: 16px;
      z-index: 20;
      width: 44px;
      height: 44px;
      border-radius: 12px;
      border: 1px solid rgba(0, 0, 0, .08);
      background: #fff;
      color: #0b0b0c;
      display: grid;
      place-items: center;
      text-decoration: none;
      font-weight: 900;
      box-shadow: 0 8px 28px rgba(2, 6, 23, .18);
      transition: transform .15s ease;
    }

    .fqs-top:hover {
      transform: translateY(-2px);
    }

    /* Responsive */
    @media (max-width:980px) {
      .fqs-foot-top .container {
        grid-template-columns: 1fr;
        text-align: center;
      }

      .fqs-ft-cta {
        justify-self: center;
      }

      .fqs-foot-grid {
        grid-template-columns: 1fr 1fr;
      }
    }

    @media (max-width:640px) {
      .fqs-foot-grid {
        grid-template-columns: 1fr;
      }

      .fqs-foot-legal {
        justify-content: center;
        text-align: center;
      }
    }

    @media (prefers-reduced-motion:reduce) {

      .fqs-btn,
      .fqs-list a::after,
      .fqs-top {
        transition: none !important;
      }
    }


/* ===== CONSULENZA AZIENDALE (consulenza-aziendale.html) ===== */
.pfql-hero-split {
    position: relative;
    isolation: isolate;
    width: 100%;
    margin: -20px 0 0 0 !important;
    padding-top: 0 !important;
    min-height: clamp(480px, 80vh, 840px);
    background:
      radial-gradient(140% 220% at 10% -40%, rgba(255, 255, 255, .65), transparent 60%),
      radial-gradient(160% 200% at 82% -60%, rgba(255, 255, 255, .4), transparent 60%),
      linear-gradient(180deg,
        #c2c8d5 0%,
        #c9cfdd 26%,
        #d2d7e5 52%,
        #e0e4f0 78%,
        #f5f7fa 100%);
    color: #0f172a;
    font-family: "Azo Sans", Inter, system-ui, -apple-system, sans-serif;
    overflow: hidden;
  }

  /* ======================= BOLLA SVG A DESTRA — DESKTOP ======================= */
  .pfql-hero-bolla {
    position: absolute;
    top: 49%;
    right: -26%;
    transform: translateY(-50%);
    width: 1280px;
    height: 640px;
    pointer-events: none;
    z-index: 0;
    opacity: 0;
    transform-origin: center;
    animation: pfql-hero-bolla-in .7s ease-out .12s forwards;
  }

  .pfql-hero-bolla svg {
    width: 100%;
    height: 100%;
    filter: drop-shadow(-12px 6px 22px rgba(15, 23, 42, .18));
  }

  .pfql-hero-bolla img {
    position: absolute;
    top: 47%;
    left: 48%;
    transform: translate(-50%, -50%);
    width: 42%;
    height: auto;
  }

  /* ======================= GRIGLIA DESKTOP ======================= */
  .pfql-hero-split__inner {
    position: relative;
    z-index: 2;
    max-width: 1440px;
    margin: 0 auto;
    padding: clamp(84px, 9vw, 126px) clamp(20px, 4vw, 48px) clamp(96px, 10vw, 130px);
    display: grid;
    grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);
    gap: clamp(28px, 6vw, 80px);
    align-items: center;
    box-sizing: border-box;
  }

  /* ======================= TESTI ======================= */
  .pfql-hero-split__copy {
    max-width: 46rem;
    opacity: 0;
    transform: translateY(18px);
    animation: pfql-hero-copy-in .6s ease-out .06s forwards;
  }

  .pfql-hero-split__eyebrow {
    display: inline-block;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    font-size: .78rem;
    color: #334155;
    background: rgba(255, 255, 255, .6);
    border: 1px solid rgba(15, 23, 42, .06);
    padding: .35rem .9rem;
    border-radius: 999px;
    margin-bottom: .45rem;
  }

  .pfql-hero-split__title {
    margin: 0 0 .3rem 0;
    font-weight: 800;
    letter-spacing: -.02em;
    line-height: 1.02;
    color: #0f172a;
    font-size: clamp(40px, 5.4vw, 68px);
  }

  .pfql-hero-split__title-line {
    display: block;
  }

  .pfql-hero-split__title-az {
    display: inline-block;
    position: relative;
    padding: 0 .04em;
  }

  .pfql-hero-split__title-az::before {
    content: "";
    position: absolute;
    inset: 62% -0.08em -6%;
    background: #d9e200;
    border-radius: .18em;
    z-index: -1;
    transform-origin: left center;
    transform: scaleX(0);
    animation: pfql-hero-highlight-in .9s cubic-bezier(.32, .72, .2, 1) .35s forwards;
  }

  .pfql-hero-split__subtitle {
    margin: .4rem 0 0 0;
    color: #334155;
    opacity: .95;
    line-height: 1.6;
    font-size: clamp(16px, 1.45vw, 21px);
    max-width: 65ch;
  }

  .pfql-hero-split__subtitle strong {
    font-weight: 800;
  }

  @media (min-width: 901px) {
    .pfql-hero-split__subtitle {
      max-width: 50ch;
    }
  }

  /* ======================= TAGS (DESKTOP) ======================= */
  .pfql-hero-split__tags {
    display: flex;
    flex-wrap: nowrap;
    gap: 8px;
    margin-top: 16px;
  }

  .pfql-tags-row {
    display: contents;
  }

  .pfql-hero-tag {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 6px 10px 6px 18px;
    font-size: .75rem;
    /* leggermente ridotti rispetto alla company profile */
    font-weight: 600;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: #111827;
    background: #ffffff;
    border-radius: 999px;
    border: 1px solid rgba(15, 23, 42, .06);
    box-shadow: 0 1px 0 rgba(255, 255, 255, .9) inset;
    white-space: nowrap;
  }

  .pfql-hero-tag::before {
    content: "";
    position: absolute;
    left: 8px;
    width: 6px;
    height: 6px;
    border-radius: 999px;
    background: #d9e200;
  }

  /* LOGO — nascosto di default (visibile SOLO su mobile) */
  .pfql-hero-split__logo {
    display: none;
    margin-top: 20px;
    margin-bottom: 10px;
  }

  .pfql-hero-split__logo-shape {
    position: relative;
    display: block;
    width: 165%;
    height: auto;
    left: 50%;
    transform: translateX(-50%) scale(1.22);
  }

  .pfql-hero-split__logo-img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: block;
    margin: 0 auto;
    max-width: 230px;
    width: 60%;
    height: auto;
  }

  /* ======================= ANIMAZIONI ======================= */
  @keyframes pfql-hero-copy-in {
    from {
      opacity: 0;
      transform: translateY(18px);
    }

    to {
      opacity: 1;
      transform: translateY(0);
    }
  }

  @keyframes pfql-hero-bolla-in {
    from {
      opacity: 0;
      transform: translate(24px, -50%) scale(.97);
    }

    to {
      opacity: 1;
      transform: translate(0, -50%) scale(1);
    }
  }

  @keyframes pfql-hero-highlight-in {
    from {
      transform: scaleX(0);
      opacity: .9;
    }

    to {
      transform: scaleX(1);
      opacity: 1;
    }
  }

  /* ======================= RESPONSIVE — MOBILE ======================= */
  @media (max-width: 900px) {

    .pfql-hero-bolla {
      display: none !important;
    }

    .pfql-hero-split {
      overflow-x: hidden;
      /* blocca eventuale scroll orizzontale residuo */
    }

    .pfql-hero-split__inner {
      max-width: 100%;
      margin: 0 auto;
      padding: clamp(40px, 8vw, 56px) clamp(16px, 4.5vw, 26px) clamp(72px, 10vw, 110px);
      display: grid;
      grid-template-columns: 1fr;
      gap: clamp(24px, 5vw, 40px);
      align-items: center;
      text-align: center;
      box-sizing: border-box;
    }

    .pfql-hero-split__copy {
      margin: 0 auto;
    }

    .pfql-hero-split__eyebrow {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: .08em;
      font-weight: 700;
      letter-spacing: .12em;
      text-transform: uppercase;
      font-size: .78rem;
      color: #334155;
      background: linear-gradient(180deg, #ffffff 0%, #f4f5f7 100%);
      border: 1px solid rgba(15, 23, 42, .08);
      box-shadow:
        0 1px 0 rgba(255, 255, 255, .8) inset,
        0 6px 14px rgba(15, 23, 42, .08);
      padding: .35rem .9rem;
      border-radius: 999px;
      margin-bottom: .45rem;
    }

    /* TITOLO MOBILE: quasi grande quanto Company Profile, ma un filo meno */
    .pfql-hero-split__title {
      font-size: clamp(44px, 8.2vw, 54px);
    }

    /* Tre righe fisse: Formazione come / Acceleratore di / Eccellenza */
    .pfql-hero-split__title-line {
      white-space: nowrap;
    }

    .pfql-hero-split__logo {
      position: relative;
      display: flex;
      justify-content: center;
      align-items: center;
      margin-top: 24px;
      margin-bottom: 16px;
      margin-left: calc(-1 * clamp(16px, 4.5vw, 26px));
      margin-right: calc(-1 * clamp(16px, 4.5vw, 26px));
    }

    /* TAGS MOBILE — più piccoli e centrati, niente taglio a destra */
    .pfql-hero-split__tags {
      display: flex;
      flex-direction: column;
      gap: 10px;
      margin-top: 16px;
      max-width: 420px;
      margin-left: auto;
      margin-right: auto;
    }

    .pfql-tags-row {
      display: flex;
      gap: 10px;
      width: 100%;
      justify-content: center;
    }

    .pfql-hero-tag {
      justify-content: center;
      font-size: .7rem;
      padding: 5px 10px 5px 14px;
      max-width: 100%;
    }

    /* larghezze relative ritoccate per non sforare il viewport */
    .pfql-tag--sm {
      flex: 0 0 38%;
    }

    .pfql-tag--lg {
      flex: 0 0 62%;
    }
  }

  /* ========= SCHERMI GRANDI: SCALA E AVVICINA LA BOLLA ========= */
  @media (min-width: 1440px) and (max-width: 1919px) {
    .pfql-hero-bolla {
      right: -20%;
      width: clamp(1280px, 60vw, 1500px);
      height: auto;
    }
  }

  @media (min-width: 1920px) {
    .pfql-hero-bolla {
      right: -14%;
      width: clamp(1400px, 58vw, 1800px);
      height: auto;
    }
  }

  @media (prefers-reduced-motion: reduce) {

    .pfql-hero-split__copy,
    .pfql-hero-bolla {
      animation: none !important;
      opacity: 1 !important;
      transform: none !important;
    }
  }

.alex-qual-wave {
      position: relative;
      width: 100%;
      margin: -20px 0 -1px 0 !important;
      /* -1px sotto per coprire eventuale bordino */
      padding: 0 !important;
      background: #F5F7FA;
      /* sfondo grigio */
      overflow: hidden;
      line-height: 0;
      font-family: "Azo Sans", "azo-sans-web", Inter, system-ui, -apple-system,
        BlinkMacSystemFont, "Segoe UI", sans-serif;
    }

    .alex-qual-svg {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      display: block;
      pointer-events: none;
      z-index: 0;
    }

    /* Parte bianca lato sinistro su desktop */
    .alex-qual-svg #alex-qual-path {
      fill: #ffffff;
      stroke: none;
    }

    .alex-qual-inner {
      position: relative;
      z-index: 1;
      max-width: 1440px;
      margin: 0 auto;
      padding: clamp(64px, 7vw, 96px) clamp(20px, 4vw, 48px) clamp(80px, 9vw, 110px);
      line-height: 1.4;
      color: #0f172a;
      pointer-events: auto;
    }

    .alex-qual-grid {
      display: grid;
      grid-template-columns: minmax(0, 1.25fr) minmax(0, 1.1fr);
      gap: clamp(32px, 6vw, 96px);
      align-items: center;
      min-height: 420px;
      position: relative;
    }

    /* MEDIA SINISTRA (desktop) */
    .alex-qual-media {
      display: flex;
      align-items: center;
      justify-content: center;
      min-height: 320px;
    }

    .alex-qual-media img {
      max-width: 100%;
      max-width: 540px;
      /* un pelo più grande di prima */
      height: auto;
      filter: drop-shadow(0 18px 40px rgba(15, 23, 42, 0.18));
    }

    /* TESTO DESTRA */
    .alex-qual-copy {
      max-width: 44rem;
    }

    .alex-qual-eyebrow {
      display: inline-block;
      margin-bottom: .6rem;
      font-size: .8rem;
      letter-spacing: .16em;
      text-transform: uppercase;
      color: #94a3b8;
    }

    .alex-qual-eyebrow-line {
      display: inline;
    }

    .alex-qual-title {
      margin: 0;
      font-weight: 800;
      letter-spacing: -.03em;
      line-height: 1.02;
      /* 2px circa in meno rispetto a Missione/Valori */
      font-size: clamp(40px, 5.4vw, 68px);
    }

    .alex-qual-title span {
      display: inline-block;
    }

    .alex-qual-title-hi {
      position: relative;
      padding: 0 .04em;
    }

    /* evidenziatura SOLO dietro "Qualità" */
    .alex-qual-title-hi::before {
      content: "";
      position: absolute;
      inset: 64% -0.1em -8%;
      background: #d9e200;
      border-radius: .2em;
      z-index: -1;
    }

    .alex-qual-subtitle {
      margin: 18px 0 0 0;
      font-size: clamp(15px, 1.3vw, 18px);
      line-height: 1.7;
      color: #4b5563;
    }

    .alex-qual-subtitle strong {
      font-weight: 800;
      color: #111827;
    }

    .alex-qual-text-block {
      display: inline;
    }

    .alex-qual-text-block--narrow {
      /* desktop: nessuna variazione, solo mobile */
    }

    /* Wave bottom: di default nascosta (la usiamo solo mobile) */
    .alex-qual-wave-bottom {
      display: none;
      width: 100%;
      line-height: 0;
    }

    .alex-qual-wave-bottom svg {
      display: block;
      width: 100%;
      height: auto;
    }

    /* ========= MOBILE ========= */
    @media (max-width: 960px) {

      /* niente onda bianca grande su mobile */
      .alex-qual-svg {
        display: none;
      }

      .alex-qual-inner {
        /* leggermente più corto sotto, il resto lo fa la wave */
        padding: clamp(40px, 8vw, 56px) clamp(18px, 5vw, 32px) clamp(40px, 9vw, 52px);
      }

      .alex-qual-grid {
        grid-template-columns: 1fr;
        gap: 32px;
        min-height: 0;
      }

      .alex-qual-copy {
        order: 1;
        text-align: left;
      }

      /* PRETITOLO: due righe fisse su mobile */
      .alex-qual-eyebrow-line {
        display: block;
        white-space: nowrap;
      }

      /* immagine nel buco: un po' più in alto e leggermente più grande (già aumentata prima) */
      .alex-qual-media {
        order: 2;
        position: absolute;
        right: -34px;
        bottom: 18px;
        min-height: 0;
        display: flex;
        align-items: flex-end;
        justify-content: flex-end;
        pointer-events: none;
      }

      .alex-qual-media img {
        max-width: min(244px, 60vw);
        height: auto;
        filter: drop-shadow(0 14px 32px rgba(15, 23, 42, 0.22));
      }

      /* TITOLO MOBILE: stesso range “forte” del company profile,
         ma con clamp collegato come da richiesta iniziale */
      .alex-qual-title {
        font-size: clamp(42px, 5.8vw, 72px);
      }

      .alex-qual-text-block {
        display: block;
      }

      /* niente righe vuote tra blocchi: margine 0 */
      .alex-qual-text-block+.alex-qual-text-block {
        margin-top: 0;
      }

      /* solo l’ultimo blocco (stretto) ha un filo di spazio sopra */
      .alex-qual-text-block--narrow {
        max-width: 54%;
        margin-top: 6px;
      }

      /* Wave finale attiva solo mobile */
      .alex-qual-wave-bottom {
        display: block;
        margin-top: clamp(30px, 7vw, 40px);
      }
    }

:root {
    --pfql-bg: #ffffff;
    --pfql-yellow: #d9e200;
    --pfql-ink: #0f172a;
  }

  .pfql-ceo {
    position: relative;
    isolation: isolate;
    width: 100%;
    /* aria sopra e sotto la sezione */
    margin: clamp(40px, 7vw, 64px) 0 !important;
    background: var(--pfql-bg);
    font-family: "Azo Sans", "azo-sans-web", Inter, system-ui, -apple-system, sans-serif;
    color: var(--pfql-ink);
    /* padding desktop come in origine (testo allineato giusto) */
    padding: 0 clamp(32px, 6vw, 78px) clamp(32px, 5vw, 80px);
    overflow: visible;
  }

  .pfql-ceo__inner {
    max-width: 1440px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
    gap: clamp(32px, 5vw, 82px);
    align-items: center;
  }

  /* ---------------- COPY (SINISTRA) ---------------- */
  .pfql-ceo__copy {
    max-width: 40rem;
    position: relative;
    top: -6px;
    opacity: 0;
    transform: translateY(20px);
  }

  .pfql-ceo__eyebrow {
    margin: 0 0 .5rem 0;
    font-size: .78rem;
    font-weight: 600;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: #9ca3af;
  }

  .pfql-ceo__title {
    margin: 0 0 1.35rem 0;
    font-weight: 800;
    letter-spacing: -.02em;
    line-height: 1.05;
    /* FONT-SIZE ALLINEATO A "Formazione Qualità" */
    font-size: clamp(42px, 5.8vw, 72px);
  }

  .pfql-ceo__title span {
    display: inline-block;
  }

  .pfql-ceo__name {
    position: relative;
    display: inline-block;
    padding: 0 .04em;
  }

  /* evidenziatura gialla stile Eccellenza */
  .pfql-ceo__name::before {
    content: "";
    position: absolute;
    inset: 62% -0.08em -6%;
    background: #d9e200;
    border-radius: .18em;
    z-index: -1;
    transform-origin: left center;
    transform: scaleX(0);
    animation: pfql-highlight-in .9s cubic-bezier(.32, .72, .2, 1) .35s forwards;
  }

  .pfql-ceo__subtitle {
    margin: .35rem 0 0 0;
    font-size: clamp(15px, 1.3vw, 18px);
    line-height: 1.6;
    color: #4b5563;
  }

  .pfql-ceo__subtitle strong {
    font-weight: 800;
  }

  /* blocchi di testo per gestire il "buco" immagine su mobile */
  .pfql-ceo__text-block {
    display: inline;
  }

  .pfql-ceo__text-block--narrow {
    /* restringiamo solo su mobile */
  }

  .pfql-ceo__cta {
    display: none;
  }

  /* ---------------- MEDIA (DESTRA) — SOLO IMMAGINE ---------------- */
  .pfql-ceo__media {
    display: flex;
    justify-content: center;
    align-items: center;
    opacity: 0;
    transform: translateY(26px);
  }

  .pfql-process-img-wrap {
    width: min(520px, 92vw);
  }

  .pfql-process-img-wrap img {
    display: block;
    width: 100%;
    height: auto;
    filter: drop-shadow(0 18px 40px rgba(15, 23, 42, 0.18));
  }

  /* ================= MOBILE ================= */
  @media (max-width: 900px) {
    .pfql-ceo {
      overflow: hidden;
      /* per tenere l’immagine dentro il box bianco */
      padding: clamp(40px, 9vw, 64px) clamp(18px, 5vw, 32px) clamp(56px, 10vw, 80px);
    }

    .pfql-ceo__inner {
      grid-template-columns: 1fr;
      gap: 32px;
      min-height: 0;
      position: relative;
    }

    .pfql-ceo__copy {
      max-width: 100%;
      top: -4px;
    }

    .pfql-ceo__subtitle {
      position: relative;
    }

    .pfql-ceo__text-block {
      display: block;
    }

    /* solo il SECONDO blocco ha spazio sopra, il terzo (stretto) no → niente riga vuota dopo "sintomo." */
    .pfql-ceo__subtitle .pfql-ceo__text-block:nth-of-type(2) {
      margin-top: 8px;
    }

    .pfql-ceo__text-block--narrow {
      max-width: 54%;
      margin-top: 0;
    }

    .pfql-ceo__media {
      position: absolute;
      right: -28px;
      bottom: 42px;
      /* prima 12px, ora +30px → più in alto */
      min-height: 0;
      display: flex;
      align-items: flex-end;
      justify-content: flex-end;
      pointer-events: none;
      transform: translateY(0);
    }

    .pfql-process-img-wrap {
      width: min(212px, 54vw);
      /* un pelo più piccola */
    }
  }

  /* ================= ANIMAZIONI ================= */

  .pfql-ceo--visible .pfql-ceo__copy {
    animation: pfql-ceo-copy-in .7s ease-out forwards;
  }

  .pfql-ceo--visible .pfql-ceo__media {
    animation: pfql-ceo-media-in .75s ease-out .08s forwards;
  }

  @keyframes pfql-ceo-copy-in {
    from {
      opacity: 0;
      transform: translateY(20px);
    }

    to {
      opacity: 1;
      transform: translateY(0);
    }
  }

  @keyframes pfql-ceo-media-in {
    from {
      opacity: 0;
      transform: translateY(26px) scale(.96);
    }

    to {
      opacity: 1;
      transform: translateY(0) scale(1);
    }
  }

  /* evidenziatore stile HERO (solo draw, niente pulse) */
  @keyframes pfql-highlight-in {
    from {
      transform: scaleX(0);
      opacity: .9;
    }

    to {
      transform: scaleX(1);
      opacity: 1;
    }
  }

  @media (prefers-reduced-motion: reduce) {

    .pfql-ceo__copy,
    .pfql-ceo__media {
      animation: none !important;
      opacity: 1 !important;
      transform: none !important;
    }

    .pfql-ceo__name::before {
      animation: none !important;
      transform: scaleX(1) !important;
    }
  }

.alex-wave-tqm {
      position: relative;
      width: 100%;
      margin: -20px 0 -1px 0 !important;
      padding: 0 !important;
      background: #ffffff;
      /* DESKTOP: sfondo BIANCO */
      overflow: hidden;
      line-height: 0;
      font-family: "Azo Sans", "azo-sans-web", Inter, system-ui, -apple-system,
        BlinkMacSystemFont, "Segoe UI", sans-serif;
    }

    .alex-wave-svg-tqm {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      display: block;
      pointer-events: none;
      z-index: 0;
    }

    /* Onda grande dietro immagine: GRIGIO (bolla grigia su sfondo bianco) */
    .alex-wave-svg-tqm #alex-wave-path-tqm {
      fill: #F5F7FA;
      stroke: none;
    }

    .alex-tqm-inner {
      position: relative;
      z-index: 1;
      max-width: 1440px;
      margin: 0 auto;
      padding: clamp(64px, 7vw, 96px) clamp(20px, 4vw, 48px) clamp(80px, 9vw, 110px);
      line-height: 1.4;
      color: #0f172a;
      pointer-events: auto;
    }

    .alex-tqm-grid {
      display: grid;
      grid-template-columns: minmax(0, 1.25fr) minmax(0, 1.1fr);
      gap: clamp(32px, 6vw, 96px);
      align-items: center;
      min-height: 420px;
      position: relative;
    }

    .alex-tqm-media {
      display: flex;
      align-items: center;
      justify-content: center;
      min-height: 320px;
    }

    .alex-tqm-media img {
      max-width: 100%;
      max-width: 520px;
      height: auto;
      filter: drop-shadow(0 18px 40px rgba(15, 23, 42, 0.18));
    }

    .alex-tqm-copy {
      max-width: 44rem;
    }

    .alex-tqm-eyebrow {
      display: inline-block;
      margin-bottom: .6rem;
      font-size: .8rem;
      letter-spacing: .16em;
      text-transform: uppercase;
      color: #94a3b8;
    }

    .alex-tqm-title {
      margin: 0;
      font-weight: 800;
      letter-spacing: -.03em;
      line-height: 1.02;
      font-size: clamp(42px, 5.8vw, 72px);
    }

    .alex-tqm-title span {
      display: inline-block;
    }

    .alex-tqm-title-break {
      display: inline;
    }

    .alex-tqm-title-hi {
      position: relative;
      padding: 0 .04em;
    }

    /* Evidenziatura SOLO dietro "Manager" */
    .alex-tqm-title-hi::before {
      content: "";
      position: absolute;
      inset: 64% -0.1em -8%;
      background: #d9e200;
      border-radius: .2em;
      z-index: -1;
    }

    .alex-tqm-subtitle {
      margin: 18px 0 0 0;
      font-size: clamp(15px, 1.3vw, 18px);
      line-height: 1.7;
      color: #4b5563;
    }

    .alex-tqm-subtitle strong {
      font-weight: 800;
      color: #111827;
    }

    .alex-tqm-text-block {
      display: inline;
    }

    .alex-tqm-text-block--narrow {
      /* desktop: nessuna variazione, solo mobile */
    }

    /* Spazio leggero tra i blocchi solo desktop */
    .alex-tqm-text-block+.alex-tqm-text-block {
      margin-top: 8px;
    }

    .alex-tqm-wave-top,
    .alex-tqm-wave-bottom {
      display: none;
      width: 100%;
      line-height: 0;
    }

    .alex-tqm-wave-top svg,
    .alex-tqm-wave-bottom svg {
      display: block;
      width: 100%;
      height: auto;
    }

    /* ========= MOBILE ========= */
    @media (max-width: 960px) {

      /* niente onda grande su mobile, ma sfondo grigio */
      .alex-wave-svg-tqm {
        display: none;
      }
      .alex-wave-tqm {
        background: #F5F7FA;
      }

      .alex-tqm-inner {
        /* molto meno spazio sopra per attaccarsi meglio alla sezione precedente */
        padding: clamp(8px, 3vw, 18px) clamp(18px, 5vw, 32px) clamp(40px, 9vw, 52px);
      }

      .alex-tqm-grid {
        grid-template-columns: 1fr;
        gap: 32px;
        min-height: 0;
      }

      .alex-tqm-copy {
        order: 1;
        text-align: left;
      }

      .alex-tqm-media {
        order: 2;
        position: absolute;
        right: -34px;
        bottom: 10px;
        min-height: 0;
        display: flex;
        align-items: flex-end;
        justify-content: flex-end;
        pointer-events: none;
      }

      .alex-tqm-media img {
        max-width: min(220px, 54vw);
        height: auto;
        filter: drop-shadow(0 14px 32px rgba(15, 23, 42, 0.22));
      }

      .alex-tqm-text-block {
        display: block;
      }

      /* 👉 NESSUNA RIGA VUOTA TRA I DUE BLOCCHI DI TESTO SU MOBILE */
      .alex-tqm-text-block+.alex-tqm-text-block {
        margin-top: 0;
      }

      .alex-tqm-text-block--narrow {
        max-width: 54%;
      }

      /* MOBILE: stesse dimensioni, ma 2 righe (Temporary / Quality Manager) */
      .alex-tqm-title {
        font-size: clamp(38px, 9.4vw, 46px);
        white-space: normal;
        text-wrap: balance;
      }

      .alex-tqm-title-break {
        display: inline;
      }

      /* Ondine attive solo mobile: bianche su sfondo grigio, sopra e sotto */
      .alex-tqm-wave-top {
        display: block;
        margin-top: 0;
      }

      .alex-tqm-wave-bottom {
        display: block;
        margin-top: clamp(30px, 7vw, 40px);
      }
    }

:root {
    --pfql-yellow: #d9e200;
  }

  .pfql-faq-cp {
    position: relative;
    width: 100%;
    color: #0f172a;
    font-family: "Montserrat", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;
    /* aria sopra e sotto su desktop, TUTTA grigia perché è padding interno */
    padding-top: clamp(60px, 9vw, 110px);
    padding-bottom: clamp(44px, 8vw, 80px);
    background: #F5F7FA;
    /* sfondo grigio su desktop */
    margin: -20px 0 0 0 !important;
    /* agganciata alla sezione sopra, niente margine bianco extra */
  }

  .pfql-faq-cp__inner {
    max-width: 980px;
    margin: 0 auto;
    padding-inline: clamp(16px, 3vw, 36px);
  }

  .pfql-faq-cp__head {
    text-align: center;
    margin: 0 auto clamp(20px, 3vw, 28px);
  }

  .pfql-faq-cp__eyebrow {
    display: inline-block;
    margin-bottom: .4rem;
    font-size: .8rem;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: #94a3b8;
  }

  .pfql-faq-cp__title {
    margin: 0 0 .4rem 0;
    font-weight: 700;
    letter-spacing: -.02em;
    line-height: 1.06;
    /* 👇 STESSO FONT-SIZE DI "MISSIONE E VALORI" */
    font-size: clamp(42px, 5.8vw, 72px);
  }

  .pfql-faq-cp__title span {
    display: inline-block;
  }

  /* evidenziatura dietro "frequenti" stile evidenziatore */
  .pfql-faq-cp__title-hi {
    position: relative;
    display: inline-block;
    padding: 0 .06em;
    background: linear-gradient(180deg,
        transparent 50%,
        var(--pfql-yellow) 50%,
        var(--pfql-yellow) 90%,
        transparent 90%);
    border-radius: .18em;
  }

  .pfql-faq-cp__subtitle {
    margin: 0 auto;
    color: #334155;
    line-height: 1.55;
    font-size: clamp(16px, 1.45vw, 21px);
    max-width: 70ch;
  }

  .pfql-accordion-cp {
    display: grid;
    gap: 10px;
    margin-top: clamp(16px, 2vw, 20px);
  }

  .pfql-acc-cp {
    border: 1px solid rgba(15, 23, 42, .12);
    border-radius: 14px;
    background: #fff;
    overflow: hidden;
    transition:
      border-color .25s cubic-bezier(.22, .61, .36, 1),
      box-shadow .35s cubic-bezier(.22, .61, .36, 1),
      background .25s ease;
  }

  .pfql-acc-cp--open {
    border-color: #cdd6e4;
    box-shadow: 0 18px 42px rgba(15, 23, 42, .12);
    background: radial-gradient(140% 180% at 0% 0%, rgba(255, 255, 255, .96), #ffffff 52%, #f9fafb 100%);
  }

  .pfql-acc-cp__summary {
    width: 100%;
    cursor: pointer;
    border: 0;
    background: transparent;
    padding: 14px 16px;
    display: flex;
    align-items: center;
    gap: 10px;
    font-weight: 700;
    font-size: clamp(16px, 1.2vw, 18px);
    text-align: left;
    /* forza colore per evitare il blu di iPhone */
    color: #0f172a;
    -webkit-text-fill-color: #0f172a;
  }

  .pfql-acc-cp__summary:focus-visible {
    outline: 2px solid #facc15;
    outline-offset: 2px;
  }

  .pfql-acc-cp__label {
    flex: 1 1 auto;
    /* anche la label in colore pieno, evita azzurro/link */
    color: #0f172a;
    -webkit-text-fill-color: #0f172a;
  }

  .pfql-acc-cp__chev {
    margin-left: auto;
    transition: transform .26s cubic-bezier(.22, .61, .36, 1);
  }

  .pfql-acc-cp--open .pfql-acc-cp__chev {
    transform: rotate(180deg);
  }

  .pfql-acc-cp__body-wrap {
    overflow: hidden;
    max-height: 0;
    opacity: 0;
    transition:
      max-height .45s cubic-bezier(.22, .61, .36, 1),
      opacity .35s ease-out;
  }

  .pfql-acc-cp--open .pfql-acc-cp__body-wrap {
    opacity: 1;
  }

  .pfql-acc-cp__body {
    padding: 0 16px 14px 16px;
    color: #475569;
    font-size: clamp(14px, 1.05vw, 16px);
    line-height: 1.6;
    transform: translateY(6px);
    transition: transform .35s cubic-bezier(.22, .61, .36, 1);
  }

  .pfql-acc-cp--open .pfql-acc-cp__body {
    transform: translateY(0);
  }

  /* ====== SOLO MOBILE ====== */
  @media (max-width: 960px) {
    .pfql-faq-cp {
      /* sfondo bianco solo mobile */
      background: #ffffff;
      /* sopra va bene (lasciamo aria), sotto un po' meno rispetto a prima */
      padding-top: clamp(56px, 11vw, 96px);
      padding-bottom: clamp(32px, 8vw, 60px);
      margin-top: clamp(32px, 7vw, 60px) !important;
      margin-bottom: clamp(12px, 4vw, 32px) !important;
    }

    /* Company Profile: niente banda grigia tra FAQ e testimonianze */
    body.page-cp .pfql-faq-cp,
    body.page-cp .pfql-testimonials {
      background: #ffffff;
    }
    body.page-cp .pfql-faq-cp {
      margin: 0 !important;
    }
    body.page-cp .pfql-faq-cp {
      padding-bottom: clamp(32px, 8vw, 60px);
    }
    body.page-cp .pfql-testimonials {
      /* da mobile testimonianze più vicine a Jaafar */
      margin-top: -28px !important;
      padding-top: clamp(12px, 4vw, 28px);
    }

    .pfql-faq-cp__head {
      margin-bottom: clamp(16px, 4vw, 24px);
    }

    /* 👇 niente override sul font-size del titolo:
       resta identico a Missione/Valori anche su mobile */

    .pfql-faq-cp__subtitle {
      font-size: 15px;
      line-height: 1.6;
      max-width: 40rem;
    }

    .pfql-acc-cp__summary {
      padding: 12px 14px;
      font-size: 15px;
    }

    .pfql-acc-cp__body {
      font-size: 14px;
      line-height: 1.6;
    }
  }


    :root {
      --ink: #0b0b0c;
      --muted: #5b728a;
      --fg: #ffffff;
      --border: rgba(255, 255, 255, .14);
      --border-light: rgba(2, 6, 23, .10);
      --ring: rgba(15, 23, 42, .18);
      --gap: 28px;
      --maxw: 1200px;
      --radius: 16px;
    }

    #fqs-footer {
      font-family: "Montserrat", system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
      color: var(--ink);
    }

    /* ===== TOP BAND (chiara, senza logo) ===== */
    .fqs-foot-top {
      position: relative;
      padding: 36px 16px 28px;
      background:
        radial-gradient(130% 120% at 16% -20%, rgba(15, 23, 42, .06), rgba(15, 23, 42, 0) 60%),
        linear-gradient(180deg, #ffffff 0%, #f7f9fc 100%);
      border-top: 1px solid var(--border-light);
      border-bottom: 1px solid var(--border-light);
    }

    .fqs-foot-top .container {
      max-width: var(--maxw);
      margin: 0 auto;
      display: grid;
      gap: 22px;
      grid-template-columns: 1.2fr .8fr;
      align-items: center;
    }

    .fqs-ft-title {
      margin: .2rem 0 0;
      font-size: clamp(18px, 2.2vw, 22px);
      font-weight: 800;
      letter-spacing: -.01em;
    }

    .fqs-ft-sub {
      margin: .25rem 0 0;
      color: var(--muted);
      font-weight: 600;
    }

    .fqs-ft-cta {
      display: flex;
      gap: 10px;
      justify-self: end;
      flex-wrap: wrap;
    }

    .fqs-btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: .55em;
      padding: 12px 16px;
      border-radius: 999px;
      font-weight: 900;
      text-decoration: none;
      border: 1px solid rgba(0, 0, 0, .08);
      box-shadow: 0 2px 0 rgba(255, 255, 255, .45) inset, 0 12px 28px rgba(15, 23, 42, .10);
      transition: transform .15s ease, filter .2s ease, box-shadow .2s ease;
    }

    .fqs-btn:hover {
      transform: translateY(-1px);
      filter: brightness(1.02) saturate(1.02);
    }

    .fqs-btn--dark {
      color: #fff;
      background: linear-gradient(135deg, #1d1f24 0%, #0f1115 100%);
      border-color: rgba(0, 0, 0, .38);
    }

    .fqs-btn--light {
      color: #0b0b0c;
      background:
        radial-gradient(120% 120% at 10% 15%, rgba(255, 255, 255, .92), rgba(255, 255, 255, 0) 44%),
        linear-gradient(135deg, #ffffff 0%, #e9edf3 38%, #cfd6e3 100%);
      border-color: rgba(0, 0, 0, .10);
    }

    .fqs-btn svg {
      width: 18px;
      height: 18px;
      display: block;
    }

    /* ===== DIVIDER sfumato verso il nero ===== */
    .fqs-divider {
      height: 18px;
      background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, .12) 100%);
    }

    /* ===== MAIN BAND (nero glossy) ===== */
    .fqs-foot-main {
      color: #fff;
      background:
        radial-gradient(140% 160% at 50% -80%, rgba(255, 255, 255, .08), rgba(255, 255, 255, 0) 66%),
        linear-gradient(180deg, #23252b 0%, #0f1013 60%, #090a0c 100%);
      border-top: 1px solid var(--border);
      padding: 40px 16px 22px;
    }

    .fqs-foot-grid {
      max-width: var(--maxw);
      margin: 0 auto;
      display: grid;
      gap: var(--gap);
      grid-template-columns: 1.2fr 1fr 1fr 1fr;
      align-items: flex-start;
    }

    /* Colonna Brand/Contatti */
    .fqs-brand {
      margin: 0 0 12px;
    }

    .fqs-brand img {
      height: 46px;
      width: auto;
      display: block;
      filter: drop-shadow(0 6px 14px rgba(0, 0, 0, .45));
    }

    .fqs-desc {
      margin: 0 0 14px;
      color: rgba(255, 255, 255, .82);
      font-weight: 600;
      line-height: 1.55;
    }

    .fqs-contact {
      list-style: none;
      padding: 0;
      margin: 0;
      display: grid;
      gap: 8px;
    }

    .fqs-contact a {
      color: #fff;
      text-decoration: none;
      font-weight: 800;
      display: inline-flex;
      align-items: center;
      gap: .6em;
      border-bottom: 1px dashed transparent;
      transition: border-color .18s ease, opacity .18s ease;
    }

    .fqs-contact a:hover {
      border-bottom-color: rgba(255, 255, 255, .35);
    }

    .fqs-contact svg {
      width: 18px;
      height: 18px;
      display: block;
      fill: currentColor;
    }

    /* Menu colonne */
    .fqs-col h4 {
      margin: 0 0 .4rem;
      font-weight: 900;
      letter-spacing: .02em;
      font-size: clamp(14px, 1.8vw, 15px);
      text-transform: uppercase;
      opacity: .9;
    }

    .fqs-list {
      list-style: none;
      padding: 0;
      margin: 0;
      display: grid;
      gap: 8px;
    }

    .fqs-list a {
      color: #fff;
      text-decoration: none;
      font-weight: 700;
      letter-spacing: .01em;
      display: inline-block;
      padding: 4px 0;
      position: relative;
    }

    /* UNDERLINE: da bianca -> GIALLO ACCENTO */
    .fqs-list a::after {
      content: "";
      position: absolute;
      left: 0;
      right: 0;
      bottom: -2px;
      height: 2px;
      background: var(--accent, #D9E200);
      /* ← gialla */
      transform: scaleX(0);
      transform-origin: left;
      transition: transform .2s ease;
      border-radius: 2px;
    }

    .fqs-list a:hover::after {
      transform: scaleX(1);
    }

    /* Orari */
    .fqs-hours {
      list-style: none;
      padding: 0;
      margin: 0;
      color: rgba(255, 255, 255, .86);
      font-weight: 700;
      display: grid;
      gap: 10px;
    }

    .fqs-hours li {
      display: grid;
      grid-template-columns: 92px 1fr;
      align-items: start;
      column-gap: 12px;
    }

    .fqs-hours .day {
      white-space: nowrap;
    }

    .fqs-hours .time {
      opacity: .95;
    }

    .fqs-hours .status {
      opacity: .8;
      display: block;
      margin-top: 2px;
    }

    /* Legal bar —> LINEA IN GIALLO */
    .fqs-foot-legal {
      border-top: 1px solid var(--accent, #D9E200);
      /* <— gialla */
      margin-top: 60px;
      padding-top: 14px;
      max-width: var(--maxw);
      margin-left: auto;
      margin-right: auto;
      display: flex;
      gap: 10px;
      align-items: center;
      justify-content: space-between;
      flex-wrap: wrap;
      color: rgba(255, 255, 255, .8);
      font-weight: 700;
      font-size: 13px;
    }

    .fqs-legal-links {
      display: flex;
      gap: 14px;
      flex-wrap: wrap;
    }

    .fqs-legal-links a {
      color: #fff;
      text-decoration: none;
      border-bottom: 1px dashed transparent;
    }

    .fqs-legal-links a:hover {
      border-bottom-color: rgba(255, 255, 255, .35);
    }

    /* Back to top */
    .fqs-top {
      position: fixed;
      right: 16px;
      bottom: 16px;
      z-index: 20;
      width: 44px;
      height: 44px;
      border-radius: 12px;
      border: 1px solid rgba(0, 0, 0, .08);
      background: #fff;
      color: #0b0b0c;
      display: grid;
      place-items: center;
      text-decoration: none;
      font-weight: 900;
      box-shadow: 0 8px 28px rgba(2, 6, 23, .18);
      transition: transform .15s ease;
    }

    .fqs-top:hover {
      transform: translateY(-2px);
    }

    /* Responsive */
    @media (max-width:980px) {
      .fqs-foot-top .container {
        grid-template-columns: 1fr;
        text-align: center;
      }

      .fqs-ft-cta {
        justify-self: center;
      }

      .fqs-foot-grid {
        grid-template-columns: 1fr 1fr;
      }
    }

    @media (max-width:640px) {
      .fqs-foot-grid {
        grid-template-columns: 1fr;
      }

      .fqs-foot-legal {
        justify-content: center;
        text-align: center;
      }
    }

    @media (prefers-reduced-motion:reduce) {

      .fqs-btn,
      .fqs-list a::after,
      .fqs-top {
        transition: none !important;
      }
    }
