/* =========================================================================
   PMISmart — foglio di stile principale del tema
   Architettura ITCSS: Tools > Generic > Objects > Elements > Components > Utilities
   ========================================================================= */

/* Tools — i macro vengono importati nei singoli file dove servono */

/* Token di design generati dalle impostazioni del tema */



:root {
  /* ---- Colori ---- */
  --pmi-primary: rgba(190, 58, 44, 1.0)
;
  --pmi-primary-hex: #BE3A2C;
  --pmi-primary-rgb: 190, 58, 44;
  --pmi-secondary: rgba(190, 58, 44, 1.0)
;
  --pmi-secondary-rgb: 190, 58, 44;
  --pmi-ink: rgba(25, 28, 32, 1)
;
  --pmi-ink-rgb: 25, 28, 32;
  --pmi-muted: rgba(138, 143, 152, 1)
;
  --pmi-surface: rgba(252, 251, 248, 1)
;
  --pmi-surface-alt: rgba(255, 255, 255, 1)
;
  --pmi-surface-dark: rgba(25, 28, 32, 1)
;
  --pmi-border: rgba(25, 28, 32, 0.09)
;
  --pmi-success: rgba(14, 138, 123, 1)
;
  --pmi-warning: rgba(180, 105, 14, 1)
;
  --pmi-error: rgba(190, 58, 44, 1)
;

  /* ---- Tipografia ---- */
  --pmi-font-body: Archivo, ui-sans-serif, system-ui, sans-serif;
  --pmi-font-heading: "Source Serif Pro", ui-serif, Georgia, serif;
  --pmi-font-mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, monospace;

  /* ---- Layout ---- */
  --pmi-content-width: 1240px;
  --pmi-narrow-width: 760px;
  --pmi-gutter: 24px;
  --pmi-section-y: 96px;
  --pmi-section-y-mobile: 56px;

  /* ---- Card ---- */
  --pmi-card-bg: rgba(255, 255, 255, 1.0)
;
  --pmi-card-radius: 0px;
  --pmi-card-hover-border: rgba(190, 58, 44, 1.0)
;

  /* ---- Scala di spaziatura ---- */
  --pmi-space-1: 4px;
  --pmi-space-2: 8px;
  --pmi-space-3: 12px;
  --pmi-space-4: 16px;
  --pmi-space-5: 24px;
  --pmi-space-6: 32px;
  --pmi-space-7: 48px;
  --pmi-space-8: 64px;
  --pmi-space-9: 96px;

  /* ---- Motion ---- */
  --pmi-ease: cubic-bezier(0.22, 0.61, 0.36, 1);
  --pmi-duration: 220ms;
}

@media (prefers-reduced-motion: reduce) {
  :root {
    --pmi-duration: 0ms;
  }

  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
}

/* Generic — reset e normalizzazione */
*, *:before, *:after {
  box-sizing: border-box;
}

/* Rete di sicurezza anti-scroll-orizzontale: "clip" (non "hidden") non crea
   un nuovo contenitore di scroll, quindi non spezza position:sticky negli
   antenati (vedi header) ne' altera lo scroll verticale. */
html, body {
  max-width: 100%;
  overflow-x: clip;
}
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
   ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */

html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

/* Sections
   ========================================================================== */

/**
 * Remove the margin in all browsers.
 */

body {
  margin: 0;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */

h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
   ========================================================================== */

/**
 * Add the correct box sizing in Firefox.
 */

hr {
  box-sizing: content-box;
  height: 0;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

pre {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/* Text-level semantics
   ========================================================================== */

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, Opera, and Safari.
 */

abbr[title] {
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
  text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */

b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */

small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Forms
   ========================================================================== */

/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */

button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}

/**
 * Remove the inheritance of text transform in Edge and Firefox.
 * 1. Remove the inheritance of text transform in Firefox.
 */

button,
select { /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */

button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */

fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * Remove the padding so developers are not caught out when they zero out `fieldset` elements in all browsers.
 */

legend {
  padding: 0;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */

progress {
  vertical-align: baseline;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */

[type="search"] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */

[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/* Interactive
   ========================================================================== */

/*
 * Add the correct display in Edge and Firefox.
 */

details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */

summary {
  display: list-item;
}

/* Objects — griglia e contenitori (non cosmetici) */


/* CSS variables */

:root {
  --column-gap: 2.13%;
  --column-width-multiplier: 8.333;
}

/* Mobile layout */

.row-fluid {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
}


  .row-fluid .span1,
  .row-fluid .span2,
  .row-fluid .span3,
  .row-fluid .span4,
  .row-fluid .span5,
  .row-fluid .span6,
  .row-fluid .span7,
  .row-fluid .span8,
  .row-fluid .span9,
  .row-fluid .span10,
  .row-fluid .span11,
  .row-fluid .span12{
  min-height: 1px;
  width: 100%;
}

/* Desktop layout */

@media (min-width: 768px) {
  .row-fluid {
    flex-wrap: nowrap;
    justify-content: space-between;
  }

  
    .row-fluid .span1 {
      width: calc(var(--column-width-multiplier) * 1% * 1 - var(--column-gap) * (11 * var(--column-width-multiplier) / 100));
    }
  
    .row-fluid .span2 {
      width: calc(var(--column-width-multiplier) * 1% * 2 - var(--column-gap) * (10 * var(--column-width-multiplier) / 100));
    }
  
    .row-fluid .span3 {
      width: calc(var(--column-width-multiplier) * 1% * 3 - var(--column-gap) * (9 * var(--column-width-multiplier) / 100));
    }
  
    .row-fluid .span4 {
      width: calc(var(--column-width-multiplier) * 1% * 4 - var(--column-gap) * (8 * var(--column-width-multiplier) / 100));
    }
  
    .row-fluid .span5 {
      width: calc(var(--column-width-multiplier) * 1% * 5 - var(--column-gap) * (7 * var(--column-width-multiplier) / 100));
    }
  
    .row-fluid .span6 {
      width: calc(var(--column-width-multiplier) * 1% * 6 - var(--column-gap) * (6 * var(--column-width-multiplier) / 100));
    }
  
    .row-fluid .span7 {
      width: calc(var(--column-width-multiplier) * 1% * 7 - var(--column-gap) * (5 * var(--column-width-multiplier) / 100));
    }
  
    .row-fluid .span8 {
      width: calc(var(--column-width-multiplier) * 1% * 8 - var(--column-gap) * (4 * var(--column-width-multiplier) / 100));
    }
  
    .row-fluid .span9 {
      width: calc(var(--column-width-multiplier) * 1% * 9 - var(--column-gap) * (3 * var(--column-width-multiplier) / 100));
    }
  
    .row-fluid .span10 {
      width: calc(var(--column-width-multiplier) * 1% * 10 - var(--column-gap) * (2 * var(--column-width-multiplier) / 100));
    }
  
    .row-fluid .span11 {
      width: calc(var(--column-width-multiplier) * 1% * 11 - var(--column-gap) * (1 * var(--column-width-multiplier) / 100));
    }
  
}


.content-wrapper {
  margin: 0 auto;
  max-width: var(--pmi-content-width);
  padding: 0 var(--pmi-gutter);
  width: 100%;
}

.content-wrapper--narrow {
  max-width: var(--pmi-narrow-width);
}

.dnd-section > .row-fluid {
  margin: 0 auto;
  max-width: var(--pmi-content-width);
}


.dnd-section {
  padding: 0 var(--pmi-gutter);
}

.dnd-section .dnd-column {
  padding: 0 var(--pmi-space-4);
}

@media (max-width: 767px) {
  .dnd-section .dnd-column {
    padding: 0;
  }
}


.body-container {
  width: 100%;
}

/* Elements — elementi HTML di base */


html {
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth;
  text-size-adjust: 100%;
}

body {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  background-color: var(--pmi-surface);
  color: #191C20;font-size: 17px;font-weight: 400; font-family: Archivo, sans-serif;
  line-height: 1.65;
  overflow-wrap: break-word;
}

/* ---------------------------------- Titoli --------------------------------- */

h1, h2, h3, h4, h5, h6 {
  font-family: var(--pmi-font-heading);
  margin: 0 0 var(--pmi-space-4);
  text-wrap: balance;
}

h1 {
  color: #191C20;font-size: 56px;font-weight: 700; font-family: 'Source Serif Pro', serif;
  letter-spacing: -1.4px;
  line-height: 1.05;
}

h2 {
  color: #191C20;font-size: 44px;font-weight: 700; font-family: 'Source Serif Pro', serif;
  letter-spacing: -1.1px;
  line-height: 1.12;
}

h3 {
  color: #191C20;font-size: 30px;font-weight: 700; font-family: 'Source Serif Pro', serif;
  letter-spacing: -0.7px;
  line-height: 1.2;
}

h4 {
  color: #191C20;font-size: 24px;font-weight: 700; font-family: 'Source Serif Pro', serif;
  letter-spacing: -0.6px;
  line-height: 1.25;
}

h5 {
  color: #191C20;font-size: 20px;font-weight: 700; font-family: 'Source Serif Pro', serif;
  letter-spacing: -0.3px;
  line-height: 1.3;
}

h6 {
  color: #191C20;font-size: 17px;font-weight: 700; font-family: 'Source Serif Pro', serif;
  letter-spacing: 0px;
  line-height: 1.35;
}

@media (max-width: 767px) {
  h1 { font-size: clamp(32px, 9vw, 56px); }
  h2 { font-size: clamp(27px, 7.5vw, 44px); }
  h3 { font-size: clamp(22px, 5.5vw, 30px); }
}

/* ------------------------------- Testo corrente ---------------------------- */

p {
  margin: 0 0 var(--pmi-space-4);
}

p:last-child {
  margin-bottom: 0;
}

.pmi-lead {
  color: #8A8F98;font-size: 20px;font-weight: 500; font-family: Archivo, sans-serif;
  line-height: 1.45;
  text-wrap: pretty;
}

.pmi-eyebrow {
  color: #BE3A2C;font-size: 12px;font-weight: 700; font-family: Archivo, sans-serif;
  display: block;
  letter-spacing: 1.6px;
  margin: 0 0 var(--pmi-space-3);
  text-transform: uppercase;
}

small,
.pmi-text-small {
  font-size: 0.8125em;
}

strong, b { font-weight: 700; }
em, i { font-style: italic; }

/* ----------------------------------- Link ---------------------------------- */

a {
  color: rgba(190, 58, 44, 1)
;
  
    text-decoration: underline;
    text-underline-offset: 0.18em;
  
  transition: color var(--pmi-duration) var(--pmi-ease);
}

a:hover,
a:focus-visible {
  color: rgba(25, 28, 32, 1)
;
}

:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
  outline: 2px solid var(--pmi-primary);
  outline-offset: 3px;
}

/* ----------------------------- Liste e citazioni --------------------------- */

ul, ol {
  margin: 0 0 var(--pmi-space-4);
  padding-left: 1.25em;
}

li { margin-bottom: var(--pmi-space-2); }

blockquote {
  border-left: 3px solid var(--pmi-primary);
  font-family: var(--pmi-font-heading);
  font-size: 1.25em;
  font-style: italic;
  line-height: 1.4;
  margin: var(--pmi-space-6) 0;
  padding: var(--pmi-space-2) 0 var(--pmi-space-2) var(--pmi-space-5);
}

hr {
  background-color: var(--pmi-border);
  border: 0;
  height: 1px;
  margin: var(--pmi-space-7) 0;
}

code, pre, kbd, samp {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 0.9em;
}

pre {
  background-color: var(--pmi-surface-dark);
  color: var(--pmi-surface);
  overflow-x: auto;
  padding: var(--pmi-space-5);
}

img, svg, video {
  height: auto;
  max-width: 100%;
}

figure { margin: 0 0 var(--pmi-space-5); }

figcaption {
  color: var(--pmi-muted);
  font-size: 0.875em;
  margin-top: var(--pmi-space-2);
}


button,
.button,
.hs-button,
.pmi-button {
  align-items: center;
  cursor: pointer;
  display: inline-flex;
  gap: var(--pmi-space-2);
  justify-content: center;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  transition: background-color var(--pmi-duration) var(--pmi-ease),
              border-color var(--pmi-duration) var(--pmi-ease),
              color var(--pmi-duration) var(--pmi-ease),
              transform var(--pmi-duration) var(--pmi-ease);
  white-space: normal;
}

button:disabled,
.button:disabled,
.hs-button:disabled,
.pmi-button[aria-disabled="true"] {
  cursor: not-allowed;
  opacity: 0.45;
  pointer-events: none;
}



.button, .hs-button, .pmi-button, .pmi-button--primary {
  color: #FCFBF8;font-size: 15px;font-weight: 700; font-family: Archivo, sans-serif;
  background-color: rgba(190, 58, 44, 1.0);
  border: 2px solid #BE3A2C;

  border-radius: 0px;
  padding-top: 15px;
padding-right: 32px;
padding-bottom: 15px;
padding-left: 32px;

  letter-spacing: 0.2px;
}

.button, .hs-button, .pmi-button, .pmi-button--primary:hover,
.button, .hs-button, .pmi-button, .pmi-button--primary:focus-visible {
  background-color: rgba(25, 28, 32, 1.0);
  border-color: rgba(25, 28, 32, 1.0);
  color: #FCFBF8;
}

.button, .hs-button, .pmi-button, .pmi-button--primary:active {
  transform: translateY(1px);
}


.pmi-button--secondary {
  color: #191C20;font-size: 15px;font-weight: 700; font-family: Archivo, sans-serif;
  background-color: rgba(25, 28, 32, 0.0);
  border: 2px solid #191C20;

  border-radius: 0px;
  padding-top: 15px;
padding-right: 32px;
padding-bottom: 15px;
padding-left: 32px;

  letter-spacing: 0.2px;
}

.pmi-button--secondary:hover,
.pmi-button--secondary:focus-visible {
  background-color: rgba(25, 28, 32, 1.0);
  border-color: rgba(25, 28, 32, 1.0);
  color: #FCFBF8;
}

.pmi-button--secondary:active {
  transform: translateY(1px);
}


.pmi-button--tertiary {
  color: #BE3A2C;font-size: 15px;font-weight: 700; font-family: Archivo, sans-serif;
  background-color: rgba(25, 28, 32, 0.0);
  border: 2px solid #BE3A2C;

  border-radius: 0px;
  padding-top: 15px;
padding-right: 32px;
padding-bottom: 15px;
padding-left: 32px;

  letter-spacing: 0.2px;
}

.pmi-button--tertiary:hover,
.pmi-button--tertiary:focus-visible {
  background-color: rgba(190, 58, 44, 1.0);
  border-color: rgba(190, 58, 44, 1.0);
  color: #FCFBF8;
}

.pmi-button--tertiary:active {
  transform: translateY(1px);
}


.pmi-button--full {
  width: 100%;
}

.pmi-button--small {
  font-size: 13px;
  padding: 9px 18px;
}

.pmi-button--large {
  font-size: 17px;
  padding: 18px 40px;
}


.pmi-button__arrow {
  display: inline-block;
  transition: transform var(--pmi-duration) var(--pmi-ease);
}

.pmi-button:hover .pmi-button__arrow,
.pmi-button:focus-visible .pmi-button__arrow {
  transform: translateX(3px);
}


.pmi-textlink {
  align-items: center;
  display: inline-flex;
  font-family: var(--pmi-font-body);
  font-size: 15px;
  font-weight: 700;
  gap: var(--pmi-space-2);
  text-decoration: none;
}

.pmi-textlink::after {
  content: "→";
  transition: transform var(--pmi-duration) var(--pmi-ease);
}

.pmi-textlink:hover::after,
.pmi-textlink:focus-visible::after {
  transform: translateX(4px);
}

/* ------------------------------- Mobile: CTA -------------------------------
   Su schermo stretto due pulsanti affiancati si schiacciano l'uno contro
   l'altro (si "ridimensionano"). Li impiliamo a piena larghezza: restano
   leggibili e il tap target resta grande quanto il dito, non quanto il testo. */

@media (max-width: 640px) {
  a.pmi-button,
  button.pmi-button {
    width: 100%;
  }

  /* Qualsiasi contenitore che affianca due o piu' pulsanti passa a colonna,
     cosi' ciascuno resta a piena larghezza invece di dividersela in due
     meta' schiacciate. Copre ogni pulsantiera del tema (hero, cta-banner,
     schede, calcolatori, wizard...) senza dover elencare ogni classe. */
  *:has(> .pmi-button + .pmi-button) {
    align-items: stretch;
    flex-direction: column;
  }
}

.no-button,
.no-button:hover,
.no-button:focus,
.no-button:active {
  background: none;
  border: none;
  border-radius: 0;
  color: inherit;
  font: inherit;
  letter-spacing: inherit;
  margin-bottom: 0;
  padding: 0;
  text-align: left;
  text-decoration: none;
  transform: none;
  transition: none;
}


.hs-form,
.pmi-form {
  background-color: rgba(255, 255, 255, 1.0)
;
  border: 1px solid rgba(25, 28, 32, 9%);

  border-radius: 0px;
  padding: 40px;

}

.pmi-form--bare {
  background: none;
  border: 0;
  padding: 0;
}

.hs-form-field {
  margin-bottom: var(--pmi-space-5);
}

form label,
.hs-form-field > label {
  display: block;
  color: #8A8F98;font-size: 12px;font-weight: 700; font-family: Archivo, sans-serif;
  letter-spacing: 1.0px;
  margin-bottom: var(--pmi-space-2);
  text-transform: uppercase;
}

.hs-field-desc,
form .hs-richtext p {
  color: #8A8F98;font-size: 13px;font-weight: 400; font-family: Archivo, sans-serif;
  margin-bottom: var(--pmi-space-2);
}

.hs-form-required {
  color: rgba(190, 58, 44, 1)
;
}

input[type="text"],
input[type="email"],
input[type="password"],
input[type="tel"],
input[type="number"],
input[type="search"],
input[type="url"],
input[type="date"],
input[type="file"],
select,
textarea {
  appearance: none;
  background-color: rgba(255, 255, 255, 1.0)
;
  border: 1px solid rgba(25, 28, 32, 18%);

  border-radius: 0px;
  font-size: 16px;font-weight: 400; font-family: Archivo, sans-serif;
  padding-top: 13px;
padding-right: 16px;
padding-bottom: 13px;
padding-left: 16px;

  transition: border-color var(--pmi-duration) var(--pmi-ease),
              box-shadow var(--pmi-duration) var(--pmi-ease);
  width: 100%;
}

select {
  background-image: linear-gradient(45deg, transparent 50%, currentcolor 50%),
                    linear-gradient(135deg, currentcolor 50%, transparent 50%);
  background-position: right 20px center, right 14px center;
  background-repeat: no-repeat;
  background-size: 6px 6px, 6px 6px;
  padding-right: 40px;
}

textarea {
  min-height: 140px;
  resize: vertical;
}

input:focus,
select:focus,
textarea:focus {
  border-color: rgba(190, 58, 44, 1.0)
;
  box-shadow: 0 0 0 3px rgba(var(--pmi-primary-rgb), 0.14);
  outline: none;
}

::placeholder {
  color: var(--pmi-muted);
  opacity: 1;
}

/* Checkbox e radio */

.inputs-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.inputs-list li {
  margin-bottom: var(--pmi-space-2);
}

.inputs-list label,
.hs-form-booleancheckbox label {
  align-items: flex-start;
  display: flex;
  font-size: 15px;
  font-weight: 400;
  gap: var(--pmi-space-3);
  letter-spacing: normal;
  text-transform: none;
}

.inputs-list input[type="checkbox"],
.inputs-list input[type="radio"] {
  flex: 0 0 auto;
  margin-top: 2px;
  width: 18px;
  height: 18px;
  accent-color: var(--pmi-primary-hex);
}

/* Submit */

.hs-button,
input[type="submit"] {
  width: auto;
}

/* Errori */

.hs-error-msg,
.hs-error-msgs label {
  color: rgba(190, 58, 44, 1)
;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: normal;
  text-transform: none;
}

.hs-form-field .error,
input.invalid,
select.invalid,
textarea.invalid {
  border-color: rgba(190, 58, 44, 1.0)
;
}

/* Titolo del form */

.form-title,
.pmi-form__title {
  font-size: 28px;font-weight: 700; font-family: 'Source Serif Pro', serif;
  background-color: rgba(255, 255, 255, 0.0)
;
  padding-bottom: 16px;

  margin: 0;
}

.submitted-message {
  border-left: 3px solid var(--pmi-secondary);
  padding-left: var(--pmi-space-5);
}
table {
  border-collapse: collapse;
  margin-bottom: var(--pmi-space-6);
  width: 100%;
}

/* Le tabelle inserite nel rich text (senza wrapper .pmi-table-scroll) non
   hanno modo di dichiarare un contenitore scrollabile: sotto i 768px le
   rendiamo comunque scorrevoli orizzontalmente invece di far traboccare
   la pagina. */
@media (max-width: 767px) {
  table:not(.pmi-table-scroll table) {
    display: block;
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}

.pmi-table-scroll {
  -webkit-overflow-scrolling: touch;
  overflow-x: auto;
  /* Ombre ai bordi che segnalano contenuto scrollabile, spariscono da sole
     a fine corsa (stesso pattern di .pmi-comparison__scroll). */
  background-attachment: local, local, scroll, scroll;
  background-image:
    linear-gradient(to right, var(--pmi-surface) 30%, rgba(255, 255, 255, 0)),
    linear-gradient(to left, var(--pmi-surface) 30%, rgba(255, 255, 255, 0)),
    linear-gradient(to right, rgba(var(--pmi-ink-rgb), 0.1), rgba(255, 255, 255, 0)),
    linear-gradient(to left, rgba(var(--pmi-ink-rgb), 0.1), rgba(255, 255, 255, 0));
  background-position: 0 0, 100% 0, 0 0, 100% 0;
  background-repeat: no-repeat;
  background-size: 32px 100%, 32px 100%, 12px 100%, 12px 100%;
}

th, td {
  border-bottom: 1px solid var(--pmi-border);
  padding: var(--pmi-space-3) var(--pmi-space-4);
  text-align: left;
  vertical-align: top;
}

thead th {
  border-bottom-width: 2px;
  font-family: var(--pmi-font-body);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
}

tbody tr:last-child th,
tbody tr:last-child td {
  border-bottom: 0;
}

caption {
  color: var(--pmi-muted);
  font-size: 0.875em;
  padding-bottom: var(--pmi-space-3);
  text-align: left;
}

/* Components — parti di interfaccia riconoscibili */




.pmi-module {
  position: relative;
}

.pmi-scheme--light { background-color: var(--pmi-surface); }
.pmi-scheme--alt { background-color: var(--pmi-surface-alt); }
.pmi-scheme--dark { background-color: var(--pmi-surface-dark); }
.pmi-scheme--none { background-color: transparent; }
.pmi-scheme--inverted { background-color: transparent; }


.pmi-scheme--light,
.pmi-scheme--alt,
.pmi-scheme--dark {
  padding-left: var(--pmi-space-5);
  padding-right: var(--pmi-space-5);
}

.pmi-scheme--none {
  padding-left: 0;
  padding-right: 0;
}

@media (max-width: 767px) {
  .pmi-scheme--light,
  .pmi-scheme--alt,
  .pmi-scheme--dark {
    padding-left: var(--pmi-space-4);
    padding-right: var(--pmi-space-4);
  }
}


.header {
  background-color: rgba(255, 255, 255, 0.95)
;
  border: 1px solid rgba(25, 28, 32, 9%);

  backdrop-filter: saturate(180%) blur(12px);
  width: 100%;
  z-index: 900;
}

/* ------------------------------- Sticky ------------------------------- */
/* header--sticky: aggancio base, usato da tutte le varianti tranne "static".
   header--sticky-hide: si nasconde scorrendo verso il basso, riappare
   risalendo (classe "is-hidden" gestita da initHeaderScroll() in main.js).
   header--sticky-shrink: si compatta quando la pagina e' scrollata,
   sfruttando la classe "header--scrolled" gia' applicata via JS. */

.header--sticky {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
}

/* HubSpot avvolge l'output di  in un <div> generato
   automaticamente, alto quanto il solo contenuto (l'header). Un contenitore
   sticky puo' restare agganciato solo entro i confini del proprio blocco
   contenitore diretto: se quel div e' alto quanto l'header stesso, l'header
   non ha margine per restare fisso e scorre via non appena si supera la sua
   altezza. "display: contents" rimuove il box di quel wrapper dal calcolo
   del layout, cosi' il contenitore effettivo torna a essere .body-wrapper
   (alto quanto l'intera pagina). */
.body-wrapper > div:first-child {
  display: contents;
}

.header--sticky-hide {
  transition: transform var(--pmi-duration) var(--pmi-ease);
}

.header--sticky-hide.is-hidden {
  transform: translateY(-100%);
}

.header--sticky-shrink .header__container {
  transition: padding var(--pmi-duration) var(--pmi-ease);
}

.header--sticky-shrink .header__logo img {
  transition: max-height var(--pmi-duration) var(--pmi-ease);
}

.header--sticky-shrink.header--scrolled .header__container {
  padding-top: var(--pmi-space-2);
  padding-bottom: var(--pmi-space-2);
}

.header--sticky-shrink.header--scrolled .header__logo img {
  max-height: calc(34px * 0.75);
}

.header__container {
  align-items: center;
  display: flex;
  gap: var(--pmi-space-6);
  justify-content: space-between;
  margin: 0 auto;
  max-width: 1240px;
  padding-left: var(--pmi-gutter);
  padding-right: var(--pmi-gutter);
  padding-top: 20px;
padding-bottom: 18px;

}

.header__skip {
  background-color: var(--pmi-ink);
  color: var(--pmi-surface);
  left: 0;
  padding: var(--pmi-space-3) var(--pmi-space-5);
  position: absolute;
  top: 0;
  transform: translateY(-120%);
  z-index: 1000;
}

.header__skip:focus {
  transform: translateY(0);
}

.header__logo img {
  display: block;
  max-height: 34px;
  width: auto;
}

.header__column {
  align-items: center;
  display: flex;
  flex: 1 1 auto;
  gap: var(--pmi-space-5);
  justify-content: flex-end;
}

.header__row-1 {
  align-items: center;
  display: flex;
  gap: var(--pmi-space-4);
}

.header__row-2 {
  align-items: center;
  display: flex;
  gap: var(--pmi-space-5);
}

.header__nav-desktop { display: none; }
.header__nav-mobile { display: block; }

@media (min-width: 992px) {
  .header__nav-desktop { display: block; }
  .header__nav-mobile { display: none; }
}

.header__cta {
  flex: 0 0 auto;
}

/* --------------------------- Navigazione primaria -------------------------- */

.pmi-nav ul {
  align-items: center;
  display: flex;
  gap: var(--pmi-space-6);
  list-style: none;
  margin: 0;
  padding: 0;
}

.pmi-nav li {
  margin: 0;
  position: relative;
}

.pmi-nav a {
  color: #8A8F98;font-size: 14px;font-weight: 600; font-family: Archivo, sans-serif;
  letter-spacing: 0px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 4px;
  text-decoration: none;
}

.pmi-nav a:hover,
.pmi-nav a:focus-visible {
  color: rgba(25, 28, 32, 1)
;
}

.pmi-nav .pmi-nav__item--active > a {
  color: rgba(25, 28, 32, 1)
;
}

.pmi-nav__toggle {
  background: none;
  border: 0;
  color: inherit;
  display: inline-flex;
  padding: 4px;
}

.pmi-nav__chevron {
  height: 8px;
  transition: transform var(--pmi-duration) var(--pmi-ease);
  width: 8px;
}

.pmi-nav__item--open > a .pmi-nav__chevron,
.pmi-nav li:hover > a .pmi-nav__chevron {
  transform: rotate(180deg);
}

/* Sottomenu */

.pmi-nav ul ul {
  background-color: rgba(255, 255, 255, 1.0)
;
  border: 1px solid rgba(25, 28, 32, 9%);

  border-radius: 0px;
  box-shadow: 0 18px 40px rgba(var(--pmi-ink-rgb), 0.10);
  display: block;
  flex-direction: column;
  gap: 0;
  left: 0;
  min-width: 250px;
  opacity: 0;
  padding: var(--pmi-space-2) 0;
  pointer-events: none;
  position: absolute;
  top: 100%;
  transform: translateY(6px);
  transition: opacity var(--pmi-duration) var(--pmi-ease),
              transform var(--pmi-duration) var(--pmi-ease);
  z-index: 20;
}

.pmi-nav li:hover > ul,
.pmi-nav li:focus-within > ul,
.pmi-nav .pmi-nav__item--open > ul {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

.pmi-nav ul ul a {
  color: rgba(25, 28, 32, 1)
;
  display: block;
  padding: 10px 18px;
  width: 100%;
}

.pmi-nav ul ul a:hover,
.pmi-nav ul ul a:focus-visible {
  background-color: rgba(252, 251, 248, 1.0)
;
}

.pmi-nav ul ul ul {
  left: 100%;
  top: 0;
}

/* ---------------------------------- Mobile --------------------------------- */

.pmi-nav__burger {
  align-items: center;
  background: none;
  border: 0;
  display: none;
  flex-direction: column;
  gap: 5px;
  height: 44px;
  justify-content: center;
  width: 44px;
}

.pmi-nav__burger span {
  background-color: var(--pmi-ink);
  display: block;
  height: 2px;
  transition: transform var(--pmi-duration) var(--pmi-ease),
              opacity var(--pmi-duration) var(--pmi-ease);
  width: 22px;
}

.pmi-nav__burger[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.pmi-nav__burger[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.pmi-nav__burger[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

@media (max-width: 991px) {
  .pmi-nav__burger { display: flex; }

  .header__column {
    gap: var(--pmi-space-3);
  }

  /* Il pulsante "Inizia ora gratis" lascia la barra in alto (dove ruba
     spazio al logo e forza il testo ad accorciarsi) e viene clonato da
     initMobileNavCta() (main.js) dentro il pannello di navigazione, come
     ultima voce in evidenza. La barra superiore mostra solo hamburger. */
  .header:not(.header--minimal) .header__cta {
    display: none;
  }

  .pmi-nav__item--cta {
    border-bottom: 0 !important;
    margin-top: var(--pmi-space-2);
    padding-top: var(--pmi-space-2);
  }

  .pmi-nav__item--cta > a {
    border: 1px solid rgba(var(--pmi-primary-rgb), 0.4);
    border-radius: 999px;
    color: var(--pmi-primary);
    display: inline-flex;
    font-size: 13px;
    font-weight: 600;
    padding: 8px 16px !important;
  }

  .pmi-nav__item--cta > a:hover,
  .pmi-nav__item--cta > a:focus-visible {
    background-color: rgba(var(--pmi-primary-rgb), 0.06);
    color: var(--pmi-primary);
  }

  .pmi-nav {
    background-color: rgba(255, 255, 255, 0.95)
;
    border-top: 1px solid var(--pmi-border);
    display: none;
    left: 0;
    max-height: calc(100vh - 100%);
    overflow-y: auto;
    padding: var(--pmi-space-4) var(--pmi-gutter) var(--pmi-space-6);
    position: absolute;
    top: 100%;
    width: 100%;
  }

  .pmi-nav.is-open { display: block; }

  .pmi-nav ul {
    align-items: stretch;
    flex-direction: column;
    gap: 0;
  }

  .pmi-nav > ul > li {
    border-bottom: 1px solid var(--pmi-border);
  }

  .pmi-nav a {
    font-size: 16px;
    padding: 14px 0;
  }

  .pmi-nav ul ul {
    border: 0;
    box-shadow: none;
    display: none;
    opacity: 1;
    padding: 0 0 var(--pmi-space-3) var(--pmi-space-4);
    pointer-events: auto;
    position: static;
    transform: none;
  }

  .pmi-nav .pmi-nav__item--open > ul { display: block; }
}

/* ----------------------------- Header ridotto ------------------------------ */

.header--minimal .header__container {
  justify-content: center;
}

.header--webinar {
  background-color: rgba(252, 251, 248, 0.95);
  backdrop-filter: saturate(180%) blur(12px);
  border-bottom: 1px solid var(--pmi-border);
  position: -webkit-sticky;
  position: sticky;
  top: 0;
}

.header--webinar .header__container {
  justify-content: flex-start;
}

.header--webinar__label {
  border-left: 1px solid var(--pmi-border);
  color: var(--pmi-muted);
  display: none;
  font-family: var(--pmi-font-mono);
  font-size: 11px;
  letter-spacing: 0.18em;
  padding-left: var(--pmi-space-5);
  text-transform: uppercase;
}

@media (min-width: 768px) {
  .header--webinar__label {
    display: block;
  }
}

.header--webinar__nav {
  display: none;
  gap: var(--pmi-space-5);
  margin-left: var(--pmi-space-5);
}

@media (min-width: 900px) {
  .header--webinar__nav {
    display: flex;
  }
}

.header--webinar__nav a {
  color: var(--pmi-muted);
  font-size: 14px;
  font-weight: 500;
  text-decoration: none;
}

.header--webinar__nav a:hover {
  color: var(--pmi-ink);
}

.header--webinar__right {
  align-items: center;
  display: flex;
  gap: var(--pmi-space-5);
  margin-left: auto;
}

.header--webinar__date {
  color: var(--pmi-ink);
  display: none;
  font-size: 13.5px;
  font-weight: 500;
}

@media (min-width: 640px) {
  .header--webinar__date {
    display: block;
  }
}

.header--scrolled {
  box-shadow: 0 8px 24px rgba(var(--pmi-ink-rgb), 0.06);
}

body.pmi-nav-open {
  overflow: hidden;
}

@media (min-width: 992px) {
  body.pmi-nav-open { overflow: auto; }
}

.header__dnd-top:not(:empty),
.header__dnd-bottom:not(:empty) {
  border-bottom: 1px solid var(--pmi-border);
}

/* ============================== Sotto-navigazione ============================== */



.pmi-subnav {
  background-color: var(--pmi-primary);
  padding: var(--pmi-space-4) 0;
  position: relative;
  transition: background var(--pmi-duration) var(--pmi-ease),
              box-shadow var(--pmi-duration) var(--pmi-ease),
              padding var(--pmi-duration) var(--pmi-ease);
  width: 100vw;
  margin-left: calc(-50vw + 50%);
  z-index: 400;
}

.pmi-subnav--pinned {
  left: 0;
  position: fixed;
  right: 0;
  top: var(--pmi-header-height, 80px);
}

.pmi-subnav--scrolled {
  background: linear-gradient(90deg, #4A110B 0%, var(--pmi-primary) 50%, #4A110B 100%);
  box-shadow: 0 8px 24px rgba(var(--pmi-ink-rgb), 0.16);
  padding: 14px 0;
}

.pmi-subnav__list {
  -ms-overflow-style: none;
  display: flex;
  gap: var(--pmi-space-2);
  list-style: none;
  margin: 0 auto;
  max-width: var(--pmi-content-width);
  overflow-x: auto;
  padding: 0 var(--pmi-gutter);
  scrollbar-width: none;
}

.pmi-subnav__list::-webkit-scrollbar {
  display: none;
}

.pmi-subnav__link {
  border-radius: 999px;
  color: rgba(255, 255, 255, 0.7);
  cursor: pointer;
  display: inline-block;
  font-family: var(--pmi-font-body);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.02em;
  opacity: 0.75;
  padding: 6px 12px;
  text-decoration: none;
  transition: color var(--pmi-duration) var(--pmi-ease),
              opacity var(--pmi-duration) var(--pmi-ease);
  white-space: nowrap;
}

.pmi-subnav__link:hover,
.pmi-subnav__link:focus-visible {
  color: #fff;
  opacity: 1;
}

.pmi-subnav__link.is-active {
  color: #fff;
  opacity: 1;
}


/* =========================================================================
   Mega-menu — pannello di navigazione a due colonne (hover su desktop)
   ========================================================================= */

.pmi-mega { position: relative; }

.pmi-mega__list {
  align-items: center;
  display: flex;
  gap: var(--pmi-space-6);
  list-style: none;
  margin: 0;
  padding: 0;
}

.pmi-mega__item { position: relative; }

.pmi-mega__link,
.pmi-mega__trigger {
  align-items: center;
  background: none;
  border: 0;
  color: inherit;
  cursor: pointer;
  display: inline-flex;
  color: #8A8F98;font-size: 14px;font-weight: 600; font-family: Archivo, sans-serif;
  gap: 6px;
  letter-spacing: 0px;
  padding: 8px 4px;
  position: relative;
  text-decoration: none;
}

.pmi-mega__link::after,
.pmi-mega__trigger::after {
  background-color: rgba(25, 28, 32, 1)
;
  bottom: 2px;
  content: "";
  height: 2px;
  left: 4px;
  position: absolute;
  right: 4px;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform var(--pmi-duration) var(--pmi-ease);
}

.pmi-mega__link:hover::after,
.pmi-mega__link:focus-visible::after,
.pmi-mega__trigger:hover::after,
.pmi-mega__trigger:focus-visible::after,
.pmi-mega__item--trigger.is-open .pmi-mega__trigger::after {
  transform: scaleX(1);
}

.pmi-mega__link:hover,
.pmi-mega__link:focus-visible,
.pmi-mega__trigger:hover,
.pmi-mega__trigger:focus-visible {
  color: rgba(25, 28, 32, 1)
;
}

.pmi-mega__trigger .pmi-nav__chevron {
  height: 8px;
  transition: transform var(--pmi-duration) var(--pmi-ease);
  width: 8px;
}

.pmi-mega__item--trigger.is-open .pmi-mega__trigger .pmi-nav__chevron {
  transform: rotate(180deg);
}

/* --------------------------------- Pannello --------------------------------- */

.pmi-mega__panel {
  background-color: var(--pmi-surface-alt);
  border: 1px solid var(--pmi-border);
  box-shadow: 0 24px 60px rgba(var(--pmi-ink-rgb), 0.14);
  display: grid;
  grid-template-columns: 5fr 7fr;
  left: 50%;
  max-width: 960px;
  opacity: 0;
  padding: var(--pmi-space-6);
  pointer-events: none;
  position: absolute;
  top: calc(100% + 10px);
  transform: translate(-50%, -6px);
  transition: opacity var(--pmi-duration) var(--pmi-ease),
              transform var(--pmi-duration) var(--pmi-ease);
  width: 92vw;
  z-index: 60;
}

.pmi-mega__item--trigger.is-open .pmi-mega__panel {
  opacity: 1;
  pointer-events: auto;
  transform: translate(-50%, 0);
}

.pmi-mega__categories {
  border-right: 1px solid var(--pmi-border);
  display: flex;
  flex-direction: column;
  gap: var(--pmi-space-2);
  padding-right: var(--pmi-space-6);
}

.pmi-mega__category {
  align-items: flex-start;
  background-color: transparent;
  border: 1px solid transparent;
  color: var(--pmi-ink);
  display: flex;
  gap: var(--pmi-space-3);
  padding: var(--pmi-space-3);
  text-align: left;
  text-decoration: none;
  transition: background-color var(--pmi-duration) var(--pmi-ease),
              border-color var(--pmi-duration) var(--pmi-ease),
              box-shadow var(--pmi-duration) var(--pmi-ease);
}

.pmi-mega__category:hover {
  background-color: rgba(var(--pmi-ink-rgb), 0.03);
}

.pmi-mega__category.is-active {
  background-color: var(--pmi-surface-alt);
  border-color: var(--pmi-primary);
  box-shadow: 0 10px 24px rgba(var(--pmi-ink-rgb), 0.08);
}

.pmi-mega__category--disabled {
  cursor: not-allowed;
  opacity: 0.55;
}

.pmi-mega__category-icon {
  align-items: center;
  background-color: rgba(var(--pmi-ink-rgb), 0.05);
  color: var(--pmi-muted);
  display: inline-flex;
  flex: 0 0 auto;
  height: 40px;
  justify-content: center;
  transition: background-color var(--pmi-duration) var(--pmi-ease),
              color var(--pmi-duration) var(--pmi-ease);
  width: 40px;
}

.pmi-mega__category-icon svg {
  height: 16px;
  width: 16px;
}

.pmi-mega__category.is-active .pmi-mega__category-icon {
  background-color: var(--pmi-primary);
  color: var(--pmi-surface);
}

.pmi-mega__category-body {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  gap: 2px;
}

.pmi-mega__category-title {
  align-items: center;
  display: flex;
  font-weight: 700;
  gap: var(--pmi-space-2);
}

.pmi-mega__category-desc {
  color: var(--pmi-muted);
  font-size: 13px;
  line-height: 1.4;
}

.pmi-mega__category-arrow {
  color: var(--pmi-muted);
  flex: 0 0 auto;
  height: 12px;
  margin-top: 4px;
  transition: transform var(--pmi-duration) var(--pmi-ease),
              color var(--pmi-duration) var(--pmi-ease);
  width: 12px;
}

.pmi-mega__category.is-active .pmi-mega__category-arrow {
  color: var(--pmi-primary);
  transform: translateX(3px);
}

/* --------------------------------- Anteprima --------------------------------- */

.pmi-mega__preview {
  padding-left: var(--pmi-space-6);
  position: relative;
}

.pmi-mega__preview-pane {
  display: none;
  flex-direction: column;
  gap: var(--pmi-space-3);
}

.pmi-mega__preview-pane.is-active {
  display: flex;
}

.pmi-mega__preview-title {
  color: var(--pmi-ink);
  font-family: var(--pmi-font-heading);
  font-size: 22px;
  font-weight: 700;
  line-height: 1.2;
  margin: 0;
}

.pmi-mega__preview-bullets {
  display: flex;
  flex-direction: column;
  gap: var(--pmi-space-2);
  list-style: none;
  margin: 0;
  padding: 0;
}

.pmi-mega__preview-bullets li {
  align-items: flex-start;
  color: var(--pmi-ink);
  display: flex;
  font-size: 14px;
  gap: var(--pmi-space-2);
}

.pmi-mega__preview-bullets svg {
  color: var(--pmi-success);
  flex: 0 0 auto;
  height: 16px;
  margin-top: 2px;
  width: 16px;
}

.pmi-mega__preview-note {
  background-color: rgba(var(--pmi-secondary-rgb), 0.08);
  border-left: 3px solid var(--pmi-secondary);
  color: var(--pmi-ink);
  font-size: 13px;
  padding: var(--pmi-space-3);
}

@media (max-width: 1199px) {
  .pmi-mega__preview {
    display: none;
  }

  .pmi-mega__panel {
    grid-template-columns: 1fr;
  }

  .pmi-mega__categories {
    border-right: 0;
    padding-right: 0;
  }
}


.footer {
  background-color: rgba(25, 28, 32, 1.0)
;
  color: rgba(138, 143, 152, 1)
;
  padding-top: 72px;
padding-bottom: 32px;

}

.footer__inner {
  margin: 0 auto;
  max-width: 1240px;
  padding-left: var(--pmi-gutter);
  padding-right: var(--pmi-gutter);
}

/* ---- Footer minimale per le landing page dei webinar ---- */

.footer--webinar {
  background-color: var(--pmi-ink);
  color: var(--pmi-surface);
  padding: var(--pmi-space-6) 0;
}

.footer--webinar__inner {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: var(--pmi-space-4);
  justify-content: space-between;
  margin: 0 auto;
  max-width: var(--pmi-content-width);
  padding: 0 var(--pmi-gutter);
}

.footer--webinar__brand {
  align-items: center;
  display: flex;
  gap: var(--pmi-space-4);
}

.footer--webinar__brand img {
  max-height: 24px;
  width: auto;
}

.footer--webinar__claim {
  color: rgb(138, 143, 152);
  font-family: var(--pmi-font-mono);
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.footer--webinar__links ul {
  display: flex;
  gap: var(--pmi-space-5);
  list-style: none;
  margin: 0;
  padding: 0;
}

.footer--webinar__links a {
  color: rgb(200, 204, 210);
  font-size: 13px;
  text-decoration: none;
}

.footer--webinar__links a:hover {
  color: var(--pmi-surface);
}

.footer h1, .footer h2, .footer h3, .footer h4, .footer h5, .footer h6 {
  color: rgba(255, 255, 255, 1)
;
}

.footer a {
  color: rgba(255, 255, 255, 1)
;
  text-decoration: none;
}

.footer a:hover,
.footer a:focus-visible {
  color: rgba(190, 58, 44, 1)
;
  text-decoration: underline;
  text-underline-offset: 0.2em;
}

.footer__column-heading {
  color: rgba(255, 255, 255, 1)
;
  font-size: 12px;font-weight: 700; font-family: Archivo, sans-serif;
  letter-spacing: 1.4px;
  margin-bottom: var(--pmi-space-4);
  text-transform: uppercase;
}

.footer__divider {
  background-color: rgba(255, 255, 255, 0.12)
;
  border: 0;
  height: 1px;
  margin: var(--pmi-space-7) 0 var(--pmi-space-5);
}

.footer__legal {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  font-size: 13px;
  gap: var(--pmi-space-5);
  justify-content: space-between;
}

.footer__legal ul {
  display: flex;
  flex-wrap: wrap;
  gap: var(--pmi-space-5);
  list-style: none;
  margin: 0;
  padding: 0;
}

.footer__legal li { margin: 0; }

/* Torna su */

.pmi-back-to-top {
  align-items: center;
  background: none;
  border: 1px solid rgba(255, 255, 255, 0.12)
;
  color: rgba(255, 255, 255, 1)
;
  cursor: pointer;
  display: inline-flex;
  font-family: var(--pmi-font-body);
  font-size: 12px;
  font-weight: 700;
  gap: var(--pmi-space-2);
  letter-spacing: 1px;
  padding: 10px 18px;
  text-transform: uppercase;
}

.pmi-back-to-top:hover,
.pmi-back-to-top:focus-visible {
  background-color: rgba(var(--pmi-primary-rgb), 1);
  border-color: rgba(var(--pmi-primary-rgb), 1);
  color: #fff;
}

/* -------------------------- Struttura del footer --------------------------- */

.footer__top {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: var(--pmi-space-5);
  justify-content: space-between;
}

.footer__brand {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: var(--pmi-space-5);
}

.footer__brand img { max-height: 32px; width: auto; }
.footer__brand p { font-size: 14px; margin: 0; }

.footer__main {
  display: grid;
  gap: var(--pmi-space-8);
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.6fr);
}

.footer__company { font-size: 14px; line-height: 1.75; }
.footer__company p { margin-bottom: var(--pmi-space-3); }
.footer__company .pmi-social { margin-top: var(--pmi-space-5); }

.footer__dnd:not(:empty) { margin-top: var(--pmi-space-7); }

@media (max-width: 991px) {
  .footer__main { grid-template-columns: minmax(0, 1fr); }
}


.pmi-card {
  background-color: rgba(255, 255, 255, 1.0)
;
  border: 1px solid rgba(25, 28, 32, 9%);

  border-radius: var(--pmi-card-radius);
  padding: 32px;

  display: flex;
  flex-direction: column;
  height: 100%;
  position: relative;
  
  transition: border-color var(--pmi-duration) var(--pmi-ease),
              transform var(--pmi-duration) var(--pmi-ease),
              box-shadow var(--pmi-duration) var(--pmi-ease);
}


.pmi-card--interactive:hover,
.pmi-card--interactive:focus-within {
  border-color: var(--pmi-card-hover-border);
  box-shadow: 0 16px 40px rgba(var(--pmi-ink-rgb), 0.09);
  transform: translateY(-4px);
}


.pmi-card__media {
  margin: calc(-1 * var(--pmi-space-6)) calc(-1 * var(--pmi-space-6)) var(--pmi-space-5);
  overflow: hidden;
}

.pmi-card__media img {
  display: block;
  height: 100%;
  object-fit: cover;
  transition: transform 400ms var(--pmi-ease);
  width: 100%;
}

.pmi-card--interactive:hover .pmi-card__media img {
  transform: scale(1.03);
}

.pmi-card--highlighted {
  background-color: var(--pmi-ink);
  border-color: var(--pmi-ink);
  color: var(--pmi-surface);
}

.pmi-card--highlighted .pmi-card__title,
.pmi-card--highlighted .pmi-card__body {
  color: var(--pmi-surface);
}

.pmi-card__meta {
  color: var(--pmi-primary);
  display: block;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.04em;
  margin-bottom: var(--pmi-space-2);
  text-transform: uppercase;
}

.pmi-card--highlighted .pmi-card__meta {
  color: rgba(255, 255, 255, 0.75);
}

.pmi-card__index {
  color: var(--pmi-primary);
  font-family: var(--pmi-font-heading);
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.5px;
  margin-bottom: var(--pmi-space-3);
}

.pmi-card__title {
  font-size: 22px;
  margin-bottom: var(--pmi-space-3);
}

.pmi-card__body {
  color: var(--pmi-muted);
  flex: 1 1 auto;
}

.pmi-card__footer {
  margin-top: var(--pmi-space-5);
}

.pmi-card__link-overlay::after {
  content: "";
  inset: 0;
  position: absolute;
}

/* -------------------------------- Badge ----------------------------------- */

.pmi-badge {
  align-items: center;
  border: 1px solid var(--pmi-border);
  display: inline-flex;
  font-family: var(--pmi-font-body);
  font-size: 11px;
  font-weight: 700;
  gap: 6px;
  letter-spacing: 1.2px;
  padding: 5px 10px;
  text-transform: uppercase;
}

.pmi-badge--primary {
  background-color: rgba(var(--pmi-primary-rgb), 0.08);
  border-color: rgba(var(--pmi-primary-rgb), 0.25);
  color: var(--pmi-primary);
}

.pmi-badge--secondary {
  background-color: rgba(var(--pmi-secondary-rgb), 0.08);
  border-color: rgba(var(--pmi-secondary-rgb), 0.25);
  color: var(--pmi-secondary);
}

.pmi-badge--solid {
  background-color: var(--pmi-ink);
  border-color: var(--pmi-ink);
  color: var(--pmi-surface);
}

.pmi-badge--muted {
  background-color: rgba(var(--pmi-ink-rgb), 0.04);
  border-color: var(--pmi-border);
  color: var(--pmi-muted);
}

/* -------------------------------- Griglie ---------------------------------- */

.pmi-grid {
  display: grid;
  gap: var(--pmi-space-5);
}

.pmi-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.pmi-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.pmi-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }

@media (max-width: 991px) {
  .pmi-grid--3,
  .pmi-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 767px) {
  .pmi-grid--2,
  .pmi-grid--3,
  .pmi-grid--4 { grid-template-columns: minmax(0, 1fr); }
}

/* --------------------------- Intestazione sezione -------------------------- */

.pmi-section-header {
  margin-bottom: var(--pmi-space-7);
  max-width: 760px;
}

.pmi-section-header--center {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

.pmi-section-header__title {
  margin-bottom: var(--pmi-space-4);
}

.pmi-section-header__body {
  color: var(--pmi-muted);
  font-size: 18px;
  line-height: 1.55;
}

/* ------------------------------ Sezione scura ------------------------------ */

.pmi-invert,
.pmi-invert h1, .pmi-invert h2, .pmi-invert h3,
.pmi-invert h4, .pmi-invert h5, .pmi-invert h6 {
  color: var(--pmi-surface);
}

.pmi-invert .pmi-card {
  background-color: rgba(255, 255, 255, 0.04);
  border-color: rgba(255, 255, 255, 0.12);
}

.pmi-invert .pmi-section-header__body,
.pmi-invert .pmi-card__body {
  color: rgba(255, 255, 255, 0.68);
}
/* =========================================================================
   Service paths — selettore "Servizi su Misura / Percorsi a Catalogo"
   ========================================================================= */

@keyframes pmi-fade-up-in {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}

.pmi-service-paths {
  padding-bottom: var(--pmi-section-y);
  padding-top: var(--pmi-section-y);
}

.pmi-service-paths__layout {
  display: grid;
  gap: var(--pmi-space-7);
  grid-template-columns: 1fr;
  margin-top: var(--pmi-space-7);
}

@media (min-width: 992px) {
  .pmi-service-paths__layout {
    grid-template-columns: 5fr 7fr;
  }
}

.pmi-service-paths__selectors {
  display: flex;
  flex-direction: column;
  gap: var(--pmi-space-4);
}

@media (min-width: 992px) {
  .pmi-service-paths__selectors {
    align-self: start;
    position: sticky;
    top: 220px;
  }
}

.pmi-service-paths__selector {
  background-color: var(--pmi-surface-alt);
  border: 1px solid var(--pmi-border);
  cursor: pointer;
  display: flex;
  flex-direction: column;
  gap: var(--pmi-space-2);
  padding: var(--pmi-space-5) var(--pmi-space-6);
  text-align: left;
  transition: background-color var(--pmi-duration) var(--pmi-ease),
              border-color var(--pmi-duration) var(--pmi-ease),
              box-shadow var(--pmi-duration) var(--pmi-ease),
              color var(--pmi-duration) var(--pmi-ease);
}

.pmi-service-paths__selector:hover {
  background-color: rgba(var(--pmi-ink-rgb), 0.03);
}

.pmi-service-paths__selector.is-active {
  background-color: var(--pmi-primary);
  border-color: var(--pmi-primary);
  box-shadow: 0 18px 40px rgba(var(--pmi-ink-rgb), 0.14);
  color: var(--pmi-surface);
}

.pmi-service-paths__selector-title {
  display: block;
  font-family: var(--pmi-font-heading);
  font-size: 20px;
  font-weight: 700;
}

.pmi-service-paths__selector-desc {
  font-size: 14px;
  opacity: 0.85;
}

.pmi-service-paths__panes {
  position: relative;
}

.pmi-service-paths__pane {
  animation: pmi-fade-up-in var(--pmi-duration) var(--pmi-ease);
  display: none;
  flex-direction: column;
  gap: var(--pmi-space-7);
}

.pmi-service-paths__pane.is-active {
  display: flex;
}

/* ---- Stepper (Servizi su Misura) ---- */

.pmi-service-paths__stepper {
  display: flex;
  flex-direction: column;
  gap: var(--pmi-space-6);
  list-style: none;
  margin: 0;
  padding: 0;
  position: relative;
}

.pmi-service-paths__stepper::before {
  background-color: var(--pmi-border);
  bottom: 20px;
  content: "";
  left: 19px;
  position: absolute;
  top: 20px;
  width: 2px;
}

.pmi-service-paths__step {
  display: flex;
  gap: var(--pmi-space-5);
  position: relative;
}

.pmi-service-paths__step-index {
  align-items: center;
  background-color: var(--pmi-primary);
  color: var(--pmi-surface);
  display: flex;
  flex: 0 0 auto;
  font-weight: 700;
  height: 40px;
  justify-content: center;
  position: relative;
  width: 40px;
  z-index: 1;
}

.pmi-service-paths__step-body h4 {
  font-family: var(--pmi-font-heading);
  font-size: 18px;
  margin: 0 0 var(--pmi-space-2);
}

/* ---- Callout percorso integrato ---- */

.pmi-service-paths__integrated {
  color: var(--pmi-surface);
  padding: var(--pmi-space-6);
}

.pmi-service-paths__integrated-heading {
  font-weight: 700;
  margin: 0 0 var(--pmi-space-4);
}

.pmi-service-paths__integrated-item {
  padding: var(--pmi-space-4);
}

.pmi-service-paths__integrated-item h5 {
  color: var(--pmi-surface);
  font-family: var(--pmi-font-heading);
  font-size: 16px;
  margin: 0 0 4px;
}

.pmi-service-paths__integrated-item p {
  color: var(--pmi-surface);
  font-size: 14px;
  opacity: 0.85;
}

/* ---- CTA finale (comune a entrambi i pannelli) ---- */

.pmi-service-paths__cta {
  align-items: center;
  background-color: var(--pmi-surface-alt);
  border: 1px solid var(--pmi-border);
  display: flex;
  flex-wrap: wrap;
  gap: var(--pmi-space-4);
  justify-content: space-between;
  padding: var(--pmi-space-6);
}

.pmi-service-paths__cta-text h4 {
  font-family: var(--pmi-font-heading);
  font-size: 18px;
  margin: 0 0 4px;
}

.pmi-service-paths__cta-text p {
  color: var(--pmi-muted);
  font-size: 14px;
  margin: 0;
}

/* ---- Pilastri (Percorsi a Catalogo) ---- */

.pmi-service-paths__pillar {
  background-color: var(--pmi-primary);
  color: var(--pmi-surface);
  padding: var(--pmi-space-5);
}

.pmi-service-paths__pillar .pmi-eyebrow {
  color: rgba(255, 255, 255, 0.75);
}

.pmi-service-paths__pillar h4 {
  font-family: var(--pmi-font-heading);
  font-size: 20px;
  margin: var(--pmi-space-2) 0;
}

.pmi-service-paths__pillar p {
  font-size: 14px;
  opacity: 0.85;
}

.pmi-service-paths__examples-heading {
  color: var(--pmi-muted);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.pmi-service-paths__example {
  background-color: var(--pmi-surface-alt);
  border: 1px solid var(--pmi-border);
  padding: var(--pmi-space-5);
  transition: border-color var(--pmi-duration) var(--pmi-ease);
}

.pmi-service-paths__example:hover {
  border-color: var(--pmi-primary);
}

.pmi-service-paths__example h5 {
  font-family: var(--pmi-font-heading);
  font-size: 16px;
  margin: 0 0 4px;
}

.pmi-service-paths__example p {
  color: var(--pmi-muted);
  font-size: 14px;
  margin: 0;
}
/* =========================================================================
   Master-detail — elenco selezionabile + pannello di dettaglio
   ========================================================================= */

@keyframes pmi-md-fade-in {
  from { opacity: 0; transform: translateY(6px); }
  to { opacity: 1; transform: translateY(0); }
}

.pmi-master-detail {
  padding-bottom: var(--pmi-section-y);
  padding-top: var(--pmi-section-y);
}

.pmi-master-detail__layout {
  display: grid;
  gap: var(--pmi-space-6);
  grid-template-columns: 1fr;
  margin-top: var(--pmi-space-7);
}

@media (min-width: 992px) {
  .pmi-master-detail__layout {
    grid-template-columns: 4fr 8fr;
  }
}

.pmi-master-detail__list {
  display: flex;
  flex-direction: column;
  gap: var(--pmi-space-2);
  overflow-x: auto;
}

@media (max-width: 991px) {
  .pmi-master-detail__list {
    flex-direction: row;
    scroll-snap-type: x mandatory;
  }
}

.pmi-master-detail__tile {
  background-color: var(--pmi-surface-alt);
  border: 1px solid var(--pmi-border);
  cursor: pointer;
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-height: 96px;
  min-width: 240px;
  padding: var(--pmi-space-5);
  scroll-snap-align: start;
  text-align: left;
  transition: background-color var(--pmi-duration) var(--pmi-ease),
              box-shadow var(--pmi-duration) var(--pmi-ease),
              color var(--pmi-duration) var(--pmi-ease);
}

@media (min-width: 992px) {
  .pmi-master-detail__tile {
    min-width: 0;
  }
}

.pmi-master-detail__tile:hover {
  background-color: rgba(var(--pmi-ink-rgb), 0.03);
}

.pmi-master-detail__tile.is-active {
  background-color: var(--pmi-primary);
  box-shadow: 0 18px 40px rgba(var(--pmi-ink-rgb), 0.14);
  color: var(--pmi-surface);
}

.pmi-master-detail__tile-sector {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  opacity: 0.85;
  text-transform: uppercase;
}

.pmi-master-detail__tile-title {
  font-family: var(--pmi-font-heading);
  font-size: 17px;
  font-weight: 700;
  line-height: 1.3;
}

.pmi-master-detail__detail {
  background-color: var(--pmi-surface-alt);
  border: 1px solid var(--pmi-border);
  padding: var(--pmi-space-7);
}

@media (max-width: 560px) {
  .pmi-master-detail__detail {
    padding: var(--pmi-space-5);
  }
}

.pmi-master-detail__pane {
  animation: pmi-md-fade-in 200ms var(--pmi-ease);
  display: none;
  flex-direction: column;
  gap: var(--pmi-space-4);
}

.pmi-master-detail__pane.is-active {
  display: flex;
}

.pmi-master-detail__title {
  font-family: var(--pmi-font-heading);
  font-size: 26px;
  margin: 0;
}

.pmi-master-detail__block {
  border-left: 3px solid var(--pmi-border);
  padding-left: var(--pmi-space-4);
}

.pmi-master-detail__block-label {
  color: var(--pmi-muted);
  display: block;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.05em;
  margin-bottom: 6px;
  text-transform: uppercase;
}

.pmi-master-detail__quote {
  color: var(--pmi-ink);
  font-family: var(--pmi-font-heading);
  font-size: 18px;
  font-style: italic;
  line-height: 1.5;
  margin: 0;
}

.pmi-master-detail__action {
  color: var(--pmi-ink);
  font-size: 15px;
  line-height: 1.6;
  margin: 0;
}

.pmi-master-detail__metric {
  background-color: rgba(var(--pmi-secondary-rgb), 0.08);
  border-left: 3px solid var(--pmi-secondary);
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: var(--pmi-space-4);
}

.pmi-master-detail__metric strong {
  color: var(--pmi-secondary);
  font-family: var(--pmi-font-heading);
  font-size: 22px;
}

.pmi-master-detail__metric span {
  color: var(--pmi-muted);
  font-size: 13px;
}

.pmi-master-detail__footer {
  align-items: center;
  border-top: 1px solid var(--pmi-border);
  display: flex;
  flex-wrap: wrap;
  gap: var(--pmi-space-4);
  justify-content: space-between;
  margin-top: var(--pmi-space-5);
  padding-top: var(--pmi-space-5);
}

.pmi-master-detail__footer-label {
  color: var(--pmi-muted);
  font-size: 14px;
  font-weight: 600;
}
/* =========================================================================
   Vetrina strumenti — carosello a scorrimento con mini-interfacce
   ========================================================================= */

.pmi-tools {
  padding-bottom: var(--pmi-section-y);
  padding-top: var(--pmi-section-y);
}

.pmi-tools__carousel {
  margin-top: var(--pmi-space-7);
  position: relative;
}

.pmi-tools__track {
  -ms-overflow-style: none;
  display: flex;
  gap: var(--pmi-space-6);
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
}

.pmi-tools__track::-webkit-scrollbar {
  display: none;
}

.pmi-tools__slide {
  background-color: var(--pmi-surface-alt);
  border: 1px solid var(--pmi-border);
  display: grid;
  flex: 0 0 auto;
  gap: var(--pmi-space-6);
  grid-template-columns: 1fr;
  padding: var(--pmi-space-6);
  scroll-snap-align: center;
  width: min(88vw, 620px);
}

@media (min-width: 768px) {
  .pmi-tools__slide {
    grid-template-columns: 1fr 1fr;
    width: min(80vw, 860px);
  }
}

.pmi-tools__visual {
  align-items: center;
  display: flex;
  justify-content: center;
}

.pmi-tools__text h3 {
  font-family: var(--pmi-font-heading);
  font-size: 22px;
  margin: 0 0 var(--pmi-space-3);
}

.pmi-tools__text p {
  color: var(--pmi-muted);
  font-size: 15px;
  line-height: 1.6;
  margin: 0 0 var(--pmi-space-4);
}

.pmi-tools__arrow {
  align-items: center;
  background-color: var(--pmi-surface-alt);
  border: 1px solid var(--pmi-border);
  border-radius: 999px;
  cursor: pointer;
  display: flex;
  height: 44px;
  justify-content: center;
  position: absolute;
  top: 42%;
  transform: translateY(-50%);
  transition: transform var(--pmi-duration) var(--pmi-ease),
              opacity var(--pmi-duration) var(--pmi-ease);
  width: 44px;
  z-index: 10;
}

.pmi-tools__arrow:hover {
  transform: translateY(-50%) scale(1.05);
}

.pmi-tools__arrow:active {
  transform: translateY(-50%) scale(0.95);
}

.pmi-tools__arrow svg {
  color: var(--pmi-ink);
  height: 16px;
  width: 16px;
}

.pmi-tools__arrow--prev { left: -8px; }
.pmi-tools__arrow--next { right: -8px; }

@media (max-width: 767px) {
  .pmi-tools__arrow { display: none; }
}

.pmi-tools__dots {
  align-items: center;
  display: flex;
  gap: 8px;
  justify-content: center;
  margin-top: var(--pmi-space-6);
}

.pmi-tools__dot {
  background-color: var(--pmi-border);
  border: 0;
  border-radius: 999px;
  cursor: pointer;
  height: 8px;
  padding: 0;
  transition: background-color var(--pmi-duration) var(--pmi-ease),
              width var(--pmi-duration) var(--pmi-ease);
  width: 8px;
}

.pmi-tools__dot:hover {
  background-color: rgba(var(--pmi-ink-rgb), 0.4);
}

.pmi-tools__dot.is-active {
  background-color: var(--pmi-primary);
  width: 32px;
}

/* ---- Mini-interfacce ---- */

.pmi-tools__mock {
  background-color: var(--pmi-surface);
  border: 1px solid var(--pmi-border);
  display: flex;
  flex-direction: column;
  gap: var(--pmi-space-3);
  padding: var(--pmi-space-5);
  width: 100%;
}

/* Chat */

.pmi-tools__chat-header {
  font-size: 13px;
  font-weight: 700;
}

.pmi-tools__chat-bubble {
  border-radius: 12px;
  font-size: 13px;
  max-width: 90%;
  padding: var(--pmi-space-3) var(--pmi-space-4);
}

.pmi-tools__chat-bubble--user {
  align-self: flex-end;
  background-color: var(--pmi-primary);
  color: var(--pmi-surface);
}

.pmi-tools__chat-bubble--bot {
  align-self: flex-start;
  background-color: var(--pmi-surface-alt);
  border: 1px solid var(--pmi-border);
  color: var(--pmi-ink);
}

/* Dashboard */

.pmi-tools__dashboard-header {
  align-items: center;
  display: flex;
  font-weight: 700;
  justify-content: space-between;
}

@keyframes pmi-tools-pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.4; }
}

.pmi-tools__live-badge {
  animation: pmi-tools-pulse 1.6s ease-in-out infinite;
}

.pmi-tools__dashboard-stats {
  display: grid;
  gap: var(--pmi-space-3);
  grid-template-columns: 1fr 1fr;
}

.pmi-tools__dashboard-stat {
  background-color: var(--pmi-surface-alt);
  border: 1px solid var(--pmi-border);
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: var(--pmi-space-3);
}

.pmi-tools__dashboard-stat-label {
  color: var(--pmi-muted);
  font-size: 12px;
}

.pmi-tools__dashboard-stat strong {
  color: var(--pmi-secondary);
  font-family: var(--pmi-font-heading);
  font-size: 22px;
}

.pmi-tools__dashboard-note {
  color: var(--pmi-secondary);
  font-size: 12px;
  font-weight: 700;
}

/* Compliance */

.pmi-tools__compliance-header {
  display: flex;
  flex-direction: column;
}

.pmi-tools__compliance-header span:first-child {
  font-weight: 700;
}

.pmi-tools__compliance-subtitle {
  color: var(--pmi-muted);
  font-size: 12px;
}

.pmi-tools__compliance-rows {
  display: flex;
  flex-direction: column;
  gap: 6px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.pmi-tools__compliance-rows li {
  align-items: center;
  display: flex;
  font-size: 13px;
  justify-content: space-between;
}

.pmi-tools__compliance-btn {
  background-color: var(--pmi-ink);
  color: var(--pmi-surface);
  font-size: 12px;
  font-weight: 700;
  padding: var(--pmi-space-2) var(--pmi-space-3);
  text-align: center;
}

/* Codice */

.pmi-tools__mock--code {
  background-color: var(--pmi-ink);
}

.pmi-tools__code {
  color: #d7dce3;
  font-family: 'SFMono-Regular', Consolas, Menlo, monospace;
  font-size: 12px;
  line-height: 1.7;
  margin: 0;
  overflow-x: auto;
  white-space: pre;
}

/* Libreria */

.pmi-tools__library-header {
  color: var(--pmi-muted);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.pmi-tools__library-item {
  background-color: var(--pmi-surface-alt);
  border: 1px solid var(--pmi-border);
  padding: var(--pmi-space-3);
}

.pmi-tools__library-item-head {
  align-items: center;
  display: flex;
  font-size: 13px;
  font-weight: 700;
  justify-content: space-between;
  margin-bottom: 4px;
}

.pmi-tools__library-item p {
  color: var(--pmi-muted);
  font-size: 12px;
  margin: 0;
}

/* Sandbox */

.pmi-tools__sandbox-header {
  font-weight: 700;
}

.pmi-tools__mock--sandbox p {
  color: var(--pmi-muted);
  font-size: 13px;
  margin: 0;
}

.pmi-tools__sandbox-footer {
  align-items: center;
  border-top: 1px solid var(--pmi-border);
  display: flex;
  font-size: 12px;
  justify-content: space-between;
  padding-top: var(--pmi-space-3);
}
/* =========================================================================
   Calcolatore Impatto AI — "Cobra Engine", modale a schermo intero, 8 step
   Stile squadrato (border-radius: 0 ovunque) coerente con i pulsanti HubSpot
   configurati nel tema.
   ========================================================================= */

.pmi-ai-calc-trigger-wrap {
  display: flex;
}

/* Disclaimer legale sempre presente sulla pagina, fuori dal modale:
   visibile a chiunque atterri sulla pagina, anche senza aprire il
   calcolatore. */
.pmi-ai-calc__page-disclaimer {
  color: var(--pmi-muted);
  font-size: 12px;
  line-height: 1.6;
  margin: var(--pmi-space-4) auto 0;
  max-width: 760px;
  text-align: center;
}

.pmi-ai-calc {
  background-color: var(--pmi-surface);
  bottom: 0;
  left: 0;
  opacity: 0;
  position: fixed;
  right: 0;
  top: 0;
  transition: opacity var(--pmi-duration) var(--pmi-ease);
  z-index: 2147483000;
}

.pmi-ai-calc[hidden] {
  display: none;
}

.pmi-ai-calc.is-visible {
  opacity: 1;
}

.pmi-ai-calc__panel {
  display: flex;
  flex-direction: column;
  height: 100%;
  width: 100%;
}

.pmi-ai-calc__columns {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  min-height: 0;
}

@media (min-width: 992px) {
  .pmi-ai-calc__columns {
    flex-direction: row;
  }
}

/* ---- Sidebar scura ---- */

.pmi-ai-calc__sidebar {
  background-color: var(--pmi-ink);
  color: var(--pmi-surface);
  display: flex;
  flex: 0 0 auto;
  flex-direction: column;
  justify-content: space-between;
  padding: var(--pmi-space-5);
  position: relative;
}

@media (min-width: 992px) {
  .pmi-ai-calc__sidebar {
    flex-basis: 34%;
    max-width: 420px;
    padding: var(--pmi-space-7);
  }
}

.pmi-ai-calc__sidebar-inner {
  display: flex;
  flex-direction: column;
  gap: var(--pmi-space-5);
  max-width: 420px;
}

.pmi-ai-calc__sidebar-brand {
  align-items: center;
  display: flex;
  gap: var(--pmi-space-3);
}

.pmi-ai-calc__sidebar-logo {
  display: block;
  height: auto;
  max-height: 32px;
  width: auto;
}

.pmi-ai-calc__sidebar-tagline {
  color: rgba(255, 255, 255, 0.6);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.pmi-ai-calc__eyebrow {
  background-color: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.18);
  color: rgba(255, 255, 255, 0.85);
  display: inline-block;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.05em;
  padding: 5px 10px;
  text-transform: uppercase;
}

.pmi-ai-calc__eyebrow--success {
  background-color: rgba(var(--pmi-secondary-rgb), 0.16);
  border-color: rgba(var(--pmi-secondary-rgb), 0.4);
  color: var(--pmi-secondary);
}

.pmi-ai-calc__sidebar-title {
  font-family: var(--pmi-font-heading);
  font-size: 24px;
  line-height: 1.15;
  margin: var(--pmi-space-3) 0 0;
}

.pmi-ai-calc__sidebar-body {
  color: rgba(255, 255, 255, 0.72);
  font-size: 14px;
  line-height: 1.6;
  margin-top: var(--pmi-space-3);
}

.pmi-ai-calc__sidebar-recap {
  background-color: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.14);
  margin-top: var(--pmi-space-4);
  padding: var(--pmi-space-4);
}

.pmi-ai-calc__sidebar-recap-row {
  align-items: center;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
  display: flex;
  font-size: 13px;
  justify-content: space-between;
  padding: var(--pmi-space-2) 0;
}

.pmi-ai-calc__sidebar-recap-row:last-child {
  border-bottom: 0;
}

.pmi-ai-calc__sidebar-recap-row span {
  color: rgba(255, 255, 255, 0.6);
}

.pmi-ai-calc__sidebar-recap-row strong {
  color: var(--pmi-surface);
}

.pmi-ai-calc__sidebar-footnote {
  border-top: 1px solid rgba(255, 255, 255, 0.14);
  color: rgba(255, 255, 255, 0.5);
  display: none;
  font-size: 11px;
  line-height: 1.6;
  margin: 0;
  padding-top: var(--pmi-space-4);
}

@media (min-width: 992px) {
  .pmi-ai-calc__sidebar-footnote {
    display: block;
  }
}

/* ---- Work area ---- */

.pmi-ai-calc__work {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  min-height: 0;
}

/* ---- Barra superiore ---- */

.pmi-ai-calc__topbar {
  align-items: center;
  border-bottom: 1px solid var(--pmi-border);
  display: flex;
  flex: 0 0 auto;
  justify-content: space-between;
  padding: var(--pmi-space-4) var(--pmi-space-5);
}

@media (min-width: 992px) {
  .pmi-ai-calc__topbar {
    padding: var(--pmi-space-5) var(--pmi-space-8) var(--pmi-space-4);
  }
}

/* Nota legale persistente: visibile in ogni step del wizard e nei risultati,
   su qualunque dispositivo (a differenza della sidebar-footnote, nascosta
   sotto i 992px) — deve restare sempre leggibile, non solo su desktop. */
.pmi-ai-calc__legal-strip {
  background-color: var(--pmi-surface-alt);
  border-bottom: 1px solid var(--pmi-border);
  color: var(--pmi-muted);
  flex: 0 0 auto;
  font-size: 11px;
  line-height: 1.5;
  margin: 0;
  padding: 6px var(--pmi-space-5);
  text-align: center;
}

@media (min-width: 992px) {
  .pmi-ai-calc__legal-strip {
    padding: 6px var(--pmi-space-8);
  }
}

.pmi-ai-calc__topbar-eyebrow {
  color: var(--pmi-muted);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.pmi-ai-calc__topbar-right {
  align-items: center;
  display: flex;
  gap: var(--pmi-space-3);
}

.pmi-ai-calc__progress-wrap {
  align-items: center;
  background-color: var(--pmi-surface-alt);
  border: 1px solid var(--pmi-border);
  display: flex;
  gap: var(--pmi-space-3);
  padding: 7px 14px;
}

.pmi-ai-calc__progress-wrap.is-hidden {
  visibility: hidden;
}

.pmi-ai-calc__progress-wrap span {
  color: var(--pmi-primary);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  white-space: nowrap;
}

.pmi-ai-calc__progress {
  background-color: var(--pmi-border);
  height: 6px;
  overflow: hidden;
  width: 90px;
}

@media (min-width: 560px) {
  .pmi-ai-calc__progress {
    width: 130px;
  }
}

.pmi-ai-calc__progress-bar {
  background-color: var(--pmi-primary);
  height: 100%;
  transition: width var(--pmi-duration) var(--pmi-ease);
  width: 12.5%;
}

.pmi-ai-calc__exit {
  align-items: center;
  background-color: var(--pmi-surface);
  border: 1px solid var(--pmi-border);
  color: var(--pmi-muted);
  cursor: pointer;
  display: inline-flex;
  flex: 0 0 auto;
  font-size: 13px;
  font-weight: 700;
  gap: 6px;
  padding: 8px 14px;
  transition: background-color var(--pmi-duration) var(--pmi-ease),
              border-color var(--pmi-duration) var(--pmi-ease),
              color var(--pmi-duration) var(--pmi-ease);
}

.pmi-ai-calc__exit svg {
  height: 14px;
  width: 14px;
}

.pmi-ai-calc__exit:hover {
  background-color: rgba(var(--pmi-primary-rgb), 0.06);
  border-color: rgba(var(--pmi-primary-rgb), 0.4);
  color: var(--pmi-primary);
}

/* ---- Corpo scrollabile ---- */

.pmi-ai-calc__body {
  flex: 1 1 auto;
  overflow-y: auto;
  padding: var(--pmi-space-6) var(--pmi-space-5) var(--pmi-space-8);
}

@media (min-width: 992px) {
  .pmi-ai-calc__body {
    padding: var(--pmi-space-7) var(--pmi-space-8) var(--pmi-space-8);
  }
}

.pmi-ai-calc__body > * {
  margin-left: auto;
  margin-right: auto;
  max-width: 640px;
}

.pmi-ai-calc__back {
  align-items: center;
  background: none;
  border: 0;
  color: var(--pmi-primary);
  cursor: pointer;
  display: flex;
  font-size: 13px;
  font-weight: 700;
  gap: 4px;
  margin-bottom: var(--pmi-space-4);
  padding: 0;
}

.pmi-ai-calc__back svg {
  height: 16px;
  width: 16px;
}

.pmi-ai-calc__back[hidden] {
  display: none;
}

.pmi-ai-calc__error {
  background-color: rgba(var(--pmi-primary-rgb), 0.06);
  border: 1px solid rgba(var(--pmi-primary-rgb), 0.35);
  color: var(--pmi-primary);
  font-size: 13px;
  font-weight: 600;
  margin-bottom: var(--pmi-space-4);
  padding: var(--pmi-space-3) var(--pmi-space-4);
}

/* ---- Step ---- */

.pmi-ai-calc__step {
  animation: pmi-ai-calc-step-in var(--pmi-duration) var(--pmi-ease);
  display: none;
  flex-direction: column;
  gap: var(--pmi-space-4);
}

.pmi-ai-calc__step.is-active {
  display: flex;
}

@keyframes pmi-ai-calc-step-in {
  from {
    opacity: 0;
    transform: translateY(8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.pmi-ai-calc__step-title {
  font-family: var(--pmi-font-heading);
  font-size: 24px;
  line-height: 1.2;
  margin: 0;
}

.pmi-ai-calc__step-body {
  color: var(--pmi-muted);
  font-size: 14px;
  line-height: 1.6;
  margin: 0;
}

/* ---- Titolo domanda + pulsante "?" con esempi pratici ---- */

.pmi-ai-calc__step-head {
  align-items: flex-start;
  display: flex;
  gap: var(--pmi-space-3);
  justify-content: space-between;
}

.pmi-ai-calc__help-toggle {
  align-items: center;
  background-color: var(--pmi-surface-alt);
  border: 1px solid var(--pmi-border);
  color: var(--pmi-primary);
  cursor: pointer;
  display: inline-flex;
  flex: 0 0 auto;
  font-size: 13px;
  font-weight: 700;
  height: 26px;
  justify-content: center;
  margin-top: 2px;
  width: 26px;
  transition: background-color var(--pmi-duration) var(--pmi-ease),
              border-color var(--pmi-duration) var(--pmi-ease);
}

.pmi-ai-calc__help-toggle:hover,
.pmi-ai-calc__help-toggle[aria-expanded="true"] {
  background-color: rgba(var(--pmi-primary-rgb), 0.08);
  border-color: rgba(var(--pmi-primary-rgb), 0.4);
}

.pmi-ai-calc__help-panel {
  background-color: var(--pmi-surface-alt);
  border-left: 3px solid var(--pmi-secondary);
  display: none;
  font-size: 13px;
  line-height: 1.6;
  padding: var(--pmi-space-3) var(--pmi-space-4);
}

.pmi-ai-calc__help-panel.is-open {
  display: block;
}

.pmi-ai-calc__help-panel strong {
  color: var(--pmi-secondary);
  display: block;
  font-size: 11px;
  letter-spacing: 0.04em;
  margin-bottom: 6px;
  text-transform: uppercase;
}

.pmi-ai-calc__help-panel ul {
  margin: 0;
  padding-left: 18px;
}

.pmi-ai-calc__help-panel li {
  margin-bottom: 4px;
}

.pmi-ai-calc__help-panel li:last-child {
  margin-bottom: 0;
}

/* ---- Step 1: settore ---- */

.pmi-ai-calc__macro-filter {
  display: grid;
  gap: 6px;
  grid-template-columns: repeat(2, 1fr);
}

@media (min-width: 560px) {
  .pmi-ai-calc__macro-filter {
    grid-template-columns: repeat(4, 1fr);
  }
}

.pmi-ai-calc__macro {
  background-color: var(--pmi-surface-alt);
  border: 1px solid var(--pmi-border);
  color: var(--pmi-ink);
  cursor: pointer;
  font-size: 12px;
  font-weight: 700;
  padding: 8px 10px;
  transition: background-color var(--pmi-duration) var(--pmi-ease),
              border-color var(--pmi-duration) var(--pmi-ease),
              color var(--pmi-duration) var(--pmi-ease);
}

.pmi-ai-calc__macro.is-selected {
  background-color: var(--pmi-primary);
  border-color: var(--pmi-primary);
  color: var(--pmi-surface);
}

.pmi-ai-calc__sector-list {
  border-left: 2px solid var(--pmi-border);
  display: flex;
  flex-direction: column;
  gap: 6px;
  max-height: 300px;
  overflow-y: auto;
  padding: var(--pmi-space-3);
}

.pmi-ai-calc__sector-item {
  align-items: center;
  background-color: var(--pmi-surface);
  border: 1px solid var(--pmi-border);
  color: var(--pmi-ink);
  cursor: pointer;
  display: flex;
  font-size: 13px;
  font-weight: 600;
  justify-content: space-between;
  padding: 10px 12px;
  text-align: left;
  transition: background-color var(--pmi-duration) var(--pmi-ease),
              border-color var(--pmi-duration) var(--pmi-ease),
              color var(--pmi-duration) var(--pmi-ease);
}

.pmi-ai-calc__sector-item.is-selected {
  background-color: var(--pmi-primary);
  border-color: var(--pmi-primary);
  color: var(--pmi-surface);
}

.pmi-ai-calc__check {
  color: var(--pmi-secondary);
  font-weight: 900;
}

.pmi-ai-calc__sector-item.is-selected .pmi-ai-calc__check {
  color: var(--pmi-surface);
}

/* ---- Liste opzione (step 2, 3, 4, 5) ---- */

.pmi-ai-calc__option-list {
  display: flex;
  flex-direction: column;
  gap: var(--pmi-space-3);
}

.pmi-ai-calc__option-list--grid {
  display: grid;
  gap: var(--pmi-space-3);
  grid-template-columns: 1fr;
}

@media (min-width: 560px) {
  .pmi-ai-calc__option-list--grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

.pmi-ai-calc__option {
  align-items: center;
  background-color: var(--pmi-surface);
  border: 1px solid var(--pmi-border);
  color: var(--pmi-ink);
  cursor: pointer;
  display: flex;
  gap: var(--pmi-space-3);
  justify-content: space-between;
  padding: var(--pmi-space-4);
  text-align: left;
  transition: background-color var(--pmi-duration) var(--pmi-ease),
              border-color var(--pmi-duration) var(--pmi-ease),
              color var(--pmi-duration) var(--pmi-ease);
}

.pmi-ai-calc__option strong {
  display: block;
  font-size: 14px;
}

.pmi-ai-calc__option small {
  color: var(--pmi-muted);
  display: block;
  font-size: 12px;
  margin-top: 2px;
}

.pmi-ai-calc__option.is-selected {
  background-color: var(--pmi-primary);
  border-color: var(--pmi-primary);
  color: var(--pmi-surface);
}

.pmi-ai-calc__option.is-selected small {
  color: rgba(255, 255, 255, 0.75);
}

.pmi-ai-calc__chevron {
  color: var(--pmi-muted);
  flex: 0 0 auto;
  transition: transform var(--pmi-duration) var(--pmi-ease);
}

.pmi-ai-calc__option.is-selected .pmi-ai-calc__chevron {
  color: var(--pmi-surface);
  transform: translateX(3px);
}

.pmi-ai-calc__checkmark {
  align-items: center;
  border: 1px solid var(--pmi-border);
  color: var(--pmi-surface);
  display: inline-flex;
  flex: 0 0 auto;
  font-size: 11px;
  font-weight: 900;
  height: 20px;
  justify-content: center;
  width: 20px;
}

.pmi-ai-calc__option.is-selected .pmi-ai-calc__checkmark {
  background-color: var(--pmi-secondary);
  border-color: var(--pmi-secondary);
}

.pmi-ai-calc__gestionale-wrap {
  margin-top: -8px;
}

/* ---- Step 6: domande dinamiche ---- */

.pmi-ai-calc__freq-block {
  border-top: 1px solid var(--pmi-border);
  padding-top: var(--pmi-space-4);
}

.pmi-ai-calc__freq-block:first-child {
  border-top: 0;
  padding-top: 0;
}

.pmi-ai-calc__freq-title {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.02em;
  margin: 0 0 4px;
  text-transform: uppercase;
  color: var(--pmi-primary);
}

.pmi-ai-calc__grid {
  display: grid;
  gap: var(--pmi-space-3);
  grid-template-columns: repeat(2, 1fr);
  margin-top: var(--pmi-space-3);
}

@media (min-width: 560px) {
  .pmi-ai-calc__grid:not(.pmi-ai-calc__grid--list) {
    grid-template-columns: repeat(4, 1fr);
  }
}

/* Domande a scelta singola (step 6): tutte le opzioni su una riga sola,
   scrollabile orizzontalmente quando non entrano nella larghezza disponibile. */
.pmi-ai-calc__grid--list {
  display: flex;
  flex-wrap: nowrap;
  gap: var(--pmi-space-3);
  margin-left: calc(var(--pmi-space-1, 4px) * -1);
  margin-right: calc(var(--pmi-space-1, 4px) * -1);
  overflow-x: auto;
  padding: 2px var(--pmi-space-1, 4px) 10px;
  scroll-snap-type: x proximity;
  -webkit-overflow-scrolling: touch;
}

.pmi-ai-calc__grid--list .pmi-ai-calc__chip {
  flex: 1 1 0;
  min-width: 132px;
  scroll-snap-align: start;
  white-space: normal;
}

@media (min-width: 720px) {
  .pmi-ai-calc__grid--list {
    overflow-x: visible;
  }

  .pmi-ai-calc__grid--list .pmi-ai-calc__chip {
    min-width: 0;
  }
}

.pmi-ai-calc__chip {
  background-color: var(--pmi-surface-alt);
  border: 1px solid var(--pmi-border);
  color: var(--pmi-ink);
  cursor: pointer;
  font-size: 13px;
  font-weight: 600;
  padding: var(--pmi-space-3);
  text-align: left;
  transition: border-color var(--pmi-duration) var(--pmi-ease),
              background-color var(--pmi-duration) var(--pmi-ease),
              color var(--pmi-duration) var(--pmi-ease);
}

.pmi-ai-calc__chip.is-selected {
  background-color: var(--pmi-primary);
  border-color: var(--pmi-primary);
  color: var(--pmi-surface);
}

/* ---- Step 7: nota libera ---- */

.pmi-ai-calc__counter {
  color: var(--pmi-muted);
  display: block;
  font-size: 11px;
  margin-top: -8px;
  text-align: right;
}

/* ---- Lead form ---- */

.pmi-ai-calc__form-row {
  display: grid;
  gap: var(--pmi-space-3);
  grid-template-columns: 1fr;
}

@media (min-width: 560px) {
  .pmi-ai-calc__form-row {
    grid-template-columns: 1fr 1fr;
  }
}

.pmi-ai-calc__checkbox {
  align-items: flex-start;
  display: flex;
  font-size: 12.5px;
  gap: var(--pmi-space-2);
  line-height: 1.5;
}

.pmi-ai-calc__checkbox input {
  margin-top: 3px;
  width: auto;
}

.pmi-ai-calc__submit.is-loading {
  opacity: 0.7;
  pointer-events: none;
}

/* ---- Schermata risultati ---- */

.pmi-ai-calc__results {
  display: none;
  flex-direction: column;
  gap: var(--pmi-space-5);
  overflow-y: auto;
  padding: var(--pmi-space-6) var(--pmi-space-5) var(--pmi-space-8);
}

.pmi-ai-calc__results.is-active {
  display: flex;
}

@media (min-width: 992px) {
  .pmi-ai-calc__results {
    padding: var(--pmi-space-7) var(--pmi-space-8) var(--pmi-space-8);
  }
}

.pmi-ai-calc__results > * {
  margin-left: auto;
  margin-right: auto;
  max-width: 720px;
  width: 100%;
}

.pmi-ai-calc__results-banner {
  border: 1px solid var(--pmi-border);
  display: grid;
  gap: var(--pmi-space-4);
  grid-template-columns: 1fr;
  padding: var(--pmi-space-5);
}

@media (min-width: 560px) {
  .pmi-ai-calc__results-banner {
    grid-template-columns: 1fr 1fr;
  }
}

.pmi-ai-calc__results-banner .pmi-ai-calc__result-label {
  color: var(--pmi-muted);
  display: block;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.04em;
  margin-bottom: 6px;
  text-transform: uppercase;
}

.pmi-ai-calc__results-banner strong {
  display: block;
  font-family: var(--pmi-font-heading);
  font-size: 30px;
}

.pmi-ai-calc__result--accent {
  color: var(--pmi-primary);
}

.pmi-ai-calc__result-unit {
  color: var(--pmi-muted);
  font-size: 12px;
}

.pmi-ai-calc__results-sub {
  color: var(--pmi-muted);
  font-size: 12px;
  font-style: italic;
  margin: 0;
}

.pmi-ai-calc__intro-block {
  background-color: rgba(var(--pmi-primary-rgb), 0.045);
  border-left: 3px solid var(--pmi-primary);
  padding: var(--pmi-space-4) var(--pmi-space-5);
}

.pmi-ai-calc__intro-eyebrow {
  color: var(--pmi-primary);
  display: block;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.05em;
  margin-bottom: 6px;
  text-transform: uppercase;
}

.pmi-ai-calc__intro {
  color: var(--pmi-ink);
  font-size: 15px;
  line-height: 1.7;
  margin: 0;
}

.pmi-ai-calc__block-title {
  font-size: 16px;
  font-weight: 700;
  margin: 0;
}

.pmi-ai-calc__intervention {
  border: 1px solid var(--pmi-border);
  margin-top: var(--pmi-space-3);
  padding: var(--pmi-space-4);
}

.pmi-ai-calc__intervention-head {
  align-items: flex-start;
  display: flex;
  gap: var(--pmi-space-3);
  justify-content: space-between;
}

.pmi-ai-calc__intervention-head h4 {
  font-size: 15px;
  font-weight: 700;
  margin: 0;
}

.pmi-ai-calc__badge {
  background-color: rgba(var(--pmi-primary-rgb), 0.1);
  color: var(--pmi-primary);
  display: inline-block;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.03em;
  margin-left: 6px;
  padding: 2px 8px;
  text-transform: uppercase;
  white-space: nowrap;
}

.pmi-ai-calc__difficulty {
  color: var(--pmi-primary);
  flex: 0 0 auto;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.pmi-ai-calc__intervention p {
  color: var(--pmi-muted);
  font-size: 13.5px;
  line-height: 1.55;
  margin: var(--pmi-space-2) 0 0;
}

.pmi-ai-calc__first-step {
  background-color: var(--pmi-surface-alt);
  border-left: 3px solid var(--pmi-primary);
  font-size: 13px;
  line-height: 1.55;
  margin-top: var(--pmi-space-3);
  padding: var(--pmi-space-3);
}

.pmi-ai-calc__first-step strong {
  color: var(--pmi-primary);
  display: block;
  font-size: 11px;
  letter-spacing: 0.03em;
  margin-bottom: 2px;
  text-transform: uppercase;
}

.pmi-ai-calc__scarto {
  background-color: var(--pmi-surface-alt);
  border-left: 3px solid var(--pmi-primary);
  padding: var(--pmi-space-4);
}

.pmi-ai-calc__scarto strong {
  color: var(--pmi-primary);
  display: block;
  font-size: 13.5px;
  margin-bottom: 6px;
}

.pmi-ai-calc__scarto p {
  color: var(--pmi-ink);
  font-size: 13px;
  line-height: 1.55;
  margin: 0;
}

.pmi-ai-calc__success-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--pmi-space-3);
}

.pmi-ai-calc__reset {
  align-self: flex-start;
  background: none;
  border: 0;
  color: var(--pmi-muted);
  cursor: pointer;
  font-size: 13px;
  font-weight: 600;
  text-decoration: underline;
}

.pmi-ai-calc__disclaimer {
  color: var(--pmi-muted);
  font-size: 11px;
  line-height: 1.6;
  margin: 0;
}

body.pmi-ai-calc-open {
  overflow: hidden;
}
/* =========================================================================
   Iscrizione webinar — wizard a 4 step + conferma + personalizzazione
   ========================================================================= */

@keyframes pmi-webinar-step-in {
  from { opacity: 0; transform: translateX(16px); }
  to { opacity: 1; transform: translateX(0); }
}

.pmi-webinar-form__card {
  background-color: var(--pmi-surface-alt);
  border-radius: 20px;
  box-shadow: 0 24px 60px rgba(var(--pmi-ink-rgb), 0.12);
  padding: var(--pmi-space-7);
}

.pmi-webinar-form__heading {
  font-family: var(--pmi-font-heading);
  font-size: 22px;
  margin: 0 0 var(--pmi-space-5);
}

.pmi-webinar-form__progress {
  display: flex;
  gap: 6px;
  margin-bottom: var(--pmi-space-6);
}

.pmi-webinar-form__progress-step {
  background-color: var(--pmi-border);
  border-radius: 999px;
  flex: 1 1 0;
  height: 4px;
  transition: background-color var(--pmi-duration) var(--pmi-ease);
}

.pmi-webinar-form__progress-step.is-active,
.pmi-webinar-form__progress-step.is-done {
  background-color: var(--pmi-primary);
}

.pmi-webinar-form__error {
  align-items: flex-start;
  background-color: rgba(var(--pmi-primary-rgb), 0.06);
  border: 1px solid rgba(var(--pmi-primary-rgb), 0.35);
  border-radius: 10px;
  color: var(--pmi-primary);
  font-size: 13px;
  margin-bottom: var(--pmi-space-4);
  padding: var(--pmi-space-3) var(--pmi-space-4);
}

.pmi-webinar-form__step {
  display: none;
}

.pmi-webinar-form__step.is-active {
  animation: pmi-webinar-step-in 200ms var(--pmi-ease);
  display: flex;
  flex-direction: column;
  gap: var(--pmi-space-4);
}

.pmi-webinar-form__sessions {
  display: flex;
  flex-direction: column;
  gap: var(--pmi-space-3);
}

.pmi-webinar-form__session {
  align-items: center;
  background-color: var(--pmi-surface);
  border: 1px solid var(--pmi-border);
  border-radius: 12px;
  cursor: pointer;
  display: flex;
  gap: var(--pmi-space-3);
  padding: var(--pmi-space-4);
  text-align: left;
  transition: border-color var(--pmi-duration) var(--pmi-ease),
              background-color var(--pmi-duration) var(--pmi-ease);
}

.pmi-webinar-form__session:hover:not(.is-disabled) {
  border-color: rgba(var(--pmi-primary-rgb), 0.4);
}

.pmi-webinar-form__session.is-selected {
  background-color: rgba(var(--pmi-primary-rgb), 0.06);
  border-color: var(--pmi-primary);
}

.pmi-webinar-form__session.is-disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

.pmi-webinar-form__session-radio {
  border: 2px solid var(--pmi-border);
  border-radius: 50%;
  flex: 0 0 auto;
  height: 18px;
  position: relative;
  width: 18px;
}

.pmi-webinar-form__session.is-selected .pmi-webinar-form__session-radio {
  border-color: var(--pmi-primary);
}

.pmi-webinar-form__session.is-selected .pmi-webinar-form__session-radio::after {
  background-color: var(--pmi-primary);
  border-radius: 50%;
  content: "";
  height: 10px;
  left: 2px;
  position: absolute;
  top: 2px;
  width: 10px;
}

.pmi-webinar-form__session-body {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  gap: 2px;
  font-size: 14px;
}

.pmi-webinar-form__session-seats {
  color: var(--pmi-secondary);
  flex: 0 0 auto;
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
}

.pmi-webinar-form__empty {
  background-color: rgba(var(--pmi-secondary-rgb), 0.08);
  border-left: 3px solid var(--pmi-secondary);
  color: var(--pmi-ink);
  font-size: 14px;
  padding: var(--pmi-space-4);
}

.pmi-field {
  display: block;
}

.pmi-field span {
  display: block;
  font-size: 13px;
  font-weight: 600;
  margin-bottom: var(--pmi-space-2);
}

.pmi-webinar-form__recap {
  background-color: var(--pmi-surface);
  border: 1px solid var(--pmi-border);
  border-radius: 12px;
  font-family: 'SFMono-Regular', Consolas, Menlo, monospace;
  font-size: 13px;
  line-height: 1.8;
  padding: var(--pmi-space-4);
}

.pmi-webinar-form__privacy {
  align-items: flex-start;
  display: flex;
  font-size: 13px;
  gap: var(--pmi-space-2);
}

.pmi-webinar-form__privacy input {
  margin-top: 3px;
  width: auto;
}

.pmi-webinar-form__nav {
  display: flex;
  gap: var(--pmi-space-3);
  justify-content: flex-end;
  margin-top: var(--pmi-space-6);
}

/* ---- Conferma ---- */

.pmi-webinar-form__success {
  background-color: var(--pmi-surface-alt);
  border-radius: 20px;
  box-shadow: 0 24px 60px rgba(var(--pmi-ink-rgb), 0.12);
  padding: var(--pmi-space-7);
  text-align: center;
}

.pmi-webinar-form__success-badge {
  background-color: var(--pmi-success);
  border-radius: 50%;
  color: var(--pmi-surface);
  display: inline-flex;
  height: 56px;
  margin-bottom: var(--pmi-space-4);
  padding: 14px;
  width: 56px;
}

.pmi-webinar-form__ticket {
  background-color: var(--pmi-surface);
  border: 1px solid var(--pmi-border);
  border-radius: 12px;
  margin: var(--pmi-space-5) 0;
  padding: var(--pmi-space-4);
  text-align: left;
}

.pmi-webinar-form__success-badges {
  display: flex;
  flex-wrap: wrap;
  gap: var(--pmi-space-2);
  justify-content: center;
  margin-bottom: var(--pmi-space-5);
}

.pmi-webinar-form__success-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--pmi-space-3);
  justify-content: center;
}

/* ---- Personalizzazione post-iscrizione ---- */

.pmi-webinar-form__personalize {
  background-color: var(--pmi-ink);
  border-radius: 16px;
  color: var(--pmi-surface);
  margin-top: var(--pmi-space-7);
  padding: var(--pmi-space-6);
  text-align: left;
}

.pmi-webinar-form__personalize-top {
  margin-bottom: var(--pmi-space-5);
}

.pmi-webinar-form__personalize h4 {
  font-family: var(--pmi-font-heading);
  font-size: 17px;
  margin: 0 0 var(--pmi-space-3);
}

.pmi-webinar-form__personalize-progress {
  background-color: rgba(255, 255, 255, 0.15);
  border-radius: 999px;
  height: 4px;
  width: 96px;
}

.pmi-webinar-form__personalize-bar {
  background-color: var(--pmi-surface);
  border-radius: 999px;
  height: 100%;
  transition: width var(--pmi-duration) var(--pmi-ease);
  width: 25%;
}

.pmi-webinar-form__p-step {
  display: none;
  flex-direction: column;
  gap: var(--pmi-space-4);
}

.pmi-webinar-form__p-step.is-active {
  animation: pmi-webinar-step-in 200ms var(--pmi-ease);
  display: flex;
}

.pmi-webinar-form__p-step p {
  font-size: 14px;
  margin: 0;
  opacity: 0.85;
}

.pmi-webinar-form__p-step .pmi-field span {
  color: var(--pmi-surface);
}

.pmi-webinar-form__choice-grid {
  display: grid;
  gap: var(--pmi-space-2);
  grid-template-columns: repeat(2, 1fr);
}

.pmi-webinar-form__choice {
  background-color: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 8px;
  color: var(--pmi-surface);
  cursor: pointer;
  font-size: 13px;
  padding: var(--pmi-space-3);
  text-align: left;
  transition: background-color var(--pmi-duration) var(--pmi-ease),
              border-color var(--pmi-duration) var(--pmi-ease);
}

.pmi-webinar-form__choice:hover {
  background-color: rgba(255, 255, 255, 0.12);
}

.pmi-webinar-form__choice.is-selected {
  background-color: var(--pmi-primary);
  border-color: var(--pmi-primary);
}

.pmi-webinar-form__personalize-done {
  background-color: rgba(var(--pmi-success-rgb, 14, 138, 123), 0.12);
  border-left: 3px solid var(--pmi-success);
  border-radius: 8px;
  color: var(--pmi-success);
  font-size: 14px;
  font-weight: 600;
  margin-top: var(--pmi-space-6);
  padding: var(--pmi-space-4);
  text-align: left;
}

/* ---- Mobile ----
   Il padding fisso (48px) e la griglia 2 colonne per le scelte di
   personalizzazione strizzano troppo lo spazio utile su telefono. */

@media (max-width: 560px) {
  .pmi-webinar-form__card,
  .pmi-webinar-form__success {
    border-radius: 16px;
    padding: var(--pmi-space-5);
  }

  .pmi-webinar-form__heading {
    font-size: 19px;
  }

  .pmi-webinar-form__personalize {
    border-radius: 14px;
    margin-top: var(--pmi-space-5);
    padding: var(--pmi-space-4);
  }

  .pmi-webinar-form__nav {
    flex-direction: column-reverse;
    gap: var(--pmi-space-2);
  }

  .pmi-webinar-form__nav .pmi-button {
    width: 100%;
  }

  .pmi-webinar-form__session {
    padding: var(--pmi-space-3);
  }
}

@media (max-width: 460px) {
  .pmi-webinar-form__choice-grid {
    grid-template-columns: 1fr;
  }
}
/* =========================================================================
   Hero webinar scura — badge, titolo, griglia meta
   ========================================================================= */

.pmi-webinar-hero-dark {
  color: var(--pmi-surface);
  position: relative;
}

.pmi-webinar-hero-dark__motif {
  display: grid;
  gap: 6px;
  grid-template-columns: repeat(6, 26px);
  grid-template-rows: repeat(4, 26px);
  opacity: 0.9;
  position: absolute;
  right: -40px;
  top: 0;
}

@media (max-width: 767px) {
  .pmi-webinar-hero-dark__motif { display: none; }
}

.pmi-webinar-hero-dark__motif span {
  background: rgba(252, 251, 248, 0.09);
  border-radius: 2px;
}

.pmi-webinar-hero-dark__motif span.is-accent {
  background: var(--pmi-primary);
}

.pmi-webinar-hero-dark__content {
  display: flex;
  flex-direction: column;
  gap: 26px;
  max-width: 620px;
  position: relative;
}

.pmi-webinar-hero-dark__badge {
  align-items: center;
  align-self: flex-start;
  background: rgba(190, 58, 44, 0.14);
  border: 1px solid rgba(190, 58, 44, 0.5);
  border-radius: 100px;
  display: flex;
  gap: 10px;
  padding: 8px 16px;
}

.pmi-webinar-hero-dark__badge span:last-child {
  color: #F0B3AB;
  font-family: var(--pmi-font-mono);
  font-size: 11.5px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.pmi-webinar-hero-dark__badge-dot {
  background: var(--pmi-primary);
  border-radius: 2px;
  height: 8px;
  width: 8px;
}

.pmi-webinar-hero-dark__title {
  font-family: var(--pmi-font-heading);
  font-size: clamp(34px, 4.6vw, 60px);
  font-weight: 700;
  letter-spacing: -0.015em;
  line-height: 1.06;
  margin: 0;
}

.pmi-webinar-hero-dark__subtitle {
  color: rgb(200, 204, 210);
  font-size: 19px;
  line-height: 1.5;
}

.pmi-webinar-hero-dark__subtitle strong {
  color: var(--pmi-surface);
  font-weight: 600;
}

.pmi-webinar-hero-dark__bullets {
  display: flex;
  flex-direction: column;
  gap: 12px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.pmi-webinar-hero-dark__bullets li {
  font-size: 15.5px;
  line-height: 1.5;
  padding-left: 26px;
  position: relative;
}

.pmi-webinar-hero-dark__bullets li::before {
  color: var(--pmi-surface);
  content: "\2713";
  left: 0;
  position: absolute;
}

.pmi-webinar-hero-dark__metrics {
  display: flex;
  flex-wrap: wrap;
  gap: var(--pmi-space-6);
}

.pmi-webinar-hero-dark__metric strong {
  display: block;
  font-family: var(--pmi-font-heading);
  font-size: 26px;
  font-weight: 700;
}

.pmi-webinar-hero-dark__metric span {
  color: rgb(138, 143, 152);
  font-size: 13px;
}

.pmi-webinar-hero-dark__meta {
  background: rgba(252, 251, 248, 0.13);
  border: 1px solid rgba(252, 251, 248, 0.13);
  border-radius: 8px;
  display: grid;
  gap: 1px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  overflow: hidden;
}

.pmi-webinar-hero-dark__meta-item {
  background: var(--pmi-ink);
  display: flex;
  flex-direction: column;
  gap: 5px;
  padding: 18px 20px;
}

.pmi-webinar-hero-dark__meta-label {
  color: rgb(138, 143, 152);
  font-family: var(--pmi-font-mono);
  font-size: 10px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.pmi-webinar-hero-dark__meta-value {
  font-size: 16px;
  font-weight: 600;
}
/* =========================================================================
   Form di iscrizione webinar — step singolo
   ========================================================================= */

.pmi-lead-form__card {
  background: var(--pmi-surface);
  border-radius: 10px;
  box-shadow: 0 18px 44px rgba(0, 0, 0, 0.32);
  color: var(--pmi-ink);
  padding: 30px 32px 28px;
}

.pmi-lead-form__heading {
  font-family: var(--pmi-font-heading);
  font-size: 27px;
  font-weight: 700;
  line-height: 1.15;
  margin-bottom: 4px;
}

.pmi-lead-form__description {
  color: var(--pmi-muted);
  font-size: 14px;
  line-height: 1.55;
  margin-bottom: 22px;
}

.pmi-lead-form__error {
  background-color: rgba(var(--pmi-primary-rgb), 0.06);
  border: 1px solid rgba(var(--pmi-primary-rgb), 0.35);
  border-radius: 6px;
  color: var(--pmi-primary);
  font-size: 13px;
  margin-bottom: var(--pmi-space-3);
  padding: var(--pmi-space-3);
}

.pmi-lead-form__row {
  display: grid;
  gap: 14px;
  grid-template-columns: 1fr 1fr;
  margin-bottom: 16px;
}

@media (max-width: 560px) {
  .pmi-lead-form__row { grid-template-columns: 1fr; }
}

.pmi-lead-form__card .pmi-field {
  display: block;
  margin-bottom: 16px;
}

.pmi-lead-form__row .pmi-field {
  margin-bottom: 0;
}

.pmi-lead-form__card .pmi-field span:first-child {
  color: var(--pmi-muted);
  display: block;
  font-family: var(--pmi-font-mono);
  font-size: 10px;
  letter-spacing: 0.16em;
  margin-bottom: 6px;
  text-transform: uppercase;
}

.pmi-lead-form__card input,
.pmi-lead-form__card select,
.pmi-lead-form__card textarea {
  border: 1px solid rgba(var(--pmi-ink-rgb), 0.22);
  border-radius: 5px;
  font-size: 14.5px;
  padding: 11px 12px;
}

.pmi-lead-form__card textarea {
  min-height: 70px;
  resize: vertical;
}

.pmi-lead-form__help {
  color: var(--pmi-muted);
  display: block;
  font-size: 12px;
  margin-top: 4px;
}

.pmi-lead-form__checkbox {
  align-items: flex-start;
  display: flex;
  font-size: 12.5px;
  gap: 8px;
  line-height: 1.5;
  margin-bottom: 12px;
}

.pmi-lead-form__checkbox input {
  margin-top: 3px;
  width: auto;
}

.pmi-lead-form__checkbox a {
  color: var(--pmi-primary);
}

.pmi-course-context {
  background: rgba(var(--pmi-ink-rgb), 0.04);
  border: 1px solid rgba(var(--pmi-ink-rgb), 0.14);
  border-radius: 6px;
  margin-bottom: 16px;
  padding: 10px 12px;
}

.pmi-course-context__label {
  color: var(--pmi-muted);
  display: block;
  font-family: var(--pmi-font-mono);
  font-size: 10px;
  letter-spacing: 0.16em;
  margin-bottom: 6px;
  text-transform: uppercase;
}

.pmi-course-context__row {
  align-items: center;
  display: flex;
  gap: 10px;
}

.pmi-course-context select {
  background: transparent;
  border: none;
  flex: 1;
  font-size: 14.5px;
  font-weight: 600;
  padding: 0;
}

.pmi-course-context.is-locked select {
  -webkit-appearance: none;
  appearance: none;
  color: var(--pmi-ink);
  opacity: 1;
}

.pmi-course-context__edit {
  background: none;
  border: none;
  color: var(--pmi-primary);
  cursor: pointer;
  flex-shrink: 0;
  font-size: 12.5px;
  font-weight: 600;
  padding: 0;
  text-decoration: underline;
}

.pmi-lead-form__submit {
  justify-content: center;
  margin-top: 4px;
  width: 100%;
}

.pmi-lead-form__note {
  color: var(--pmi-muted);
  font-size: 12px;
  margin: 10px 0 0;
  text-align: center;
}

.pmi-lead-form__success {
  padding: 12px 0 4px;
  text-align: center;
}

.pmi-lead-form__success-badge {
  background-color: var(--pmi-success);
  border-radius: 50%;
  color: var(--pmi-surface);
  display: inline-flex;
  height: 52px;
  margin-bottom: var(--pmi-space-4);
  padding: 13px;
  width: 52px;
}

.pmi-lead-form__success-title {
  font-family: var(--pmi-font-heading);
  font-size: 22px;
  font-weight: 700;
  margin-bottom: var(--pmi-space-2);
}

.pmi-lead-form__success p {
  color: var(--pmi-muted);
  font-size: 14px;
  margin: 0;
}

/* ---- Mobile ----
   Sotto i 560px il padding fisso (32px) e una descrizione lunga prima dei
   campi rubano spazio utile alla parte che conta: i campi del form. Il
   riquadro si stringe, l'intestazione si compatta e la nota/disclaimer in
   fondo resta leggera, cosi' il form riceve tutto lo spazio disponibile. */

@media (max-width: 560px) {
  .pmi-lead-form__card {
    border-radius: 8px;
    padding: var(--pmi-space-5) var(--pmi-space-4);
  }

  .pmi-lead-form__heading {
    font-size: 21px;
  }

  .pmi-lead-form__description {
    font-size: 13px;
    margin-bottom: var(--pmi-space-4);
  }

  .pmi-lead-form__note {
    font-size: 11px;
  }
}
/* =========================================================================
   Embed HubSpot Meetings (prenota un orario)
   ========================================================================= */

.pmi-meetings-embed__card {
  padding: var(--pmi-space-5) var(--pmi-space-5) var(--pmi-space-4);
}

.pmi-meetings-embed__frame {
  border-radius: 8px;
  overflow: hidden;
  position: relative;
}

.pmi-meetings-embed__loading {
  align-items: center;
  color: var(--pmi-muted);
  display: flex;
  font-size: 13px;
  height: 100%;
  justify-content: center;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}

.pmi-meetings-embed__frame .meetings-iframe-container {
  min-height: inherit;
  position: relative;
  z-index: 1;
}

.pmi-meetings-embed__frame .meetings-iframe-container iframe {
  min-height: inherit;
  width: 100%;
}

.pmi-meetings-embed__missing {
  background: rgba(var(--pmi-primary-rgb), 0.06);
  border: 1px dashed rgba(var(--pmi-primary-rgb), 0.35);
  border-radius: 6px;
  color: var(--pmi-primary);
  font-size: 13px;
  padding: var(--pmi-space-4);
}

@media (max-width: 560px) {
  .pmi-meetings-embed__card {
    padding: var(--pmi-space-4);
  }
}
/* =========================================================================
   Catalogo corsi — barra filtri/ordinamento, teaser metodo, scheda corso
   (le card corso usano .pmi-course__* gia' definite in _modules.css)
   ========================================================================= */

.pmi-course-catalog__toolbar {
  background-color: var(--pmi-surface-alt);
  border: 1px solid var(--pmi-border);
  border-radius: 10px;
  margin: var(--pmi-space-7) auto 0;
  max-width: var(--pmi-content-width);
  padding: var(--pmi-space-4) var(--pmi-space-5);
  position: relative;
}

.pmi-course-catalog__bar {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: var(--pmi-space-4);
  justify-content: space-between;
}

.pmi-course-catalog__count {
  color: var(--pmi-muted);
  font-size: 14px;
  margin: 0;
}

.pmi-course-catalog__actions {
  align-items: center;
  display: flex;
  gap: var(--pmi-space-3);
}

/* ------------------------------- Icon button -------------------------------- */

.pmi-course-catalog__icon-btn {
  align-items: center;
  background-color: var(--pmi-surface);
  border: 1px solid var(--pmi-border);
  border-radius: 8px;
  color: var(--pmi-ink);
  cursor: pointer;
  display: inline-flex;
  flex: 0 0 auto;
  gap: 8px;
  height: 38px;
  justify-content: center;
  padding: 0;
  transition: border-color var(--pmi-duration) var(--pmi-ease);
  width: 38px;
}

.pmi-course-catalog__icon-btn:hover,
.pmi-course-catalog__icon-btn[aria-expanded="true"] {
  border-color: var(--pmi-primary);
}

.pmi-course-catalog__icon-btn svg {
  fill: none;
  flex: 0 0 auto;
  height: 16px;
  stroke: currentColor;
  stroke-width: 2;
  width: 16px;
}

.pmi-course-catalog__icon-btn--filter {
  font-size: 13px;
  font-weight: 700;
  padding-inline: 14px;
  position: relative;
  width: auto;
}

.pmi-course-catalog__icon-btn--filter span { white-space: nowrap; }

.pmi-course-catalog__filter-badge {
  align-items: center;
  background-color: var(--pmi-primary);
  border-radius: 999px;
  color: var(--pmi-surface);
  display: inline-flex;
  font-size: 11px;
  font-weight: 700;
  height: 18px;
  justify-content: center;
  min-width: 18px;
  padding: 0 5px;
}

.pmi-course-catalog__filter-badge[hidden] { display: none; }

/* ----------------------------- Ricerca espandibile --------------------------- */

.pmi-course-catalog__search {
  align-items: center;
  display: flex;
  gap: 8px;
}

.pmi-course-catalog__search-input {
  background: none;
  border: 0;
  border-radius: 8px;
  color: var(--pmi-ink);
  font-family: var(--pmi-font-body);
  font-size: 14px;
  opacity: 0;
  outline: none;
  padding: 0;
  pointer-events: none;
  transition: width var(--pmi-duration) var(--pmi-ease),
              opacity var(--pmi-duration) var(--pmi-ease),
              padding var(--pmi-duration) var(--pmi-ease);
  width: 0;
}

.pmi-course-catalog__search.is-open .pmi-course-catalog__search-input {
  background-color: var(--pmi-surface);
  border: 1px solid var(--pmi-border);
  opacity: 1;
  padding: 0 12px;
  pointer-events: auto;
  width: 220px;
}

/* --------------------------------- Filtri: pannello -------------------------- */

.pmi-course-catalog__filter-menu { position: relative; }

.pmi-course-catalog__panel {
  background-color: var(--pmi-surface);
  border: 1px solid var(--pmi-border);
  border-radius: 10px;
  box-shadow: 0 24px 48px rgba(var(--pmi-ink-rgb), 0.16);
  display: none;
  flex-direction: column;
  position: absolute;
  right: 0;
  top: calc(100% + 10px);
  width: 320px;
  z-index: 500;
}

.pmi-course-catalog__filter-menu.is-open .pmi-course-catalog__panel { display: flex; }

.pmi-course-catalog__panel-header {
  align-items: center;
  border-bottom: 1px solid var(--pmi-border);
  display: flex;
  font-size: 13px;
  font-weight: 700;
  justify-content: space-between;
  letter-spacing: 0.04em;
  padding: var(--pmi-space-4) var(--pmi-space-5);
  text-transform: uppercase;
}

.pmi-course-catalog__panel-close {
  background: none;
  border: 0;
  color: var(--pmi-muted);
  cursor: pointer;
  display: none;
  padding: 4px;
}

.pmi-course-catalog__panel-close svg {
  fill: none;
  height: 16px;
  stroke: currentColor;
  stroke-width: 2;
  width: 16px;
}

.pmi-course-catalog__panel-body {
  display: flex;
  flex-direction: column;
  gap: var(--pmi-space-5);
  overflow-y: auto;
  padding: var(--pmi-space-5);
}

.pmi-course-catalog__panel-footer {
  align-items: center;
  border-top: 1px solid var(--pmi-border);
  display: flex;
  gap: var(--pmi-space-3);
  justify-content: space-between;
  padding: var(--pmi-space-4) var(--pmi-space-5);
}

.pmi-course-catalog__reset {
  background: none;
  border: 0;
  color: var(--pmi-muted);
  cursor: pointer;
  font-size: 13px;
  font-weight: 700;
  padding: 0;
  text-decoration: underline;
}

.pmi-course-catalog__filter-group {
  display: flex;
  flex-direction: column;
  gap: var(--pmi-space-3);
}

.pmi-course-catalog__filter-label {
  color: var(--pmi-muted);
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.pmi-course-catalog__chips {
  display: flex;
  flex-wrap: wrap;
  gap: var(--pmi-space-2);
}

.pmi-course-catalog__chip {
  background-color: var(--pmi-surface-alt);
  border: 1px solid var(--pmi-border);
  border-radius: 6px;
  color: var(--pmi-muted);
  cursor: pointer;
  font-size: 13px;
  font-weight: 600;
  padding: 6px 14px;
  transition: background-color var(--pmi-duration) var(--pmi-ease),
              border-color var(--pmi-duration) var(--pmi-ease),
              color var(--pmi-duration) var(--pmi-ease);
}

.pmi-course-catalog__chip:hover { border-color: var(--pmi-primary); }

.pmi-course-catalog__chip.is-active {
  background-color: var(--pmi-surface);
  border: 2px solid var(--pmi-primary);
  color: var(--pmi-primary);
  font-weight: 700;
  padding: 5px 13px;
}

.pmi-course-catalog__sort-select {
  background-color: var(--pmi-surface-alt);
  border: 1px solid var(--pmi-border);
  border-radius: 8px;
  font-family: var(--pmi-font-body);
  font-size: 13px;
  font-weight: 600;
  padding: 8px 12px;
  width: 100%;
}

@media (max-width: 767px) {
  .pmi-course-catalog__search.is-open { flex: 1 1 100%; }
  .pmi-course-catalog__search.is-open .pmi-course-catalog__search-input { width: 100%; }

  .pmi-course-catalog__panel-close { display: inline-flex; }

  .pmi-course-catalog__panel {
    border: 0;
    border-radius: 16px 16px 0 0;
    bottom: 0;
    box-shadow: 0 -8px 40px rgba(var(--pmi-ink-rgb), 0.2);
    left: 0;
    max-height: 85vh;
    position: fixed;
    right: 0;
    top: auto;
    width: auto;
  }

  .pmi-course-catalog__panel-body { flex: 1 1 auto; }
}

/* ----------------------------- Filtri attivi (pill) --------------------------- */

.pmi-course-catalog__active {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: var(--pmi-space-2);
  margin-top: var(--pmi-space-4);
}

.pmi-course-catalog__active[hidden] { display: none; }

.pmi-course-catalog__active-pill {
  align-items: center;
  background-color: var(--pmi-surface);
  border: 1px solid var(--pmi-border);
  border-radius: 999px;
  color: var(--pmi-ink);
  display: inline-flex;
  font-size: 12.5px;
  font-weight: 600;
  gap: 6px;
  padding: 5px 6px 5px 12px;
}

.pmi-course-catalog__active-pill button {
  align-items: center;
  background: none;
  border: 0;
  border-radius: 999px;
  color: var(--pmi-muted);
  cursor: pointer;
  display: inline-flex;
  height: 18px;
  justify-content: center;
  width: 18px;
}

.pmi-course-catalog__active-pill button:hover { color: var(--pmi-primary); }

.pmi-course-catalog__active-pill button svg {
  fill: none;
  height: 10px;
  stroke: currentColor;
  stroke-width: 2.5;
  width: 10px;
}

/* --------------------------------- Backdrop mobile ---------------------------- */

.pmi-course-catalog__backdrop {
  background-color: rgba(var(--pmi-ink-rgb), 0.45);
  inset: 0;
  position: fixed;
  z-index: 490;
}

.pmi-course-catalog__backdrop[hidden] { display: none; }

@media (min-width: 768px) {
  .pmi-course-catalog__backdrop { display: none !important; }
}

.pmi-course-catalog__no-results {
  color: var(--pmi-muted);
  padding: var(--pmi-space-7) 0;
  text-align: center;
}

/* ------------------------------- Teaser metodo ------------------------------ */

.pmi-course-teaser {
  background-color: var(--pmi-surface-dark);
  color: var(--pmi-surface);
  padding: var(--pmi-space-8) var(--pmi-gutter);
}

.pmi-course-teaser__inner {
  margin-inline: auto;
  max-width: var(--pmi-content-width);
}

.pmi-course-teaser .pmi-eyebrow { color: rgba(255, 255, 255, 0.75); }

.pmi-course-teaser h2 {
  font-family: var(--pmi-font-heading);
  font-size: 30px;
  margin: var(--pmi-space-3) 0 var(--pmi-space-4);
  max-width: 46ch;
}

.pmi-course-teaser > .pmi-course-teaser__inner > p {
  max-width: 68ch;
  opacity: 0.85;
}

.pmi-course-teaser__grid { margin-top: var(--pmi-space-7); }

.pmi-course-teaser__item h3 {
  font-family: var(--pmi-font-heading);
  font-size: 17px;
  margin: 0 0 var(--pmi-space-2);
}

.pmi-course-teaser__item p {
  font-size: 14px;
  opacity: 0.8;
}

.pmi-course-teaser__included {
  border-top: 1px solid rgba(255, 255, 255, 0.15);
  margin-top: var(--pmi-space-7);
  padding-top: var(--pmi-space-6);
}

.pmi-course-teaser__included-label {
  color: var(--pmi-secondary);
  display: block;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.04em;
  margin-bottom: var(--pmi-space-4);
  text-transform: uppercase;
}

.pmi-course-teaser__included ul {
  color: rgba(255, 255, 255, 0.85);
  font-size: 14px;
  list-style: none;
  margin: 0;
  padding: 0;
}

/* --------------------------------- Dettaglio -------------------------------- */

.pmi-course-hero {
  margin-inline: auto;
  max-width: var(--pmi-content-width);
  padding: var(--pmi-section-y) var(--pmi-gutter) 0;
}

.pmi-course-hero__status { margin-bottom: var(--pmi-space-4); }

.pmi-course-hero__categories {
  display: flex;
  flex-wrap: wrap;
  gap: var(--pmi-space-2);
  margin-bottom: var(--pmi-space-4);
}

.pmi-course-hero__category-tag {
  text-decoration: none;
  transition: background-color var(--pmi-duration) var(--pmi-ease),
              border-color var(--pmi-duration) var(--pmi-ease),
              color var(--pmi-duration) var(--pmi-ease);
}

.pmi-course-hero__category-tag:hover {
  border-color: var(--pmi-primary);
  color: var(--pmi-primary);
}

.pmi-course-hero__title {
  font-family: var(--pmi-font-heading);
  font-size: clamp(28px, 6vw, 44px);
  margin: var(--pmi-space-4) 0 var(--pmi-space-3);
}

.pmi-course-hero__meta {
  color: var(--pmi-muted);
  display: flex;
  flex-wrap: wrap;
  font-size: 13px;
  font-weight: 700;
  gap: var(--pmi-space-2);
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.pmi-course-hero__meta-sep { opacity: 0.5; }

.pmi-course-hero__subtitle {
  font-family: var(--pmi-font-heading);
  font-size: 22px;
  margin: var(--pmi-space-5) 0 var(--pmi-space-3);
  max-width: 60ch;
}

.pmi-course-hero__description {
  color: var(--pmi-muted);
  max-width: 68ch;
}

.pmi-course-hero__infogrid {
  border-top: 1px solid var(--pmi-border);
  margin-top: var(--pmi-space-6);
  padding-top: var(--pmi-space-6);
}

.pmi-course-hero__info-label {
  color: var(--pmi-muted);
  display: block;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.05em;
  margin-bottom: 4px;
  text-transform: uppercase;
}

.pmi-course-hero__infogrid p { margin: 0; }

.pmi-course-hero__who {
  border-top: 1px solid var(--pmi-border);
  margin-top: var(--pmi-space-6);
  padding-top: var(--pmi-space-6);
}

.pmi-course-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--pmi-space-4);
  margin-top: var(--pmi-space-7);
}

/* ------------------------------ Syllabus / moduli ---------------------------- */

.pmi-course-syllabus__block { margin-top: var(--pmi-space-4); }

.pmi-course-syllabus__topics {
  column-gap: var(--pmi-space-5);
}

@media (min-width: 640px) {
  .pmi-course-syllabus__topics {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
}

.pmi-course-syllabus__tools {
  display: flex;
  flex-wrap: wrap;
  gap: var(--pmi-space-2);
}

.pmi-course-syllabus__extras {
  background-color: var(--pmi-surface);
  border: 1px solid var(--pmi-border);
  border-radius: 12px;
  display: grid;
  grid-template-columns: 1fr;
  margin-top: var(--pmi-space-5);
}

@media (min-width: 640px) {
  .pmi-course-syllabus__extras {
    grid-template-columns: 1fr 1fr;
  }
}

.pmi-course-syllabus__extra {
  padding: var(--pmi-space-4) var(--pmi-space-5);
}

.pmi-course-syllabus__extra + .pmi-course-syllabus__extra {
  border-top: 1px solid var(--pmi-border);
}

@media (min-width: 640px) {
  .pmi-course-syllabus__extra + .pmi-course-syllabus__extra {
    border-left: 1px solid var(--pmi-border);
    border-top: 0;
  }
}

/* ----------------------------- Barra sticky prezzo --------------------------- */

.pmi-course-sticky-bar {
  background-color: var(--pmi-surface-alt);
  border-top: 1px solid var(--pmi-border);
  bottom: 0;
  box-shadow: 0 -12px 32px rgba(var(--pmi-ink-rgb), 0.1);
  left: 0;
  position: fixed;
  right: 0;
  transform: translateY(100%);
  transition: transform var(--pmi-duration) var(--pmi-ease);
  z-index: 450;
}

.pmi-course-sticky-bar.is-visible { transform: translateY(0); }

.pmi-course-sticky-bar__inner {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: var(--pmi-space-4);
  justify-content: space-between;
  margin: 0 auto;
  max-width: var(--pmi-content-width);
  padding: var(--pmi-space-3) var(--pmi-gutter);
}

.pmi-course-sticky-bar__meta {
  align-items: center;
  column-gap: var(--pmi-space-5);
  display: flex;
  flex-wrap: wrap;
  min-width: 0;
  row-gap: 4px;
}

.pmi-course-sticky-bar__title {
  display: none;
  font-family: var(--pmi-font-heading);
  font-size: 16px;
  font-weight: 700;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

@media (min-width: 768px) {
  .pmi-course-sticky-bar__title { display: block; }
}

.pmi-course-sticky-bar__price {
  color: var(--pmi-primary);
  flex: 0 0 auto;
  font-family: var(--pmi-font-heading);
  font-size: 19px;
  font-weight: 700;
}

.pmi-course-sticky-bar__actions {
  align-items: center;
  display: flex;
  flex: 0 0 auto;
  gap: var(--pmi-space-3);
}


/* ============================== Wrapper pulsante ========================== */

.pmi-button-wrapper--left { text-align: left; }
.pmi-button-wrapper--center { text-align: center; }
.pmi-button-wrapper--right { text-align: right; }

/* ================================== Hero ================================== */

.pmi-hero {
  overflow: hidden;
  padding-bottom: 70px;
  padding-top: 70px;
  position: relative;
  width: 100%;
}

@keyframes pmi-hero-blob {
  0%, 100% { transform: translate(0, 0) scale(1); }
  33% { transform: translate(20px, -24px) scale(1.08); }
  66% { transform: translate(-16px, 16px) scale(0.94); }
}

.pmi-hero__blob {
  border-radius: 50%;
  filter: blur(60px);
  opacity: 0.35;
  position: absolute;
  z-index: 0;
}

.pmi-hero__blob--1 {
  animation: pmi-hero-blob 15s ease-in-out infinite;
  background-color: var(--pmi-primary);
  height: 320px;
  left: -60px;
  top: -40px;
  width: 320px;
}

.pmi-hero__blob--2 {
  animation: pmi-hero-blob 15s ease-in-out infinite;
  animation-delay: 2s;
  background-color: var(--pmi-secondary);
  bottom: -60px;
  height: 260px;
  opacity: 0.25;
  right: 5%;
  width: 260px;
}

.pmi-hero__blob--3 {
  animation: pmi-hero-blob 15s ease-in-out infinite;
  animation-delay: 4s;
  background-color: var(--pmi-primary);
  height: 200px;
  opacity: 0.2;
  right: 20%;
  top: 20%;
  width: 200px;
}

@media (prefers-reduced-motion: reduce) {
  .pmi-hero__blob { animation: none; }
}

.pmi-hero__scroll-indicator {
  background: none;
  border: 0;
  bottom: var(--pmi-space-4);
  color: var(--pmi-ink);
  cursor: pointer;
  display: flex;
  flex-direction: column;
  gap: -6px;
  left: 50%;
  opacity: 0.4;
  padding: var(--pmi-space-2);
  position: fixed;
  transform: translateX(-50%);
  transition: opacity var(--pmi-duration) var(--pmi-ease);
  z-index: 3;
}

.pmi-hero__scroll-indicator.is-scrolled {
  bottom: var(--pmi-space-3);
  position: absolute;
}

.pmi-hero__scroll-indicator:hover,
.pmi-hero__scroll-indicator:focus-visible {
  opacity: 1;
}

.pmi-hero__scroll-indicator svg {
  height: 18px;
  margin-top: -6px;
  transform: scaleY(0.75);
  transition: transform var(--pmi-duration) var(--pmi-ease);
  width: 18px;
}

.pmi-hero__scroll-indicator:hover svg,
.pmi-hero__scroll-indicator:focus-visible svg {
  transform: scaleY(1);
}

@media (max-width: 767px) {
  .pmi-hero__scroll-indicator { display: none; }
}

.pmi-hero__inner {
  align-items: center;
  display: grid;
  gap: var(--pmi-space-8);
  grid-template-columns: minmax(0, 1fr);
  margin: 0 auto;
  max-width: var(--pmi-content-width);
  position: relative;
  z-index: 2;
}

.pmi-hero--split .pmi-hero__inner {
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
}

.pmi-hero--centered.pmi-hero--align-center .pmi-hero__inner,
.pmi-hero--full.pmi-hero--align-center .pmi-hero__inner {
  max-width: 900px;
  text-align: center;
}

.pmi-hero--centered.pmi-hero--align-center .pmi-hero__actions,
.pmi-hero--full.pmi-hero--align-center .pmi-hero__actions {
  justify-content: center;
}

/* Un titolo corto resta leggibile centrato anche su due righe, ma un
   paragrafo di piu' righe si legge peggio centrato (margini frastagliati
   su entrambi i lati). Sotto i 767px riportiamo a sinistra solo il testo
   lungo (corpo, elenchi), lasciando titolo ed eyebrow come impostati. */
@media (max-width: 767px) {
  .pmi-hero--align-center .pmi-hero__body,
  .pmi-hero--align-center .pmi-hero__highlights {
    margin-inline: 0;
    text-align: left;
  }
}

.pmi-hero__title {
  margin-bottom: var(--pmi-space-5);
}

.pmi-hero__accent { color: var(--pmi-primary); }

.pmi-hero__body {
  margin-bottom: var(--pmi-space-6);
  max-width: 56ch;
}

.pmi-hero--centered.pmi-hero--align-center .pmi-hero__body,
.pmi-hero--full.pmi-hero--align-center .pmi-hero__body { margin-inline: auto; }

.pmi-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--pmi-space-4);
}

.pmi-hero__highlights {
  display: flex;
  flex-wrap: wrap;
  gap: var(--pmi-space-5);
  list-style: none;
  margin: var(--pmi-space-6) 0 0;
  padding: 0;
}

.pmi-hero__highlights li {
  align-items: center;
  color: var(--pmi-muted);
  display: flex;
  font-size: 14px;
  font-weight: 600;
  gap: var(--pmi-space-2);
  margin: 0;
}

.pmi-hero__highlights svg {
  fill: var(--pmi-secondary);
  height: 15px;
  width: 15px;
}

.pmi-hero__media img {
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.pmi-hero__media--arch img { border-radius: 999px 999px 0 0; }
.pmi-hero__media--circle img { aspect-ratio: 1 / 1; border-radius: 50%; }
.pmi-hero__media--square img { border-radius: 0; }
.pmi-hero__media--capsule img { border-radius: 999px 0 0 999px; }
.pmi-hero__media--side-left.pmi-hero__media--capsule img { border-radius: 0 999px 999px 0; }

.pmi-hero__media--side-left { order: -1; }

.pmi-hero__media--valign-top { align-self: start; }
.pmi-hero__media--valign-bottom { align-self: end; }

.pmi-hero__media--pin-right {
  margin-right: calc(-1 * max(0px, (100vw - var(--pmi-content-width))) / 2);
}

.pmi-hero__media--pin-left {
  margin-left: calc(-1 * max(0px, (100vw - var(--pmi-content-width))) / 2);
}

.pmi-hero__bg {
  background-position: center;
  background-size: cover;
  inset: 0;
  position: absolute;
  z-index: 0;
}

.pmi-hero__scrim {
  background-color: var(--pmi-ink);
  inset: 0;
  position: absolute;
  z-index: 1;
}

.pmi-hero--full,
.pmi-hero--full h1, .pmi-hero--full h2, .pmi-hero--full .pmi-hero__body {
  color: var(--pmi-surface);
}

@media (max-width: 991px) {
  .pmi-hero--split .pmi-hero__inner { grid-template-columns: minmax(0, 1fr); }
  .pmi-hero__media { order: -1; }
}

/* Su mobile l'immagine hero e' nascosta di default: sposta giu' titolo,
   testo e CTA senza guadagnare nulla in cambio dello spazio verticale che
   occupa. Resta disponibile per chi la vuole riattivare per una hero
   specifica aggiungendo la classe pmi-hero--show-media-mobile al modulo. */
@media (max-width: 767px) {
  .pmi-hero__media {
    display: none;
  }

  .pmi-hero--show-media-mobile .pmi-hero__media {
    display: block;
  }
}

/* =============================== Countdown ================================= */

.pmi-countdown-wrap {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: var(--pmi-space-5);
}

.pmi-countdown-wrap[hidden] { display: none; }

.pmi-countdown__intro {
  color: var(--pmi-muted);
  font-family: var(--pmi-font-mono);
  font-size: 10.5px;
  letter-spacing: 0.18em;
  line-height: 1.5;
  max-width: 96px;
  text-transform: uppercase;
}

.pmi-countdown {
  display: flex;
  gap: var(--pmi-space-2);
}

.pmi-countdown__unit {
  background-color: var(--pmi-surface-alt);
  border: 1px solid var(--pmi-border);
  border-radius: 6px;
  display: flex;
  flex: 1 1 0;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  min-width: 62px;
  padding: 10px 14px;
}

.pmi-countdown__value {
  color: var(--pmi-primary);
  font-family: var(--pmi-font-mono);
  font-size: 24px;
  font-variant-numeric: tabular-nums;
  font-weight: 500;
  line-height: 1.1;
}

.pmi-countdown__label {
  color: var(--pmi-muted);
  font-family: var(--pmi-font-mono);
  font-size: 9px;
  letter-spacing: 0.14em;
  margin-top: 2px;
  text-transform: uppercase;
}

.pmi-countdown-wrap--dark .pmi-countdown__intro {
  color: rgb(138, 143, 152);
}

.pmi-countdown-wrap--dark .pmi-countdown__unit {
  background-color: rgba(252, 251, 248, 0.07);
  border-color: rgba(252, 251, 248, 0.13);
}

.pmi-countdown-wrap--dark .pmi-countdown__value {
  color: var(--pmi-surface);
}

.pmi-countdown-wrap--dark .pmi-countdown__label {
  color: rgb(138, 143, 152);
}

/* ============================== ROI Calculator ============================= */

.pmi-roi-calc {
  padding-bottom: var(--pmi-section-y);
  padding-top: var(--pmi-section-y);
  display: grid;
  gap: var(--pmi-space-7);
  grid-template-columns: 1fr;
}

@media (min-width: 992px) {
  .pmi-roi-calc {
    grid-template-columns: 5fr 7fr;
  }
}

.pmi-roi-calc__title {
  font-family: var(--pmi-font-heading);
  font-size: 28px;
  margin: var(--pmi-space-3) 0;
}

.pmi-roi-calc__body {
  font-size: 16px;
  opacity: 0.9;
}

.pmi-roi-calc__panel {
  background-color: var(--pmi-surface);
  border-radius: 20px;
  color: var(--pmi-ink);
  display: flex;
  flex-direction: column;
  gap: var(--pmi-space-5);
  padding: var(--pmi-space-6);
}

.pmi-roi-calc__slider label {
  align-items: center;
  color: var(--pmi-ink);
  display: flex;
  font-size: 14px;
  font-weight: 600;
  justify-content: space-between;
  margin-bottom: var(--pmi-space-2);
}

.pmi-roi-calc__slider output {
  color: var(--pmi-primary);
  font-weight: 700;
}

.pmi-roi-calc__slider input[type="range"] {
  -webkit-appearance: none;
  appearance: none;
  background: var(--pmi-border);
  border-radius: 999px;
  height: 4px;
  width: 100%;
}

.pmi-roi-calc__slider input[type="range"]::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  background-color: var(--pmi-primary);
  border-radius: 50%;
  cursor: pointer;
  height: 18px;
  width: 18px;
}

.pmi-roi-calc__slider input[type="range"]::-moz-range-thumb {
  background-color: var(--pmi-primary);
  border: 0;
  border-radius: 50%;
  cursor: pointer;
  height: 18px;
  width: 18px;
}

.pmi-roi-calc__results {
  display: grid;
  gap: var(--pmi-space-4);
  grid-template-columns: 1fr 1fr;
}

.pmi-roi-calc__result {
  background-color: var(--pmi-surface-alt);
  border-radius: 12px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: var(--pmi-space-4);
}

.pmi-roi-calc__result strong {
  color: var(--pmi-ink);
  font-family: var(--pmi-font-heading);
  font-size: 26px;
}

.pmi-roi-calc__result--accent strong {
  color: var(--pmi-primary);
}

.pmi-roi-calc__result-label {
  color: var(--pmi-muted);
  font-size: 12px;
}

.pmi-roi-calc__result-sub {
  color: var(--pmi-muted);
  font-size: 13px;
}

.pmi-roi-calc__cta {
  justify-content: center;
  border-radius: 999px;
}

/* ================================= Agenda =================================== */

.pmi-agenda {
  padding-bottom: var(--pmi-section-y);
  padding-top: var(--pmi-section-y);
}

.pmi-agenda__list {
  display: flex;
  flex-direction: column;
  gap: var(--pmi-space-4);
  margin-top: var(--pmi-space-6);
}

.pmi-agenda__item {
  background-color: var(--pmi-surface-alt);
  border: 1px solid var(--pmi-border);
  border-radius: 16px;
}

.pmi-agenda__summary {
  align-items: center;
  cursor: pointer;
  display: flex;
  gap: var(--pmi-space-4);
  list-style: none;
  padding: var(--pmi-space-5);
}

.pmi-agenda__summary::-webkit-details-marker { display: none; }

.pmi-agenda__indicator {
  border: 2px solid var(--pmi-border);
  flex: 0 0 auto;
  height: 12px;
  width: 12px;
}

.pmi-agenda__item[open] .pmi-agenda__indicator {
  background-color: var(--pmi-primary);
  border-color: var(--pmi-primary);
}

.pmi-agenda__time {
  color: var(--pmi-primary);
  flex: 0 0 auto;
  font-family: var(--pmi-font-heading);
  font-size: 14px;
  font-weight: 700;
  width: 52px;
}

.pmi-agenda__heading {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  gap: 2px;
}

.pmi-agenda__item-title {
  font-family: var(--pmi-font-heading);
  font-size: 17px;
  font-weight: 700;
}

.pmi-agenda__item-subtitle {
  color: var(--pmi-muted);
  font-size: 13px;
}

.pmi-agenda__content {
  display: block !important;
  height: 0;
  overflow: hidden;
  transition: height 250ms var(--pmi-ease);
}

.pmi-agenda__content-inner {
  padding: 0 var(--pmi-space-5) var(--pmi-space-5) calc(var(--pmi-space-5) + 12px + var(--pmi-space-4) + 52px + var(--pmi-space-4));
}

@media (max-width: 600px) {
  .pmi-agenda__content-inner {
    padding-left: var(--pmi-space-5);
  }
}

.pmi-agenda__content-inner p {
  color: var(--pmi-ink);
  font-size: 15px;
  line-height: 1.6;
  margin: 0 0 var(--pmi-space-3);
}

.pmi-agenda__points {
  background-color: var(--pmi-surface);
  border-left: 3px solid var(--pmi-secondary);
  padding: var(--pmi-space-3) var(--pmi-space-4);
}

.pmi-agenda__points-label {
  color: var(--pmi-muted);
  display: block;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.04em;
  margin-bottom: var(--pmi-space-2);
  text-transform: uppercase;
}

/* ============================ Struttura corso (moduli) ======================= */
/* Accordion dedicato a course-syllabus.module: riusa il comportamento JS di
   .pmi-agenda (stessi data-attribute) ma con una veste grafica propria, per
   non toccare lo stile di agenda.module (usato altrove, es. webinar). */

.pmi-syllabus__list {
  display: flex;
  flex-direction: column;
  gap: var(--pmi-space-4);
  margin-top: var(--pmi-space-6);
}

.pmi-syllabus__item {
  background-color: var(--pmi-surface-alt);
  border: 1px solid var(--pmi-border);
  border-radius: 16px;
  transition: border-color var(--pmi-duration) var(--pmi-ease),
              box-shadow var(--pmi-duration) var(--pmi-ease);
}

.pmi-syllabus__item[open] {
  border-color: rgba(var(--pmi-primary-rgb), 0.35);
  box-shadow: 0 16px 36px rgba(var(--pmi-primary-rgb), 0.1);
}

.pmi-syllabus__summary {
  align-items: center;
  cursor: pointer;
  display: flex;
  gap: var(--pmi-space-4);
  list-style: none;
  padding: var(--pmi-space-5);
}

.pmi-syllabus__summary::-webkit-details-marker { display: none; }

.pmi-syllabus__heading {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
}

.pmi-syllabus__top-row {
  align-items: center;
  column-gap: var(--pmi-space-3);
  display: flex;
  flex-wrap: wrap;
  row-gap: 6px;
}

.pmi-syllabus__badge {
  background-color: var(--pmi-primary);
  border-radius: 5px;
  color: var(--pmi-surface);
  flex: 0 0 auto;
  font-family: var(--pmi-font-body);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.06em;
  padding: 5px 10px;
  text-transform: uppercase;
  white-space: nowrap;
}

.pmi-syllabus__title {
  font-family: var(--pmi-font-heading);
  font-size: 19px;
  font-weight: 700;
  line-height: 1.3;
}

.pmi-syllabus__time {
  align-items: center;
  color: var(--pmi-primary);
  display: inline-flex;
  font-family: var(--pmi-font-body);
  font-size: 12px;
  font-weight: 700;
  gap: 6px;
  letter-spacing: 0.04em;
}

.pmi-syllabus__time-icon {
  flex: 0 0 auto;
  height: 14px;
  width: 14px;
}

.pmi-syllabus__chevron {
  color: var(--pmi-muted);
  flex: 0 0 auto;
  height: 10px;
  transition: transform var(--pmi-duration) var(--pmi-ease),
              color var(--pmi-duration) var(--pmi-ease);
  width: 10px;
}

.pmi-syllabus__item[open] .pmi-syllabus__chevron {
  color: var(--pmi-primary);
  transform: rotate(180deg);
}

.pmi-syllabus__content {
  display: block !important;
  height: 0;
  overflow: hidden;
  transition: height 250ms var(--pmi-ease);
}

.pmi-syllabus__content-inner {
  padding: 0 var(--pmi-space-5) var(--pmi-space-5);
}

.pmi-syllabus__content-inner p {
  color: var(--pmi-ink);
  font-size: 15px;
  line-height: 1.6;
  margin: 0 0 var(--pmi-space-3);
}

/* ============================== Case studies ================================ */

.pmi-case-studies {
  padding-bottom: var(--pmi-section-y);
  padding-top: var(--pmi-section-y);
}

.pmi-case-studies__grid {
  margin-top: var(--pmi-space-7);
}

.pmi-case-studies__card {
  background-color: var(--pmi-surface-alt);
  border: 1px solid var(--pmi-border);
  border-radius: 16px;
  display: flex;
  flex-direction: column;
  padding: var(--pmi-space-6);
  transition: border-color var(--pmi-duration) var(--pmi-ease);
}

.pmi-case-studies__card:hover {
  border-color: rgba(var(--pmi-primary-rgb), 0.4);
}

.pmi-case-studies__tag { display: block; }

.pmi-case-studies__company {
  color: var(--pmi-muted);
  display: block;
  font-size: 13px;
  font-weight: 700;
  margin-top: var(--pmi-space-2);
}

.pmi-case-studies__title {
  font-family: var(--pmi-font-heading);
  font-size: 22px;
  margin: var(--pmi-space-3) 0 var(--pmi-space-2);
}

.pmi-case-studies__subtitle {
  color: var(--pmi-muted);
  font-size: 15px;
  line-height: 1.6;
  margin: 0 0 var(--pmi-space-5);
}

.pmi-case-studies__block { margin-bottom: var(--pmi-space-5); }

.pmi-case-studies__block-label {
  color: var(--pmi-muted);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.05em;
  margin: 0 0 var(--pmi-space-2);
  text-transform: uppercase;
}

.pmi-case-studies__block-body {
  color: var(--pmi-ink);
  font-size: 14.5px;
  line-height: 1.6;
}

.pmi-case-studies__result {
  background-color: rgba(var(--pmi-primary-rgb), 0.06);
  border-left: 3px solid var(--pmi-primary);
  border-radius: 4px;
  margin-top: auto;
  padding: var(--pmi-space-4) var(--pmi-space-5);
}

.pmi-case-studies__result-label {
  color: var(--pmi-muted);
  display: block;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.05em;
  margin-bottom: 4px;
  text-transform: uppercase;
}

.pmi-case-studies__result-value {
  color: var(--pmi-primary);
  display: block;
  font-family: var(--pmi-font-heading);
  font-size: 26px;
}

.pmi-case-studies__result-caption {
  color: var(--pmi-muted);
  font-size: 13px;
  margin: 6px 0 0;
}

.pmi-case-studies__actions { margin-top: var(--pmi-space-5); }

/* =============================== Hero webinar =============================== */

.pmi-webinar-hero {
  padding-bottom: var(--pmi-space-7);
  padding-top: var(--pmi-space-6);
}

.pmi-webinar-hero__status {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: var(--pmi-space-3);
  margin-bottom: var(--pmi-space-5);
}

@keyframes pmi-webinar-pulse {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.5; transform: scale(0.85); }
}

.pmi-webinar-hero__dot {
  background-color: var(--pmi-primary);
  border-radius: 50%;
  display: inline-block;
  height: 10px;
  width: 10px;
  animation: pmi-webinar-pulse 1.6s ease-in-out infinite;
}

.pmi-webinar-hero__status-text {
  color: var(--pmi-muted);
  font-size: 14px;
}

.pmi-webinar-hero__title {
  font-family: var(--pmi-font-heading);
  font-size: clamp(32px, 5vw, 48px);
  line-height: 1.15;
  margin: 0 0 var(--pmi-space-5);
}

.pmi-webinar-hero__subtitle {
  color: var(--pmi-muted);
  font-size: 17px;
  line-height: 1.6;
  margin-bottom: var(--pmi-space-6);
  max-width: 56ch;
}

.pmi-webinar-hero__bullets {
  display: flex;
  flex-direction: column;
  gap: var(--pmi-space-3);
  list-style: none;
  margin: 0 0 var(--pmi-space-6);
  padding: 0;
}

.pmi-webinar-hero__bullets li {
  color: var(--pmi-ink);
  font-size: 15px;
  padding-left: var(--pmi-space-5);
  position: relative;
}

.pmi-webinar-hero__bullets li::before {
  background-color: var(--pmi-muted);
  border-radius: 50%;
  content: "";
  height: 7px;
  left: 0;
  position: absolute;
  top: 7px;
  width: 7px;
}

.pmi-webinar-hero__bullet--lead {
  font-weight: 700;
}

.pmi-webinar-hero__bullet--lead::before {
  background-color: var(--pmi-primary);
}

.pmi-webinar-hero__metrics {
  display: grid;
  gap: var(--pmi-space-4);
  grid-template-columns: 1fr 1fr;
  margin-bottom: var(--pmi-space-6);
  max-width: 360px;
}

.pmi-webinar-hero__metric {
  background-color: var(--pmi-surface-alt);
  border-radius: 12px;
  padding: var(--pmi-space-4);
}

.pmi-webinar-hero__metric-label {
  color: var(--pmi-muted);
  display: block;
  font-size: 12px;
  margin-bottom: 4px;
}

.pmi-webinar-hero__metric strong {
  color: var(--pmi-ink);
  font-family: var(--pmi-font-heading);
  font-size: 20px;
}

/* ============================ Timeline normativa ============================ */

.pmi-reg-timeline {
  padding-bottom: var(--pmi-section-y);
  padding-top: var(--pmi-section-y);
}

.pmi-reg-timeline__list {
  display: flex;
  flex-direction: column;
  margin-top: var(--pmi-space-7);
}

.pmi-reg-timeline__item {
  border-top: 1px solid var(--pmi-border);
  display: grid;
  gap: var(--pmi-space-5);
  grid-template-columns: 200px 1fr;
  padding: var(--pmi-space-5) 0;
}

@media (max-width: 700px) {
  .pmi-reg-timeline__item {
    grid-template-columns: 1fr;
  }
}

.pmi-reg-timeline__date {
  align-items: center;
  color: var(--pmi-muted);
  display: flex;
  font-family: var(--pmi-font-mono);
  font-size: 13px;
  gap: var(--pmi-space-3);
}

.pmi-reg-timeline__status {
  border: 1px solid var(--pmi-border);
  border-radius: 999px;
  color: var(--pmi-muted);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.06em;
  padding: 3px 9px;
}

.pmi-reg-timeline__item--ora .pmi-reg-timeline__status {
  background-color: var(--pmi-primary);
  border-color: var(--pmi-primary);
  color: var(--pmi-surface);
}

.pmi-reg-timeline__item--ora .pmi-reg-timeline__date {
  color: var(--pmi-primary);
}

.pmi-reg-timeline__body h3 {
  font-family: var(--pmi-font-heading);
  font-size: 19px;
  margin: 0 0 6px;
}

.pmi-reg-timeline__body p {
  color: var(--pmi-muted);
  font-size: 14.5px;
  line-height: 1.6;
  margin: 0;
}

.pmi-reg-timeline__callout {
  border-top: 1px solid var(--pmi-border);
  display: grid;
  gap: var(--pmi-space-7);
  grid-template-columns: 1.4fr 1fr;
  margin-top: var(--pmi-space-6);
  padding-top: var(--pmi-space-7);
}

@media (max-width: 800px) {
  .pmi-reg-timeline__callout {
    grid-template-columns: 1fr;
  }
}

.pmi-reg-timeline__quote-text {
  font-family: var(--pmi-font-heading);
  font-size: 22px;
  font-weight: 600;
  line-height: 1.35;
  margin: 0 0 var(--pmi-space-3);
}

.pmi-reg-timeline__quote-explain {
  color: var(--pmi-muted);
  font-size: 15px;
  line-height: 1.6;
  margin: 0;
}

.pmi-reg-timeline__sanction {
  border-left: 1px solid var(--pmi-border);
  padding-left: var(--pmi-space-6);
}

@media (max-width: 800px) {
  .pmi-reg-timeline__sanction {
    border-left: 0;
    padding-left: 0;
  }
}

.pmi-reg-timeline__sanction-label {
  color: var(--pmi-muted);
  display: block;
  font-family: var(--pmi-font-mono);
  font-size: 11px;
  letter-spacing: 0.1em;
  margin-bottom: 6px;
  text-transform: uppercase;
}

.pmi-reg-timeline__sanction strong {
  color: var(--pmi-primary);
  display: block;
  font-family: var(--pmi-font-heading);
  font-size: 38px;
  margin-bottom: 6px;
}

.pmi-reg-timeline__sanction p {
  color: var(--pmi-muted);
  font-size: 13.5px;
  line-height: 1.55;
  margin: 0;
}

/* ================================ FAQ griglia =============================== */

.pmi-faq-grid {
  padding-bottom: var(--pmi-section-y);
  padding-top: var(--pmi-section-y);
}

.pmi-faq-grid__layout {
  display: grid;
  gap: var(--pmi-space-7);
  grid-template-columns: 1fr;
}

@media (min-width: 900px) {
  .pmi-faq-grid__layout {
    grid-template-columns: 0.7fr 1.3fr;
  }
}

.pmi-faq-grid__title {
  font-family: var(--pmi-font-heading);
  font-size: 36px;
  line-height: 1.14;
  margin: var(--pmi-space-2) 0 0;
}

.pmi-faq-grid__items {
  display: grid;
  gap: 26px 34px;
  grid-template-columns: 1fr;
}

@media (min-width: 640px) {
  .pmi-faq-grid__items {
    grid-template-columns: 1fr 1fr;
  }
}

.pmi-faq-grid__question {
  font-size: 16.5px;
  font-weight: 600;
  margin-bottom: var(--pmi-space-2);
}

.pmi-faq-grid__answer {
  color: var(--pmi-muted);
  font-size: 14.5px;
  line-height: 1.6;
}

/* ============================ Programma statico ============================= */

.pmi-agenda-static {
  padding-bottom: var(--pmi-section-y);
  padding-top: var(--pmi-section-y);
}

.pmi-agenda-static__layout {
  display: grid;
  gap: var(--pmi-space-7);
  grid-template-columns: 1fr;
}

@media (min-width: 900px) {
  .pmi-agenda-static__layout {
    grid-template-columns: 0.85fr 1.15fr;
  }
}

.pmi-agenda-static__intro {
  display: flex;
  flex-direction: column;
  gap: var(--pmi-space-4);
}

@media (min-width: 900px) {
  .pmi-agenda-static__intro {
    align-self: start;
    position: sticky;
    top: 110px;
  }
}

.pmi-agenda-static__title {
  font-family: var(--pmi-font-heading);
  font-size: 40px;
  line-height: 1.14;
  margin: 0;
}

.pmi-agenda-static__body {
  color: var(--pmi-muted);
  font-size: 16.5px;
  line-height: 1.6;
  margin: 0;
}

.pmi-agenda-static__list {
  background: var(--pmi-border);
  border: 1px solid var(--pmi-border);
  border-radius: 8px;
  display: flex;
  flex-direction: column;
  gap: 1px;
  overflow: hidden;
}

.pmi-agenda-static__item {
  background: var(--pmi-surface-alt);
  display: flex;
  gap: var(--pmi-space-5);
  padding: 26px 28px;
}

.pmi-agenda-static__time {
  color: var(--pmi-primary);
  flex: 0 0 auto;
  font-family: var(--pmi-font-mono);
  font-size: 13px;
  padding-top: 3px;
  width: 52px;
}

.pmi-agenda-static__body h3 {
  font-family: var(--pmi-font-heading);
  font-size: 21px;
  font-weight: 600;
  margin: 0 0 7px;
}

.pmi-agenda-static__body p {
  color: var(--pmi-muted);
  font-size: 14.5px;
  line-height: 1.6;
  margin: 0;
}

/* ============================== Process phases =============================== */

.pmi-process-phases {
  padding-bottom: var(--pmi-section-y);
  padding-top: var(--pmi-section-y);
}

.pmi-process-phases__meta {
  border-top: 1px solid var(--pmi-border);
  border-bottom: 1px solid var(--pmi-border);
  color: var(--pmi-muted);
  display: flex;
  flex-wrap: wrap;
  font-size: 13.5px;
  gap: var(--pmi-space-3) var(--pmi-space-6);
  margin: var(--pmi-space-5) 0 var(--pmi-space-7);
  padding: var(--pmi-space-4) 0;
}

.pmi-process-phases__grid {
  display: grid;
  gap: var(--pmi-space-5);
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}

.pmi-process-phases__card {
  background-color: var(--pmi-surface-alt);
  border: 1px solid var(--pmi-border);
  border-radius: 12px;
  padding: var(--pmi-space-6);
}

.pmi-process-phases__number {
  color: rgba(var(--pmi-ink-rgb), 0.15);
  font-family: var(--pmi-font-heading);
  font-size: 34px;
  font-weight: 700;
  line-height: 1;
  margin-bottom: var(--pmi-space-3);
}

.pmi-process-phases__week {
  color: var(--pmi-primary);
  display: block;
  font-family: var(--pmi-font-mono);
  font-size: 12px;
  letter-spacing: 0.06em;
  margin-bottom: 6px;
  text-transform: uppercase;
}

.pmi-process-phases__card h3 {
  font-family: var(--pmi-font-heading);
  font-size: 20px;
  margin: 0 0 var(--pmi-space-2);
}

.pmi-process-phases__card p {
  color: var(--pmi-muted);
  font-size: 14.5px;
  line-height: 1.6;
  margin: 0 0 var(--pmi-space-4);
}

.pmi-process-phases__deliverable {
  border-top: 1px solid var(--pmi-border);
  color: var(--pmi-ink);
  font-size: 13px;
  padding-top: var(--pmi-space-3);
}

/* ============================== Tabella comparativa ========================== */

.pmi-comparison {
  padding-bottom: var(--pmi-section-y);
  padding-top: var(--pmi-section-y);
}

.pmi-comparison__scroll {
  margin-top: var(--pmi-space-7);
  overflow-x: auto;
  /* Ombre ai bordi che segnalano contenuto scrollabile: scompaiono da sole
     quando non c'e' altro da scorrere (tecnica dei due gradient layer,
     uno "attaccato" al contenuto e uno fisso al bordo del contenitore). */
  background-attachment: local, local, scroll, scroll;
  background-image:
    linear-gradient(to right, var(--pmi-surface) 30%, rgba(255, 255, 255, 0)),
    linear-gradient(to left, var(--pmi-surface) 30%, rgba(255, 255, 255, 0)),
    linear-gradient(to right, rgba(var(--pmi-ink-rgb), 0.1), rgba(255, 255, 255, 0)),
    linear-gradient(to left, rgba(var(--pmi-ink-rgb), 0.1), rgba(255, 255, 255, 0));
  background-position: 0 0, 100% 0, 0 0, 100% 0;
  background-repeat: no-repeat;
  background-size: 32px 100%, 32px 100%, 12px 100%, 12px 100%;
}

.pmi-comparison__table {
  border-collapse: collapse;
  min-width: 640px;
  width: 100%;
}

.pmi-comparison__table th,
.pmi-comparison__table td {
  border-bottom: 1px solid var(--pmi-border);
  padding: var(--pmi-space-4) var(--pmi-space-4);
  text-align: left;
  vertical-align: top;
}

.pmi-comparison__table thead th {
  color: var(--pmi-muted);
  font-family: var(--pmi-font-mono);
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.pmi-comparison__table tbody th {
  color: var(--pmi-ink);
  font-size: 14px;
  font-weight: 600;
  white-space: nowrap;
}

.pmi-comparison__table td {
  color: var(--pmi-muted);
  font-size: 14px;
}

.pmi-comparison__col--highlight {
  background-color: rgba(var(--pmi-primary-rgb), 0.05);
  color: var(--pmi-primary) !important;
  font-weight: 600;
}

/* ================================ Bio relatore =============================== */

.pmi-speaker-bio {
  padding-bottom: var(--pmi-section-y);
  padding-top: var(--pmi-section-y);
}

.pmi-speaker-bio__layout {
  display: grid;
  gap: var(--pmi-space-7);
  grid-template-columns: 1fr;
}

@media (min-width: 800px) {
  .pmi-speaker-bio__layout {
    align-items: center;
    grid-template-columns: 280px 1fr;
  }
}

.pmi-speaker-bio__media img {
  aspect-ratio: 1 / 1;
  border-radius: 16px;
  display: block;
  object-fit: cover;
  width: 100%;
}

.pmi-speaker-bio__title {
  font-family: var(--pmi-font-heading);
  font-size: 32px;
  margin: var(--pmi-space-3) 0 var(--pmi-space-4);
}

.pmi-speaker-bio__bio {
  color: var(--pmi-muted);
  font-size: 16px;
  line-height: 1.6;
  margin-bottom: var(--pmi-space-3);
}

.pmi-speaker-bio__stats {
  border-top: 1px solid var(--pmi-border);
  display: flex;
  flex-wrap: wrap;
  gap: var(--pmi-space-6);
  margin-top: var(--pmi-space-5);
  padding-top: var(--pmi-space-5);
}

.pmi-speaker-bio__stat strong {
  display: block;
  font-family: var(--pmi-font-heading);
  font-size: 24px;
}

.pmi-speaker-bio__stat span {
  color: var(--pmi-muted);
  font-size: 13px;
}

/* ============================= Elenco negazioni =============================== */

.pmi-negation-list {
  padding-bottom: var(--pmi-section-y);
  padding-top: var(--pmi-section-y);
}

.pmi-negation-list__grid {
  display: grid;
  gap: var(--pmi-space-4);
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  margin-top: var(--pmi-space-7);
}

.pmi-negation-list__item {
  align-items: flex-start;
  background-color: var(--pmi-surface-alt);
  border: 1px solid var(--pmi-border);
  border-radius: 10px;
  display: flex;
  font-size: 14.5px;
  gap: var(--pmi-space-3);
  line-height: 1.5;
  padding: var(--pmi-space-4);
}

.pmi-negation-list__mark {
  color: var(--pmi-primary);
  flex: 0 0 auto;
  font-weight: 700;
}

/* ============================= Scaletta chiamata ============================== */

.pmi-call-breakdown {
  padding-bottom: var(--pmi-section-y);
  padding-top: var(--pmi-section-y);
}

.pmi-call-breakdown__callout {
  color: var(--pmi-ink);
  font-family: var(--pmi-font-heading);
  font-size: 19px;
  margin: var(--pmi-space-5) auto 0;
  max-width: 640px;
  text-align: center;
}

.pmi-call-breakdown__grid {
  display: grid;
  gap: var(--pmi-space-5);
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  margin-top: var(--pmi-space-7);
}

.pmi-call-breakdown__card {
  border-top: 3px solid var(--pmi-primary);
  padding-top: var(--pmi-space-4);
}

.pmi-call-breakdown__time {
  color: var(--pmi-primary);
  display: block;
  font-family: var(--pmi-font-mono);
  font-size: 13px;
  margin-bottom: var(--pmi-space-2);
}

.pmi-call-breakdown__card h3 {
  font-family: var(--pmi-font-heading);
  font-size: 18px;
  margin: 0 0 var(--pmi-space-2);
}

.pmi-call-breakdown__card p {
  color: var(--pmi-muted);
  font-size: 14px;
  line-height: 1.55;
  margin: 0;
}

/* ========================== Testimonianze con metrica ========================= */

.pmi-testimonial-quotes__grid {
  margin-top: var(--pmi-space-7);
}

.pmi-testimonial-quotes__card {
  background-color: var(--pmi-surface-alt);
  border: 1px solid var(--pmi-border);
  border-radius: 12px;
  display: flex;
  flex-direction: column;
  gap: var(--pmi-space-4);
  padding: var(--pmi-space-6);
}

.pmi-testimonial-quotes__metric {
  color: var(--pmi-primary);
  font-family: var(--pmi-font-mono);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
}

.pmi-testimonial-quotes__card blockquote {
  color: var(--pmi-ink);
  font-family: var(--pmi-font-heading);
  font-size: 17px;
  line-height: 1.5;
  margin: 0;
}

.pmi-testimonial-quotes__card footer {
  border-top: 1px solid var(--pmi-border);
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding-top: var(--pmi-space-4);
}

.pmi-testimonial-quotes__card footer span {
  color: var(--pmi-muted);
  font-size: 13px;
}

/* ================================= Steps ================================== */

.pmi-steps {
  padding-bottom: var(--pmi-section-y);
  padding-top: var(--pmi-section-y);
}

.pmi-steps > * { margin-inline: auto; max-width: var(--pmi-content-width); }

.pmi-steps__list {
  counter-reset: pmi-step;
  display: grid;
  gap: var(--pmi-space-6);
  list-style: none;
  margin: 0;
  padding: 0;
}

.pmi-steps--horizontal .pmi-steps__list {
  grid-auto-columns: minmax(0, 1fr);
  grid-auto-flow: column;
}

.pmi-steps__item {
  border-top: 2px solid var(--pmi-border);
  display: flex;
  gap: var(--pmi-space-4);
  margin: 0;
  padding-top: var(--pmi-space-5);
}

.pmi-steps--vertical .pmi-steps__item {
  border-left: 2px solid var(--pmi-border);
  border-top: 0;
  padding: 0 0 var(--pmi-space-6) var(--pmi-space-6);
  position: relative;
}

.pmi-steps--vertical .pmi-steps__item:last-child { padding-bottom: 0; }

.pmi-steps__marker {
  align-items: center;
  background-color: var(--pmi-primary);
  color: #fff;
  display: flex;
  flex: 0 0 auto;
  font-family: var(--pmi-font-heading);
  font-size: 16px;
  font-weight: 700;
  height: 36px;
  justify-content: center;
  width: 36px;
}

.pmi-steps--vertical .pmi-steps__marker {
  left: -19px;
  position: absolute;
  top: 0;
}

.pmi-steps__label {
  color: var(--pmi-primary);
  display: block;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1.4px;
  margin-bottom: var(--pmi-space-2);
  text-transform: uppercase;
}

.pmi-steps__title { font-size: 21px; margin-bottom: var(--pmi-space-3); }
.pmi-steps__body { color: var(--pmi-muted); }
.pmi-steps__body + .pmi-checklist { margin-top: var(--pmi-space-4); }
.pmi-steps__content .pmi-checklist li { font-size: 15px; }

.pmi-steps__actions {
  display: flex;
  justify-content: center;
  margin-top: var(--pmi-space-8);
}

@media (max-width: 991px) {
  .pmi-steps--horizontal .pmi-steps__list { grid-auto-flow: row; }
}

/* ================================== Tabs ================================== */

.pmi-tabs {
  padding-bottom: var(--pmi-section-y);
  padding-top: var(--pmi-section-y);
}

.pmi-tabs > *,
.pmi-tabs__wrap { margin-inline: auto; max-width: var(--pmi-content-width); }

.pmi-tabs--vertical .pmi-tabs__wrap {
  display: grid;
  gap: var(--pmi-space-7);
  grid-template-columns: minmax(220px, 300px) minmax(0, 1fr);
}

.pmi-tabs__list {
  display: flex;
  gap: var(--pmi-space-2);
}

.pmi-tabs--vertical .pmi-tabs__list { flex-direction: column; }

.pmi-tabs--horizontal .pmi-tabs__list {
  border-bottom: 1px solid var(--pmi-border);
  flex-wrap: wrap;
  margin-bottom: var(--pmi-space-7);
}

.pmi-tabs__tab {
  align-items: center;
  background: none;
  border: 1px solid transparent;
  color: var(--pmi-muted);
  display: flex;
  font-family: var(--pmi-font-body);
  font-size: 15px;
  font-weight: 600;
  gap: var(--pmi-space-3);
  padding: 14px 18px;
  text-align: left;
  width: 100%;
}

.pmi-tabs--horizontal .pmi-tabs__tab {
  border-bottom: 2px solid transparent;
  width: auto;
}

.pmi-tabs__tab:hover { color: var(--pmi-ink); }

.pmi-tabs__tab[aria-selected="true"] {
  background-color: var(--pmi-surface-alt);
  border-color: var(--pmi-border);
  color: var(--pmi-ink);
}

.pmi-tabs--horizontal .pmi-tabs__tab[aria-selected="true"] {
  background: none;
  border-color: transparent;
  border-bottom-color: var(--pmi-primary);
  color: var(--pmi-ink);
}

.pmi-tabs__marker {
  align-items: center;
  border: 1px solid currentcolor;
  display: flex;
  flex: 0 0 auto;
  font-family: var(--pmi-font-heading);
  font-size: 15px;
  font-weight: 700;
  height: 34px;
  justify-content: center;
  width: 34px;
}

.pmi-tabs__tab[aria-selected="true"] .pmi-tabs__marker {
  background-color: var(--pmi-primary);
  border-color: var(--pmi-primary);
  color: #fff;
}

.pmi-tabs__overline {
  display: block;
  font-size: 10px;
  letter-spacing: 1.2px;
  opacity: 0.75;
  text-transform: uppercase;
}

.pmi-tabs__panel-inner {
  display: grid;
  gap: var(--pmi-space-7);
  grid-template-columns: minmax(0, 1fr);
}

.pmi-tabs__panel-inner:has(.pmi-tabs__panel-media) {
  grid-template-columns: minmax(0, 1fr) minmax(0, 0.85fr);
}

.pmi-tabs__panel-title { margin-bottom: var(--pmi-space-3); }
.pmi-tabs__panel-body { color: var(--pmi-muted); margin-bottom: var(--pmi-space-5); }
.pmi-tabs__bullets-title {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1.4px;
  margin-bottom: var(--pmi-space-3);
  text-transform: uppercase;
}

.pmi-tabs__callout {
  background-color: rgba(var(--pmi-primary-rgb), 0.05);
  border-left: 3px solid var(--pmi-primary);
  margin-top: var(--pmi-space-5);
  padding: var(--pmi-space-4) var(--pmi-space-5);
}

.pmi-tabs__actions { margin-top: var(--pmi-space-6); }
.pmi-tabs__panel-media img { display: block; width: 100%; }

@media (max-width: 991px) {
  .pmi-tabs--vertical .pmi-tabs__wrap { grid-template-columns: minmax(0, 1fr); }
  .pmi-tabs--vertical .pmi-tabs__list { flex-direction: row; flex-wrap: wrap; }
  .pmi-tabs__panel-inner:has(.pmi-tabs__panel-media) { grid-template-columns: minmax(0, 1fr); }
}

/* =============================== Accordion ================================ */

.pmi-accordion {
  padding-bottom: var(--pmi-section-y);
  padding-top: var(--pmi-section-y);
}

.pmi-accordion > * { margin-inline: auto; max-width: 900px; }

.pmi-accordion__list {
  display: flex;
  flex-direction: column;
  gap: var(--pmi-space-5);
}

.pmi-accordion__item {
  background-color: var(--pmi-surface-alt);
  border: 1px solid var(--pmi-border);
  box-shadow: 0 4px 16px rgba(var(--pmi-ink-rgb), 0.04);
  padding: 0 var(--pmi-space-6);
}

.pmi-accordion__summary {
  align-items: center;
  cursor: pointer;
  display: flex;
  font-family: var(--pmi-font-heading);
  font-size: 19px;
  font-weight: 700;
  gap: var(--pmi-space-4);
  justify-content: space-between;
  list-style: none;
  padding: var(--pmi-space-5) 0;
}

.pmi-accordion__summary::-webkit-details-marker { display: none; }

.pmi-accordion__summary:hover { color: var(--pmi-primary); }

.pmi-accordion__icon {
  flex: 0 0 auto;
  height: 14px;
  position: relative;
  width: 14px;
}

.pmi-accordion__icon::before,
.pmi-accordion__icon::after {
  background-color: currentcolor;
  content: "";
  inset: 50% 0 auto 0;
  height: 2px;
  position: absolute;
  transition: transform var(--pmi-duration) var(--pmi-ease);
}

.pmi-accordion__icon::after { transform: rotate(90deg); }

.pmi-accordion__item[open] .pmi-accordion__icon::after { transform: rotate(0deg); }

.pmi-accordion__answer {
  color: var(--pmi-muted);
  padding-bottom: var(--pmi-space-5);
  padding-right: var(--pmi-space-7);
}

/* =============================== Showcase ================================= */

.pmi-showcase {
  padding-bottom: var(--pmi-section-y);
  padding-top: var(--pmi-section-y);
}

.pmi-showcase > *,
.pmi-showcase__rows { margin-inline: auto; max-width: var(--pmi-content-width); }

.pmi-showcase__rows {
  display: grid;
  gap: var(--pmi-space-9);
}

.pmi-showcase__row {
  align-items: center;
  display: grid;
  gap: var(--pmi-space-8);
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

.pmi-showcase__row--flipped .pmi-showcase__content { order: 2; }

.pmi-showcase__title { margin-bottom: var(--pmi-space-4); }
.pmi-showcase__body { color: var(--pmi-muted); margin-bottom: var(--pmi-space-5); }
.pmi-showcase__actions { margin-top: var(--pmi-space-5); }
.pmi-showcase__media img { display: block; width: 100%; }

@media (max-width: 991px) {
  .pmi-showcase__row,
  .pmi-showcase__row--flipped .pmi-showcase__content { grid-template-columns: minmax(0, 1fr); order: 0; }
}

/* ================================ Corsi =================================== */

.pmi-courses {
  padding-bottom: var(--pmi-section-y);
  padding-top: var(--pmi-section-y);
}

.pmi-courses > *,
.pmi-courses__list { margin-inline: auto; max-width: var(--pmi-content-width); }

.pmi-courses__list {
  display: grid;
  gap: var(--pmi-course-gap, var(--pmi-space-6));
}

.pmi-course {
  border-radius: var(--pmi-course-radius, var(--pmi-card-radius));
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  overflow: hidden;
  padding: 0;
}

@media (min-width: 900px) {
  .pmi-course { grid-template-columns: var(--pmi-course-panel-width, 340px) minmax(0, 1fr); }
}

.pmi-course__panel { padding: var(--pmi-course-panel-padding, var(--pmi-space-7)); }

.pmi-course__panel--intro {
  background: linear-gradient(160deg, var(--pmi-course-panel-start, var(--pmi-primary)) 0%, var(--pmi-course-panel-end, #3d1108) 130%);
  color: var(--pmi-course-panel-text, var(--pmi-surface));
  display: flex;
  flex-direction: column;
  gap: var(--pmi-course-intro-gap, var(--pmi-space-5));
}

.pmi-course__panel--content {
  display: flex;
  flex-direction: column;
}

.pmi-course__tags {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: var(--pmi-space-3);
  justify-content: space-between;
}

.pmi-course__level-badge {
  background-color: var(--pmi-course-level-bg, #F0B429);
  border-radius: 999px;
  color: var(--pmi-course-level-text, #3D1108);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.04em;
  padding: 5px 12px;
  text-transform: uppercase;
}

.pmi-course__rating {
  align-items: center;
  background-color: var(--pmi-course-rating-bg, rgba(0, 0, 0, 0.35));
  border-radius: 999px;
  color: var(--pmi-surface);
  display: inline-flex;
  font-size: 12.5px;
  font-weight: 700;
  gap: 5px;
  padding: 5px 12px;
}

.pmi-course__rating svg { fill: #F0B429; height: 12px; width: 12px; }

.pmi-course__eyebrow {
  color: var(--pmi-course-eyebrow-color, rgba(255, 255, 255, 0.75));
  margin: 0;
}

.pmi-course__title {
  color: var(--pmi-course-panel-text, var(--pmi-surface));
  font-family: var(--pmi-course-title-font, var(--pmi-font-heading));
  font-size: var(--pmi-course-title-size, 28px);
  font-weight: var(--pmi-course-title-weight, 700);
  line-height: 1.15;
  margin: 0;
}

.pmi-course__facts {
  display: flex;
  flex-direction: column;
  gap: var(--pmi-space-2);
  list-style: none;
  margin: 0;
  padding: 0;
}

.pmi-course__facts li {
  align-items: center;
  background-color: rgba(255, 255, 255, 0.12);
  border-radius: 8px;
  display: flex;
  font-size: 13px;
  font-weight: 600;
  gap: 8px;
  margin: 0;
  padding: 10px 14px;
}

.pmi-course__facts li svg { fill: currentColor; flex: 0 0 auto; height: 14px; width: 14px; }

.pmi-course__audience { margin-top: auto; }

.pmi-course__audience-label {
  color: rgba(255, 255, 255, 0.7);
  display: block;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.05em;
  margin-bottom: 6px;
  text-transform: uppercase;
}

.pmi-course__audience p { margin: 0; }

.pmi-course__promise {
  font-family: var(--pmi-font-heading);
  font-size: var(--pmi-course-promise-size, 20px);
  font-weight: 700;
  margin: 0 0 var(--pmi-space-4);
}

.pmi-course__description { color: var(--pmi-muted); margin-bottom: var(--pmi-space-6); }

.pmi-course__deliverables-label {
  color: var(--pmi-muted);
  display: block;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.05em;
  margin-bottom: var(--pmi-space-4);
  text-transform: uppercase;
}

.pmi-course__deliverable {
  display: flex;
  gap: var(--pmi-space-3);
}

.pmi-course__deliverable-icon {
  align-items: center;
  background-color: var(--pmi-course-deliverable-icon-bg, rgba(var(--pmi-primary-rgb), 0.1));
  border-radius: 50%;
  color: var(--pmi-course-deliverable-icon, var(--pmi-primary));
  display: flex;
  flex: 0 0 auto;
  height: 26px;
  justify-content: center;
  width: 26px;
}

.pmi-course__deliverable-icon svg { fill: currentColor; height: 13px; width: 13px; }

.pmi-course__deliverable h4 { font-size: 15px; margin: 0 0 4px; }
.pmi-course__deliverable p {
  color: var(--pmi-muted);
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  font-size: 13.5px;
  margin: 0;
  overflow: hidden;
}

.pmi-course__footer {
  align-items: center;
  border-top: 1px solid var(--pmi-border);
  display: flex;
  flex-wrap: wrap;
  gap: var(--pmi-space-5);
  justify-content: space-between;
  margin-top: var(--pmi-space-6);
  padding-top: var(--pmi-space-5);
}

.pmi-course__price-label {
  color: var(--pmi-muted);
  display: block;
  font-size: 12px;
  letter-spacing: 1px;
  text-transform: uppercase;
}

.pmi-course__price-value {
  color: var(--pmi-course-price-color, var(--pmi-primary));
  font-family: var(--pmi-font-heading);
  font-size: var(--pmi-course-price-size, 30px);
  font-weight: 700;
  letter-spacing: -0.02em;
}

.pmi-course__actions { display: flex; flex-wrap: wrap; gap: var(--pmi-space-3); }

/* =========================== Teaser metodo operativo ======================= */

.pmi-method-teaser {
  padding-bottom: var(--pmi-section-y);
  padding-top: var(--pmi-section-y);
}

.pmi-method-teaser__grid {
  display: grid;
  gap: var(--pmi-space-8);
  grid-template-columns: minmax(0, 1fr);
}

@media (min-width: 992px) {
  .pmi-method-teaser__grid { grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); }
}

.pmi-method-teaser__badge {
  align-items: center;
  background-color: rgba(var(--pmi-primary-rgb), 0.08);
  border: 1px solid rgba(var(--pmi-primary-rgb), 0.2);
  border-radius: 999px;
  color: var(--pmi-primary);
  display: inline-flex;
  font-size: 11.5px;
  font-weight: 700;
  gap: 8px;
  letter-spacing: 0.04em;
  padding: 7px 14px;
}

.pmi-method-teaser__badge svg { fill: currentColor; height: 12px; width: 12px; }

.pmi-method-teaser__title {
  font-family: var(--pmi-font-heading);
  font-size: 36px;
  line-height: 1.2;
  margin: var(--pmi-space-4) 0 var(--pmi-space-4);
}

.pmi-method-teaser__highlight {
  color: var(--pmi-primary);
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 4px;
}

.pmi-method-teaser__description {
  color: var(--pmi-muted);
  font-size: 16px;
  margin-bottom: var(--pmi-space-6);
  max-width: 60ch;
}

.pmi-method-teaser__description strong { color: var(--pmi-ink); }

.pmi-method-teaser__features {
  display: flex;
  flex-direction: column;
  gap: var(--pmi-space-4);
}

.pmi-method-teaser__feature {
  align-items: flex-start;
  background-color: var(--pmi-surface);
  border: 1px solid var(--pmi-border);
  border-radius: 10px;
  display: flex;
  gap: var(--pmi-space-4);
  padding: var(--pmi-space-5);
}

.pmi-method-teaser__feature--highlighted {
  border-color: var(--pmi-primary);
  box-shadow: 0 0 0 1px var(--pmi-primary);
}

.pmi-method-teaser__feature-icon {
  align-items: center;
  background-color: var(--pmi-ink);
  border-radius: 8px;
  color: var(--pmi-surface);
  display: flex;
  flex: 0 0 auto;
  height: 40px;
  justify-content: center;
  width: 40px;
}

.pmi-method-teaser__feature--highlighted .pmi-method-teaser__feature-icon {
  background-color: var(--pmi-primary);
}

.pmi-method-teaser__feature-icon svg { fill: currentColor; height: 17px; width: 17px; }

.pmi-method-teaser__feature h3 {
  font-family: var(--pmi-font-heading);
  font-size: 16px;
  margin: 0 0 6px;
}

.pmi-method-teaser__feature p {
  color: var(--pmi-muted);
  font-size: 14px;
  margin: 0;
}

.pmi-method-teaser__card {
  background-color: var(--pmi-surface);
  border: 1px solid var(--pmi-border);
  border-radius: 10px;
  border-top: 4px solid var(--pmi-primary);
  box-shadow: 0 18px 40px rgba(var(--pmi-ink-rgb), 0.08);
  padding: var(--pmi-space-6);
}

.pmi-method-teaser__card-head {
  align-items: flex-start;
  border-bottom: 1px solid var(--pmi-border);
  display: flex;
  gap: var(--pmi-space-4);
  margin-bottom: var(--pmi-space-5);
  padding-bottom: var(--pmi-space-5);
}

.pmi-method-teaser__card-icon {
  align-items: center;
  background-color: var(--pmi-ink);
  border-radius: 8px;
  color: var(--pmi-surface);
  display: flex;
  flex: 0 0 auto;
  height: 40px;
  justify-content: center;
  width: 40px;
}

.pmi-method-teaser__card-icon svg { fill: currentColor; height: 17px; width: 17px; }

.pmi-method-teaser__card-title {
  font-family: var(--pmi-font-heading);
  font-size: 18px;
  margin: 4px 0 8px;
}

.pmi-method-teaser__card-badge {
  align-items: center;
  color: var(--pmi-secondary);
  display: inline-flex;
  font-size: 11.5px;
  font-weight: 700;
  gap: 6px;
  letter-spacing: 0.03em;
}

.pmi-method-teaser__card-badge svg { fill: currentColor; height: 12px; width: 12px; }

.pmi-method-teaser__card-list {
  display: flex;
  flex-direction: column;
  gap: var(--pmi-space-3);
}

.pmi-method-teaser__card-item {
  align-items: flex-start;
  border: 1px solid var(--pmi-border);
  border-radius: 8px;
  display: flex;
  gap: var(--pmi-space-3);
  padding: var(--pmi-space-4);
}

.pmi-method-teaser__card-item-icon {
  align-items: center;
  background-color: rgba(var(--pmi-secondary-rgb), 0.12);
  border-radius: 50%;
  color: var(--pmi-secondary);
  display: flex;
  flex: 0 0 auto;
  height: 22px;
  justify-content: center;
  width: 22px;
}

.pmi-method-teaser__card-item-icon svg { height: 11px; width: 11px; }

.pmi-method-teaser__card-item h4 {
  font-size: 14.5px;
  margin: 0 0 3px;
}

.pmi-method-teaser__card-item p {
  color: var(--pmi-muted);
  font-size: 13px;
  margin: 0;
}

/* =============================== Contatti ================================= */

.pmi-contact__list { list-style: none; margin: 0; padding: 0; }

.pmi-contact__item {
  border-bottom: 1px solid var(--pmi-border);
  display: flex;
  gap: var(--pmi-space-4);
  margin: 0;
  padding: var(--pmi-space-5) 0;
}

.pmi-contact__item:last-child { border-bottom: 0; }

.pmi-contact__icon svg {
  fill: var(--pmi-primary);
  height: 18px;
  width: 18px;
}

.pmi-contact__value {
  display: block;
  font-family: var(--pmi-font-heading);
  font-size: 19px;
  font-weight: 700;
}

.pmi-contact__note {
  color: var(--pmi-muted);
  display: block;
  font-size: 14px;
  margin-top: 4px;
}

/* ============================== Form block ================================ */

.pmi-form-block {
  padding-bottom: var(--pmi-section-y);
  padding-top: var(--pmi-section-y);
}

.pmi-form-block__inner {
  display: grid;
  gap: var(--pmi-space-8);
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr);
  margin: 0 auto;
  max-width: var(--pmi-content-width);
}

.pmi-form-block__inner:not(:has(.pmi-form-block__intro)) {
  grid-template-columns: minmax(0, 1fr);
  max-width: 720px;
}

.pmi-form-block__body { color: var(--pmi-muted); }

@media (max-width: 991px) {
  .pmi-form-block__inner { grid-template-columns: minmax(0, 1fr); }
}

/* ============================ Footer columns ============================== */

.pmi-footer-columns {
  display: grid;
  gap: var(--pmi-space-7);
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
}

.pmi-footer-columns__links { list-style: none; margin: 0; padding: 0; }
.pmi-footer-columns__links li { margin-bottom: var(--pmi-space-3); }
.pmi-footer-columns__body { font-size: 14px; line-height: 1.7; }

/* ================================ Social ================================== */

.pmi-social { align-items: center; display: flex; gap: var(--pmi-space-4); }

.pmi-social__heading {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 1.2px;
  text-transform: uppercase;
}

.pmi-social__list { display: flex; gap: var(--pmi-space-3); list-style: none; margin: 0; padding: 0; }
.pmi-social__list li { margin: 0; }

.pmi-social__list a {
  align-items: center;
  border: 1px solid currentcolor;
  display: inline-flex;
  height: 40px;
  justify-content: center;
  opacity: 0.75;
  transition: opacity var(--pmi-duration) var(--pmi-ease);
  width: 40px;
}

.pmi-social__list a:hover { opacity: 1; }
.pmi-social__list svg { fill: currentcolor; height: 16px; width: 16px; }
.pmi-social--small .pmi-social__list a { height: 32px; width: 32px; }

/* =============================== Logo bar ================================= */

.pmi-logobar {
  padding-bottom: var(--pmi-space-7);
  padding-top: var(--pmi-space-7);
}

.pmi-logobar__heading {
  color: var(--pmi-muted);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 1.4px;
  margin-bottom: var(--pmi-space-5);
  text-align: center;
  text-transform: uppercase;
}

.pmi-logobar__list {
  display: flex;
  flex-wrap: wrap;
  gap: var(--pmi-space-5) var(--pmi-space-8);
  justify-content: center;
  list-style: none;
  margin: 0 auto;
  max-width: var(--pmi-content-width);
  padding: 0;
}

.pmi-logobar__item {
  align-items: center;
  display: flex;
  font-size: 14px;
  font-weight: 600;
  gap: var(--pmi-space-2);
  margin: 0;
}

.pmi-logobar__icon svg { fill: var(--pmi-secondary); height: 16px; width: 16px; }
.pmi-logobar__item img { max-height: 40px; width: auto; }

/* ================================ Pricing ================================= */

.pmi-pricing {
  padding-bottom: var(--pmi-section-y);
  padding-top: var(--pmi-section-y);
}

.pmi-pricing > *,
.pmi-pricing .pmi-grid { margin-inline: auto; max-width: var(--pmi-content-width); }

.pmi-plan--featured { border-color: var(--pmi-primary); border-width: 2px; }
.pmi-plan__flag { margin-bottom: var(--pmi-space-4); align-self: flex-start; }
.pmi-plan__name { font-size: 22px; margin-bottom: var(--pmi-space-2); }
.pmi-plan__summary { color: var(--pmi-muted); font-size: 15px; }

.pmi-plan__price { margin: var(--pmi-space-4) 0 var(--pmi-space-5); }

.pmi-plan__price-value {
  font-family: var(--pmi-font-heading);
  font-size: 40px;
  font-weight: 700;
  letter-spacing: -0.03em;
}

.pmi-plan__price-note { color: var(--pmi-muted); font-size: 14px; margin-left: 6px; }
.pmi-plan__features { flex: 1 1 auto; }
.pmi-plan__footer { margin-top: var(--pmi-space-6); }

/* ================================ Stats =================================== */

.pmi-stats {
  padding-bottom: var(--pmi-section-y);
  padding-top: var(--pmi-section-y);
}

.pmi-stats > * { margin-inline: auto; max-width: var(--pmi-content-width); }

.pmi-stats__list {
  display: grid;
  gap: var(--pmi-space-6);
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  margin: 0;
}

.pmi-stats__item {
  border-top: 2px solid var(--pmi-ink);
  padding-top: var(--pmi-space-4);
}

.pmi-stats__value {
  font-family: var(--pmi-font-heading);
  font-size: clamp(36px, 5vw, 52px);
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 1;
}

.pmi-stats__label {
  color: var(--pmi-muted);
  font-size: 15px;
  margin: var(--pmi-space-3) 0 0;
}

/* ============================= Testimonianze ============================== */

.pmi-testimonials {
  padding-bottom: var(--pmi-section-y);
  padding-top: var(--pmi-section-y);
}

.pmi-testimonials > * { margin-inline: auto; max-width: var(--pmi-content-width); }

.pmi-testimonial__rating {
  color: var(--pmi-secondary);
  font-size: 13px;
  font-weight: 700;
  margin-bottom: var(--pmi-space-3);
}

.pmi-testimonial__quote {
  border: 0;
  flex: 1 1 auto;
  font-size: 18px;
  margin: 0 0 var(--pmi-space-5);
  padding: 0;
}

.pmi-testimonial__author {
  align-items: center;
  border-top: 1px solid var(--pmi-border);
  display: flex;
  gap: var(--pmi-space-3);
  margin: 0;
  padding-top: var(--pmi-space-4);
}

.pmi-testimonial__avatar { border-radius: 50%; height: 44px; object-fit: cover; width: 44px; }
.pmi-testimonial__role { color: var(--pmi-muted); display: block; font-size: 14px; }

/* ============================== Icon list ================================= */

.pmi-icon-list .pmi-section-header { margin-bottom: var(--pmi-space-5); }

.pmi-icon-list__list {
  display: grid;
  gap: var(--pmi-space-4);
  list-style: none;
  margin: 0;
  padding: 0;
}

.pmi-icon-list__list--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.pmi-icon-list__list--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }

.pmi-icon-list__item { display: flex; gap: var(--pmi-space-3); margin: 0; }
.pmi-icon-list__icon svg { fill: var(--pmi-secondary); height: 18px; margin-top: 3px; width: 18px; }
.pmi-icon-list__text strong { display: block; }
.pmi-icon-list__text span { color: var(--pmi-muted); }

@media (max-width: 767px) {
  .pmi-icon-list__list--2,
  .pmi-icon-list__list--3 { grid-template-columns: minmax(0, 1fr); }
}

/* ============================== Breadcrumb ================================ */

.pmi-breadcrumb {
  margin: 0 auto;
  max-width: var(--pmi-content-width);
  padding: var(--pmi-space-5) 0;
}

.pmi-breadcrumb__list {
  color: var(--pmi-muted);
  display: flex;
  flex-wrap: wrap;
  font-size: 13px;
  gap: var(--pmi-space-2);
  list-style: none;
  margin: 0;
  padding: 0;
}

.pmi-breadcrumb__item { align-items: center; display: flex; gap: var(--pmi-space-2); margin: 0; }
.pmi-breadcrumb__item a { color: inherit; text-decoration: none; }
.pmi-breadcrumb__item a:hover { color: var(--pmi-primary); }
.pmi-breadcrumb__sep { opacity: 0.5; }

/* ============================== CTA banner ================================ */

.pmi-cta-banner {
  padding-bottom: var(--pmi-section-y);
  padding-top: var(--pmi-section-y);
}

.pmi-cta-banner__inner {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: var(--pmi-space-7);
  justify-content: space-between;
  margin: 0 auto;
  max-width: var(--pmi-content-width);
}

.pmi-cta-banner--stacked .pmi-cta-banner__inner {
  flex-direction: column;
  max-width: 780px;
  text-align: center;
}

.pmi-cta-banner__content { flex: 1 1 420px; }
.pmi-cta-banner__title { margin-bottom: var(--pmi-space-3); }
.pmi-cta-banner__body { opacity: 0.8; }

@media (max-width: 767px) {
  .pmi-cta-banner--stacked .pmi-cta-banner__body {
    text-align: left;
  }
}

.pmi-cta-banner__actions {
  display: flex;
  flex: 0 0 auto;
  flex-wrap: wrap;
  gap: var(--pmi-space-4);
}

.pmi-invert .pmi-button--secondary {
  border-color: rgba(255, 255, 255, 0.35);
  color: #fff;
}

.pmi-invert .pmi-button--secondary:hover,
.pmi-invert .pmi-button--secondary:focus-visible {
  background-color: #fff;
  border-color: #fff;
  color: var(--pmi-ink);
}

/* ============================ Feature cards =============================== */

.pmi-feature-cards {
  padding-bottom: var(--pmi-section-y);
  padding-top: var(--pmi-section-y);
}

.pmi-feature-cards > * { margin-inline: auto; max-width: var(--pmi-content-width); }

.pmi-card__icon svg {
  fill: var(--pmi-primary);
  height: 26px;
  margin-bottom: var(--pmi-space-4);
  width: 26px;
}

.pmi-card .pmi-badge { align-self: flex-start; margin-bottom: var(--pmi-space-3); }

/* ========================== Section header module ========================= */

.pmi-section-header-module {
  padding-bottom: var(--pmi-space-6);
  padding-top: var(--pmi-section-y);
}

.pmi-section-header-module > .pmi-section-header {
  margin-inline: auto;
  max-width: var(--pmi-content-width);
}

.pmi-section-header-module .pmi-section-header--center { max-width: 760px; }

/* ============================== Pilastri O.P.E.R.A. ============================== */

@keyframes pmi-opera-fade-in {
  from { opacity: 0; transform: translateY(6px); }
  to { opacity: 1; transform: translateY(0); }
}

.pmi-opera-pillars {
  padding-bottom: var(--pmi-section-y);
  padding-top: var(--pmi-section-y);
}

.pmi-opera-pillars__layout {
  display: grid;
  gap: var(--pmi-space-6);
  grid-template-columns: 1fr;
  margin-top: var(--pmi-space-7);
}

@media (min-width: 992px) {
  .pmi-opera-pillars__layout {
    grid-template-columns: 4fr 8fr;
  }
}

.pmi-opera-pillars__selectors {
  display: flex;
  flex-direction: column;
  gap: var(--pmi-space-2);
  overflow-x: auto;
}

@media (max-width: 991px) {
  .pmi-opera-pillars__selectors {
    flex-direction: row;
    scroll-snap-type: x mandatory;
  }
}

.pmi-opera-pillars__selector {
  background-color: var(--pmi-surface-alt);
  border: 1px solid var(--pmi-border);
  cursor: pointer;
  display: flex;
  flex-direction: column;
  gap: var(--pmi-space-3);
  min-width: 220px;
  padding: var(--pmi-space-4) var(--pmi-space-5);
  scroll-snap-align: start;
  text-align: left;
  transition: background-color var(--pmi-duration) var(--pmi-ease),
              color var(--pmi-duration) var(--pmi-ease);
}

@media (min-width: 992px) {
  .pmi-opera-pillars__selector { min-width: 0; }
}

.pmi-opera-pillars__selector:hover {
  background-color: rgba(var(--pmi-ink-rgb), 0.03);
}

.pmi-opera-pillars__selector.is-active {
  background-color: var(--pmi-primary);
  color: var(--pmi-surface);
}

.pmi-opera-pillars__selector-top {
  align-items: center;
  display: flex;
  justify-content: space-between;
}

.pmi-opera-pillars__selector-letter {
  align-items: center;
  background-color: rgba(var(--pmi-ink-rgb), 0.06);
  color: var(--pmi-ink);
  display: flex;
  font-family: var(--pmi-font-heading);
  font-size: 16px;
  font-weight: 700;
  height: 32px;
  justify-content: center;
  width: 32px;
}

.pmi-opera-pillars__selector.is-active .pmi-opera-pillars__selector-letter {
  background-color: var(--pmi-surface);
  color: var(--pmi-primary);
}

.pmi-opera-pillars__selector-number {
  color: var(--pmi-muted);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.04em;
}

.pmi-opera-pillars__selector.is-active .pmi-opera-pillars__selector-number { display: none; }

.pmi-opera-pillars__selector-name {
  font-family: var(--pmi-font-heading);
  font-size: 16px;
  font-weight: 700;
}

.pmi-opera-pillars__panes {
  background-color: var(--pmi-surface-alt);
  border: 1px solid var(--pmi-border);
  padding: var(--pmi-space-7);
}

.pmi-opera-pillars__pane {
  animation: pmi-opera-fade-in 200ms var(--pmi-ease);
  display: none;
  flex-direction: column;
  gap: var(--pmi-space-4);
}

.pmi-opera-pillars__pane.is-active { display: flex; }

.pmi-opera-pillars__pane-header {
  align-items: center;
  display: flex;
  gap: var(--pmi-space-4);
}

.pmi-opera-pillars__pane-letter {
  align-items: center;
  background-color: var(--pmi-primary);
  color: var(--pmi-surface);
  display: flex;
  flex: 0 0 auto;
  font-family: var(--pmi-font-heading);
  font-size: 22px;
  font-weight: 700;
  height: 56px;
  justify-content: center;
  width: 56px;
}

.pmi-opera-pillars__title {
  font-family: var(--pmi-font-heading);
  font-size: 26px;
  margin: 0;
}

.pmi-opera-pillars__subtitle {
  color: var(--pmi-muted);
  font-size: 16px;
  margin: 0;
}

.pmi-opera-pillars__divider { border-top: 1px solid var(--pmi-border); }

.pmi-opera-pillars__body { color: var(--pmi-ink); }

.pmi-opera-pillars__block-label {
  color: var(--pmi-muted);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.05em;
  margin: 0 0 var(--pmi-space-3);
  text-transform: uppercase;
}

.pmi-opera-pillars__key-points {
  display: grid;
  gap: var(--pmi-space-4);
  grid-template-columns: minmax(0, 1fr);
}

@media (min-width: 576px) {
  .pmi-opera-pillars__key-points { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.pmi-opera-pillars__key-point {
  border: 1px solid var(--pmi-border);
  display: flex;
  font-size: 14px;
  gap: var(--pmi-space-3);
  padding: var(--pmi-space-4);
}

.pmi-opera-pillars__key-icon {
  align-items: center;
  border: 1.5px solid var(--pmi-secondary);
  border-radius: 50%;
  color: var(--pmi-secondary);
  display: flex;
  flex: 0 0 auto;
  height: 22px;
  justify-content: center;
  width: 22px;
}

.pmi-opera-pillars__key-icon svg { height: 11px; width: 11px; }

.pmi-opera-pillars__key-icon--output { margin-top: 2px; }

.pmi-opera-pillars__output {
  align-items: flex-start;
  background-color: rgba(var(--pmi-secondary-rgb), 0.08);
  border: 1px solid rgba(var(--pmi-secondary-rgb), 0.3);
  display: flex;
  gap: var(--pmi-space-3);
  padding: var(--pmi-space-5);
}

.pmi-opera-pillars__output-body {
  color: var(--pmi-ink);
  font-size: 15px;
}

.pmi-opera-pillars__closing {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: var(--pmi-space-3);
  margin-top: var(--pmi-space-8);
  text-align: center;
}

.pmi-opera-pillars__closing-text {
  color: var(--pmi-muted);
  max-width: 60ch;
}

/* -------------------- Griglia statica (versione sintetica) -------------------- */

.pmi-opera-pillars--cards .pmi-opera-pillars__closing {
  align-items: center;
  border: 1px solid var(--pmi-border);
  flex-direction: row;
  gap: var(--pmi-space-6);
  justify-content: space-between;
  padding: var(--pmi-space-6) var(--pmi-space-7);
  text-align: left;
}

@media (max-width: 767px) {
  .pmi-opera-pillars--cards .pmi-opera-pillars__closing {
    align-items: flex-start;
    flex-direction: column;
  }
}

.pmi-opera-pillars--cards .pmi-opera-pillars__closing-text {
  margin: 0;
  max-width: 56ch;
}

.pmi-opera-pillars__grid {
  display: grid;
  gap: var(--pmi-space-5);
  grid-template-columns: 1fr;
  margin-top: var(--pmi-space-7);
}

@media (min-width: 576px) {
  .pmi-opera-pillars__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (min-width: 992px) {
  .pmi-opera-pillars__grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
}

.pmi-opera-pillars__card {
  background-color: var(--pmi-surface-alt);
  border: 1px solid var(--pmi-border);
  display: flex;
  flex-direction: column;
  padding: var(--pmi-space-5);
}

.pmi-invert .pmi-opera-pillars__card {
  background-color: rgba(255, 255, 255, 0.04);
  border-color: rgba(255, 255, 255, 0.12);
}

.pmi-opera-pillars__card-top {
  align-items: flex-start;
  border-bottom: 1px dashed var(--pmi-border);
  display: flex;
  justify-content: space-between;
  margin-bottom: var(--pmi-space-4);
  padding-bottom: var(--pmi-space-4);
}

.pmi-opera-pillars__card-letter {
  align-items: center;
  background-color: var(--pmi-ink);
  border-radius: 4px;
  color: var(--pmi-surface);
  display: flex;
  font-family: var(--pmi-font-heading);
  font-size: 16px;
  font-weight: 700;
  height: 34px;
  justify-content: center;
  width: 34px;
}

.pmi-opera-pillars__card-number {
  color: var(--pmi-muted);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.02em;
}

.pmi-opera-pillars__card-label {
  color: var(--pmi-muted);
  display: block;
  font-size: 14px;
  margin-bottom: 2px;
}

.pmi-opera-pillars__card-title {
  font-family: var(--pmi-font-heading);
  font-size: 21px;
  margin: 0 0 var(--pmi-space-3);
}

.pmi-opera-pillars__card-body {
  color: var(--pmi-muted);
  flex: 1 1 auto;
  font-size: 14px;
  margin-bottom: var(--pmi-space-5);
}

.pmi-opera-pillars__card-footer {
  align-items: center;
  border-top: 1px solid var(--pmi-border);
  display: flex;
  justify-content: space-between;
  padding-top: var(--pmi-space-4);
}

.pmi-opera-pillars__card-footer-label {
  color: var(--pmi-muted);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.pmi-opera-pillars__card-footer-icon {
  align-items: center;
  border: 1px solid var(--pmi-border);
  border-radius: 50%;
  color: var(--pmi-ink);
  display: flex;
  height: 32px;
  justify-content: center;
  width: 32px;
}

.pmi-invert .pmi-opera-pillars__card-footer-icon { color: var(--pmi-surface); }

.pmi-opera-pillars__card-footer-icon svg { fill: currentColor; height: 14px; width: 14px; }

/* ============================== Pilastri O.P.E.R.A. — pannello orizzontale ============================== */

@keyframes pmi-opera-tool-fade-in {
  from { opacity: 0; transform: translateY(6px); }
  to { opacity: 1; transform: translateY(0); }
}

.pmi-opera-tool {
  padding-bottom: var(--pmi-section-y);
  padding-top: var(--pmi-section-y);
}

.pmi-opera-tool__selectors {
  -ms-overflow-style: none;
  display: flex;
  flex-direction: row;
  gap: var(--pmi-space-3);
  margin-top: var(--pmi-space-7);
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
}

.pmi-opera-tool__selectors::-webkit-scrollbar {
  display: none;
}

.pmi-opera-tool__selector {
  background-color: var(--pmi-surface-alt);
  border: 1px solid var(--pmi-border);
  cursor: pointer;
  display: flex;
  flex: 1 1 0;
  flex-direction: column;
  gap: var(--pmi-space-3);
  min-width: 190px;
  padding: var(--pmi-space-4) var(--pmi-space-4);
  scroll-snap-align: start;
  text-align: left;
  transition: background-color var(--pmi-duration) var(--pmi-ease),
              color var(--pmi-duration) var(--pmi-ease);
}

.pmi-opera-tool__selector:hover {
  background-color: rgba(var(--pmi-ink-rgb), 0.03);
}

.pmi-opera-tool__selector.is-active {
  background-color: var(--pmi-primary);
  color: var(--pmi-surface);
}

.pmi-opera-tool__selector-top {
  align-items: center;
  display: flex;
  justify-content: space-between;
}

.pmi-opera-tool__selector-letter {
  align-items: center;
  background-color: rgba(var(--pmi-ink-rgb), 0.06);
  color: var(--pmi-ink);
  display: flex;
  font-family: var(--pmi-font-heading);
  font-size: 16px;
  font-weight: 700;
  height: 32px;
  justify-content: center;
  width: 32px;
}

.pmi-opera-tool__selector.is-active .pmi-opera-tool__selector-letter {
  background-color: var(--pmi-surface);
  color: var(--pmi-primary);
}

.pmi-opera-tool__selector-number {
  color: var(--pmi-muted);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.04em;
}

.pmi-opera-tool__selector.is-active .pmi-opera-tool__selector-number { display: none; }

.pmi-opera-tool__selector-name {
  font-family: var(--pmi-font-heading);
  font-size: 16px;
  font-weight: 700;
}

.pmi-opera-tool__panel {
  background-color: var(--pmi-surface);
  border: 1px solid var(--pmi-border);
  margin-top: var(--pmi-space-6);
  padding: var(--pmi-space-7);
}

.pmi-opera-tool__pane {
  animation: pmi-opera-tool-fade-in 200ms var(--pmi-ease);
  display: none;
  flex-direction: column;
  gap: var(--pmi-space-4);
}

.pmi-opera-tool__pane.is-active { display: flex; }

.pmi-opera-tool__pane-header {
  align-items: center;
  display: flex;
  gap: var(--pmi-space-4);
}

.pmi-opera-tool__pane-letter {
  align-items: center;
  background-color: var(--pmi-primary);
  color: var(--pmi-surface);
  display: flex;
  flex: 0 0 auto;
  font-family: var(--pmi-font-heading);
  font-size: 22px;
  font-weight: 700;
  height: 56px;
  justify-content: center;
  width: 56px;
}

.pmi-opera-tool__pane-eyebrow {
  color: var(--pmi-primary);
  display: block;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.pmi-opera-tool__title {
  font-family: var(--pmi-font-heading);
  font-size: 26px;
  margin: 4px 0 0;
}

.pmi-opera-tool__subtitle {
  color: var(--pmi-muted);
  font-size: 16px;
  margin: 0;
}

.pmi-opera-tool__divider { border-top: 1px solid var(--pmi-border); }

.pmi-opera-tool__body { color: var(--pmi-ink); }

.pmi-opera-tool__block-label {
  color: var(--pmi-muted);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.05em;
  margin: 0 0 var(--pmi-space-3);
  text-transform: uppercase;
}

.pmi-opera-tool__key-points {
  display: grid;
  gap: var(--pmi-space-4);
  grid-template-columns: minmax(0, 1fr);
}

@media (min-width: 576px) {
  .pmi-opera-tool__key-points { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.pmi-opera-tool__key-point {
  border: 1px solid var(--pmi-border);
  display: flex;
  font-size: 14px;
  gap: var(--pmi-space-3);
  padding: var(--pmi-space-4);
}

.pmi-opera-tool__key-icon {
  align-items: center;
  border: 1.5px solid var(--pmi-secondary);
  border-radius: 50%;
  color: var(--pmi-secondary);
  display: flex;
  flex: 0 0 auto;
  height: 22px;
  justify-content: center;
  width: 22px;
}

.pmi-opera-tool__key-icon svg { height: 11px; width: 11px; }

.pmi-opera-tool__key-icon--output { margin-top: 2px; }

.pmi-opera-tool__output {
  align-items: flex-start;
  background-color: rgba(var(--pmi-secondary-rgb), 0.08);
  border: 1px solid rgba(var(--pmi-secondary-rgb), 0.3);
  display: flex;
  gap: var(--pmi-space-3);
  padding: var(--pmi-space-5);
}

.pmi-opera-tool__output-body {
  color: var(--pmi-ink);
  font-size: 15px;
}

.pmi-invert .pmi-opera-tool__panel {
  background-color: rgba(255, 255, 255, 0.04);
  border-color: rgba(255, 255, 255, 0.12);
}

.pmi-invert .pmi-opera-tool__selector {
  background-color: rgba(255, 255, 255, 0.04);
  border-color: rgba(255, 255, 255, 0.12);
}

/* -------------------- Riassunto Metodo O.P.E.R.A. — scorrimento orizzontale -------------------- */

.pmi-opera-summary .pmi-opera-pillars__grid {
  -ms-overflow-style: none;
  display: flex;
  flex-direction: row;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
}

.pmi-opera-summary .pmi-opera-pillars__grid::-webkit-scrollbar {
  display: none;
}

.pmi-opera-summary .pmi-opera-pillars__card {
  flex: 1 1 0;
  min-width: 210px;
  scroll-snap-align: start;
}

/* ========================== Applicazione Pratica (tab) ========================== */

@keyframes pmi-audience-fade-in {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}

.pmi-audience-tabs {
  padding-bottom: var(--pmi-section-y);
  padding-top: var(--pmi-section-y);
}

.pmi-audience-tabs__selectors {
  display: flex;
  flex-wrap: wrap;
  gap: var(--pmi-space-3);
  margin-top: var(--pmi-space-6);
}

.pmi-audience-tabs__selector {
  background-color: var(--pmi-surface-alt);
  border: 1px solid var(--pmi-border);
  cursor: pointer;
  font-family: var(--pmi-font-heading);
  font-size: 15px;
  font-weight: 700;
  padding: 12px var(--pmi-space-6);
  transition: background-color var(--pmi-duration) var(--pmi-ease),
              border-color var(--pmi-duration) var(--pmi-ease),
              color var(--pmi-duration) var(--pmi-ease);
}

.pmi-audience-tabs__selector:hover {
  background-color: rgba(var(--pmi-ink-rgb), 0.03);
}

.pmi-audience-tabs__selector.is-active {
  background-color: var(--pmi-primary);
  border-color: var(--pmi-primary);
  color: var(--pmi-surface);
}

.pmi-audience-tabs__panes { margin-top: var(--pmi-space-7); }

.pmi-audience-tabs__pane {
  animation: pmi-audience-fade-in var(--pmi-duration) var(--pmi-ease);
  display: none;
  flex-direction: column;
  gap: var(--pmi-space-6);
}

.pmi-audience-tabs__pane.is-active { display: flex; }

.pmi-audience-tabs__pane-title {
  font-family: var(--pmi-font-heading);
  font-size: 24px;
  margin: 0;
}

.pmi-audience-tabs__pane-body {
  color: var(--pmi-muted);
  max-width: 68ch;
}

.pmi-audience-tabs__card {
  background-color: var(--pmi-surface-alt);
  border: 1px solid var(--pmi-border);
  padding: var(--pmi-space-5);
}

.pmi-audience-tabs__card h4 {
  font-family: var(--pmi-font-heading);
  font-size: 17px;
  margin: 0 0 var(--pmi-space-2);
}

.pmi-audience-tabs__card div {
  color: var(--pmi-muted);
  font-size: 14px;
}

.pmi-audience-tabs__results {
  background-color: rgba(var(--pmi-secondary-rgb), 0.08);
  border-left: 3px solid var(--pmi-secondary);
  padding: var(--pmi-space-6);
}

.pmi-audience-tabs__results-label {
  color: var(--pmi-secondary);
  display: block;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.04em;
  margin-bottom: var(--pmi-space-2);
  text-transform: uppercase;
}

.pmi-audience-tabs__results-body {
  color: var(--pmi-ink);
  font-size: 15px;
}

/* ========================== Blocco normativo con citazione ========================== */

.pmi-compliance-quote {
  padding-bottom: var(--pmi-section-y);
  padding-top: var(--pmi-section-y);
  margin-inline: auto;
  max-width: 820px;
  text-align: center;
}

.pmi-compliance-quote__title {
  font-family: var(--pmi-font-heading);
  font-size: 30px;
  margin-bottom: var(--pmi-space-5);
}

.pmi-compliance-quote__body {
  margin-inline: auto;
  max-width: 68ch;
  opacity: 0.85;
}

.pmi-compliance-quote__quote {
  font-family: var(--pmi-font-heading);
  font-size: 22px;
  font-style: italic;
  line-height: 1.5;
  margin: var(--pmi-space-7) 0 0;
}

.pmi-compliance-quote__quote cite {
  display: block;
  font-family: var(--pmi-font-body);
  font-size: 14px;
  font-style: normal;
  margin-top: var(--pmi-space-4);
  opacity: 0.7;
}

/* ============================= Panoramica metodo ============================== */

.pmi-method-overview__layout {
  display: grid;
  gap: var(--pmi-space-7);
  grid-template-columns: minmax(0, 1fr);
}

@media (min-width: 992px) {
  .pmi-method-overview__layout {
    align-items: start;
    grid-template-columns: 7fr 5fr;
  }
}

.pmi-method-overview__features {
  display: grid;
  gap: var(--pmi-space-6);
  grid-template-columns: minmax(0, 1fr);
  margin-top: var(--pmi-space-7);
}

@media (min-width: 576px) {
  .pmi-method-overview__features { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.pmi-method-overview__feature {
  display: flex;
  gap: var(--pmi-space-3);
}

.pmi-method-overview__feature-title {
  font-size: 17px;
  margin: 0 0 var(--pmi-space-2);
}

.pmi-method-overview__feature-body {
  color: var(--pmi-muted);
  font-size: 14px;
}

.pmi-method-overview__personalization {
  background-color: var(--pmi-surface);
  border: 1px solid var(--pmi-border);
  padding: var(--pmi-space-6);
}

.pmi-method-overview__sub-heading {
  font-family: var(--pmi-font-heading);
  font-size: 21px;
  margin: 0 0 var(--pmi-space-3);
}

.pmi-method-overview__sub-body {
  color: var(--pmi-muted);
  margin-bottom: var(--pmi-space-5);
}

.pmi-method-overview__checklist {
  display: grid;
  gap: var(--pmi-space-3);
}

.pmi-method-overview__checklist li { font-size: 15px; }

.pmi-method-overview__checklist li::before {
  color: var(--pmi-ink);
  content: "\25a0";
  font-size: 9px;
  padding-top: 0.4em;
}

/* ============================== CTA Direzione ============================== */

.pmi-leadership-cta__layout {
  display: grid;
  gap: var(--pmi-space-7);
  grid-template-columns: minmax(0, 1fr);
}

@media (min-width: 992px) {
  .pmi-leadership-cta__layout {
    align-items: start;
    grid-template-columns: 7fr 5fr;
  }
}

.pmi-leadership-cta__body {
  color: rgba(255, 255, 255, 0.72);
  margin-bottom: var(--pmi-space-6);
  max-width: 62ch;
}

.pmi-leadership-cta__items {
  display: grid;
  gap: var(--pmi-space-5);
}

.pmi-leadership-cta__item {
  display: flex;
  gap: var(--pmi-space-4);
}

.pmi-leadership-cta__item-title {
  font-size: 16px;
  margin: 0 0 var(--pmi-space-1);
}

.pmi-leadership-cta__item-body {
  color: rgba(255, 255, 255, 0.68);
  font-size: 14px;
}

.pmi-leadership-cta__panel {
  background-color: var(--pmi-surface);
  padding: var(--pmi-space-7) var(--pmi-space-6);
}

.pmi-invert .pmi-leadership-cta__panel-title { color: var(--pmi-ink); }

.pmi-leadership-cta__panel-title {
  font-size: 24px;
  margin: 0 0 var(--pmi-space-3);
}

.pmi-leadership-cta__panel-body {
  color: var(--pmi-muted);
  margin-bottom: var(--pmi-space-6);
}

/* ============================ Esempi per dipartimento =========================== */

.pmi-department-modules__grid { margin-top: var(--pmi-space-7); }

.pmi-department-modules__card {
  background-color: var(--pmi-surface);
  border: 1px solid var(--pmi-border);
  border-radius: var(--pmi-card-radius);
  padding: var(--pmi-space-6);
}

.pmi-department-modules__title {
  font-size: 18px;
  margin: 0 0 var(--pmi-space-4);
}

/* =================== Contatti: form prima dei recapiti su mobile ================ */
/* Sotto i 768px le colonne del blocco contatti impilano recapiti e form.
   Il form e' l'azione principale della pagina: lo portiamo in cima cosi'
   e' visibile subito, senza dover scorrere oltre intestazione e recapiti. */

@media (max-width: 767px) {
  .body-container--contatto .row-fluid > div:last-child {
    order: -1;
  }
}

.pmi-department-modules__list li { font-size: 14.5px; }




/* Rich text */

.hs_cos_wrapper_type_rich_text > *:last-child { margin-bottom: 0; }

/* Immagini */

.hs-image-widget { display: block; }

/* CTA */

.hs-cta-wrapper a { text-decoration: none; }

/* Menu di default */

.hs-menu-wrapper ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.hs-menu-wrapper.hs-menu-flow-horizontal > ul {
  display: flex;
  flex-wrap: wrap;
  gap: var(--pmi-space-5);
}

.hs-menu-wrapper a {
  text-decoration: none;
}

/* Ricerca */

.hs-search-field__form {
  display: flex;
  gap: var(--pmi-space-2);
  position: relative;
}

.hs-search-field__bar input[type="search"] {
  width: 100%;
}

.hs-search-field__suggestions {
  background-color: var(--pmi-surface-alt);
  border: 1px solid var(--pmi-border);
  list-style: none;
  margin: 4px 0 0;
  padding: var(--pmi-space-2) 0;
  position: absolute;
  top: 100%;
  width: 100%;
  z-index: 30;
}

.hs-search-field__suggestions li { margin: 0; }

.hs-search-field__suggestions a {
  display: block;
  padding: 8px 14px;
  text-decoration: none;
}

.hs-search-field__suggestions a:hover {
  background-color: var(--pmi-surface);
}

.hs-search-field__suggestions--hidden { display: none; }

/* Paginazione blog */

.blog-pagination {
  align-items: center;
  display: flex;
  gap: var(--pmi-space-3);
  justify-content: center;
  margin-top: var(--pmi-space-8);
}

.blog-pagination__link {
  border: 1px solid var(--pmi-border);
  display: inline-flex;
  font-size: 14px;
  font-weight: 700;
  min-width: 42px;
  justify-content: center;
  padding: 10px 12px;
  text-decoration: none;
}

.blog-pagination__link--active {
  background-color: var(--pmi-ink);
  border-color: var(--pmi-ink);
  color: var(--pmi-surface);
}

/* Social sharing */

.pmi-share {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: var(--pmi-space-3);
}

.pmi-share__label {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 1.2px;
  text-transform: uppercase;
}

.pmi-share a {
  align-items: center;
  border: 1px solid var(--pmi-border);
  display: inline-flex;
  height: 38px;
  justify-content: center;
  width: 38px;
}

.pmi-share svg { height: 16px; width: 16px; }

/* Language switcher */

.header__language-switcher .lang_list_class {
  border: 1px solid var(--pmi-border);
}

/* Utilities — classi helper, ultime per poter sovrascrivere */
/* Ancore di sezione (target per la sotto-navigazione con scrollspy) */

.pmi-section-anchor {
  display: block;
  height: 0;
  visibility: hidden;
  width: 0;
}

/* Accessibilita */

.pmi-visually-hidden,
.screen-reader-text {
  border: 0;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  height: 1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

/* Allineamento */

.pmi-text-left { text-align: left; }
.pmi-text-center { text-align: center; }
.pmi-text-right { text-align: right; }

/* Spaziature */

.pmi-mb-0 { margin-bottom: 0 !important; }
.pmi-mb-2 { margin-bottom: var(--pmi-space-2) !important; }
.pmi-mb-4 { margin-bottom: var(--pmi-space-4) !important; }
.pmi-mb-6 { margin-bottom: var(--pmi-space-6) !important; }
.pmi-mt-0 { margin-top: 0 !important; }
.pmi-mt-4 { margin-top: var(--pmi-space-4) !important; }
.pmi-mt-6 { margin-top: var(--pmi-space-6) !important; }

/* Colori */

.pmi-color-primary { color: var(--pmi-primary) !important; }
.pmi-color-secondary { color: var(--pmi-secondary) !important; }
.pmi-color-muted { color: var(--pmi-muted) !important; }

/* Layout */

.pmi-stack {
  display: flex;
  flex-direction: column;
  gap: var(--pmi-space-4);
}

.pmi-cluster {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: var(--pmi-space-3);
}

.pmi-cluster--center { justify-content: center; }

.pmi-hide-mobile { }
.pmi-hide-desktop { display: none !important; }

@media (max-width: 767px) {
  .pmi-hide-mobile { display: none !important; }
  .pmi-hide-desktop { display: revert !important; }
}

/* Rapporti d'aspetto */

.pmi-ratio-16x9 { aspect-ratio: 16 / 9; object-fit: cover; }
.pmi-ratio-4x3 { aspect-ratio: 4 / 3; object-fit: cover; }
.pmi-ratio-1x1 { aspect-ratio: 1 / 1; object-fit: cover; }

/* Elenco con spunta */

.pmi-checklist {
  list-style: none;
  margin: 0;
  padding: 0;
}

.pmi-checklist li {
  display: flex;
  gap: var(--pmi-space-3);
  margin-bottom: var(--pmi-space-3);
}

.pmi-checklist li::before {
  color: var(--pmi-secondary);
  content: "✓";
  flex: 0 0 auto;
  font-weight: 700;
}

/* Icona a spunta riquadrata, usata per elenchi con titolo/descrizione */

.pmi-check-icon {
  align-items: center;
  border: 1.5px solid var(--pmi-primary);
  border-radius: 4px;
  color: var(--pmi-primary);
  display: inline-flex;
  flex: 0 0 auto;
  height: 28px;
  justify-content: center;
  width: 28px;
}

.pmi-check-icon svg { height: 14px; width: 14px; }