/* ==========================================================================
   MCP Design System v4 — mariacristinapilone.it
   Ispirazione: brand personali executive 2025 — dark hero, tipografia dominante,
   header viola, sezioni bianche ariose. Palette e font: solo variabili Astra.
   ========================================================================== */

:root {
  --mcp-plum:    var(--ast-global-color-0, #41283b);
  --mcp-mauve:   var(--ast-global-color-1, #78416b);
  --mcp-ink:     var(--ast-global-color-2, #0F172A);
  --mcp-text:    var(--ast-global-color-3, #454F5E);
  --mcp-white:   #ffffff;
  --mcp-soft:    #F9F5F7;
  --mcp-dark:    #0D0614;
  --mcp-line:    rgba(65,40,59,.12);
  --mcp-maxw:    1200px;
  --mcp-ease:    cubic-bezier(.22,.61,.36,1);
}

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

/* =========================================================================
   RESET PAGINA
   ========================================================================= */
body.page, body.home {
  background: var(--mcp-white) !important;
}
.entry-content, .post-inner-content {
  max-width: 100% !important;
  padding: 0 !important;
  background: transparent !important;
}
.hentry { padding: 0 !important; }
.mcp-hero, .mcp-page-hero, .mcp-section {
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box !important;
}
.mcp-container {
  width: 100%;
  max-width: var(--mcp-maxw);
  margin-inline: auto;
  padding-inline: clamp(1.5rem, 5vw, 4rem);
}

/* =========================================================================
   HEADER — viola, compatto, una riga pulita
   ========================================================================= */

/* Mantieni sfondo plum di Astra (già impostato via var(--ast-global-color-0)) */
/* Solo pulizia e uniformità */
.ast-primary-header-bar,
.main-header-bar {
  border-bottom: none !important;
  box-shadow: none !important;
}

/* Site title: piccolo, bianco, bold */
.site-title a,
.site-title a:visited {
  font-family: 'Montserrat', sans-serif !important;
  font-size: .8rem !important;
  font-weight: 700 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,.9) !important;
}
.site-title a:hover { color: #fff !important; }

/* Nascondi tagline */
.site-description,
.ast-site-identity .ast-header-description { display: none !important; }

/* Menu: bianco, compatto, nowrap */
.main-header-menu, .ast-nav-menu {
  flex-wrap: nowrap !important;
  align-items: center !important;
}
.main-header-menu .menu-item > .menu-link,
.ast-nav-menu .menu-item > .menu-link {
  font-family: 'Montserrat', sans-serif !important;
  font-size: .78rem !important;
  font-weight: 500 !important;
  letter-spacing: .03em !important;
  color: rgba(255,255,255,.75) !important;
  padding: 0 .7rem !important;
  white-space: nowrap !important;
  line-height: 1 !important;
  transition: color .2s !important;
}
.main-header-menu .menu-item > .menu-link:hover { color: #fff !important; }
.main-header-menu .current-menu-item > .menu-link { color: #fff !important; }

/* LinkedIn: outline button bianco nel menu */
.main-header-menu .menu-item.mcp-nav-linkedin > .menu-link,
.ast-nav-menu .menu-item.mcp-nav-linkedin > .menu-link,
.main-header-menu .mcp-nav-linkedin > a,
.mcp-nav-linkedin > .menu-link {
  color: #fff !important;
  border: 1.5px solid rgba(255,255,255,.5) !important;
  border-radius: 999px !important;
  padding: .45em 1.15em !important;
  margin-left: .5em !important;
  transition: border-color .2s, background .2s !important;
}
.mcp-nav-linkedin > a:hover,
.mcp-nav-linkedin > .menu-link:hover {
  background: rgba(255,255,255,.12) !important;
  border-color: rgba(255,255,255,.9) !important;
  color: #fff !important;
}

/* =========================================================================
   HERO — split: testo sinistra / foto in cornice destra
   Background: orb animati viola, effetto premium
   ========================================================================= */
.mcp-hero {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 100svh;
  background: var(--mcp-dark);
  position: relative;
  overflow: hidden;
  align-items: center;
  gap: 0;
}

/* ORB animati per sfondo dinamico viola */
.mcp-orb {
  position: absolute;
  border-radius: 50%;
  filter: blur(90px);
  pointer-events: none;
  z-index: 0;
}
.mcp-orb--1 {
  width: 55vw; height: 55vw;
  max-width: 700px; max-height: 700px;
  background: rgba(120,65,107,.38);
  top: -20%; right: -5%;
  animation: orb-drift 9s ease-in-out infinite alternate;
}
.mcp-orb--2 {
  width: 40vw; height: 40vw;
  max-width: 500px; max-height: 500px;
  background: rgba(65,40,59,.5);
  bottom: -10%; left: 0%;
  animation: orb-drift 11s ease-in-out infinite alternate-reverse;
}
.mcp-orb--3 {
  width: 30vw; height: 30vw;
  max-width: 380px; max-height: 380px;
  background: rgba(78,20,65,.3);
  top: 30%; left: 30%;
  animation: orb-drift 7s ease-in-out infinite alternate;
  animation-delay: -4s;
}
@keyframes orb-drift {
  0%   { transform: translate(0,0) scale(1); }
  100% { transform: translate(24px,-28px) scale(1.12); }
}

/* SINISTRA — contenuto testuale */
.mcp-hero__body {
  position: relative;
  z-index: 2;
  padding: clamp(4rem, 7vw, 6rem) clamp(2rem, 4vw, 4rem);
  padding-left: clamp(2rem, calc((100vw - var(--mcp-maxw))/2 + 3rem), 9vw);
}

/* Payoff sopra il nome */
.mcp-hero__eyebrow {
  display: block;
  font-family: 'Poppins','Montserrat', sans-serif;
  font-size: .67rem;
  font-weight: 700;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: rgba(255,255,255,.42);
  margin-bottom: 1.6rem;
}

/* Nome — peso medio, elegante, leggibile */
.mcp-hero__name,
.mcp-hero .mcp-hero__name,
.entry-content .mcp-hero h1.mcp-hero__name {
  font-family: 'Montserrat', sans-serif !important;
  font-size: clamp(2.8rem, 6vw, 6rem) !important;
  font-weight: 500 !important;
  line-height: 1.05 !important;
  letter-spacing: -.01em !important;
  color: #ffffff !important;
  margin: 0 !important;
  text-decoration: none !important;
  -webkit-text-stroke: 0 !important;
}

/* Riga divisore */
.mcp-hero__divider {
  width: 48px;
  height: 2px;
  background: var(--mcp-mauve);
  margin: 2.2rem 0;
  display: block;
}

/* Testo */
.mcp-hero__text {
  font-size: clamp(.95rem, 1.3vw, 1.05rem);
  line-height: 1.8;
  color: rgba(255,255,255,.6);
  max-width: 34rem;
  margin: 0 0 2rem;
}

/* CTA */
.mcp-hero__cta {
  display: flex;
  flex-wrap: wrap;
  gap: .9rem 1rem;
  align-items: center;
}

/* DESTRA — foto in cornice con angoli arrotondati */
.mcp-hero__frame-wrap {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: clamp(2.5rem, 5vw, 4.5rem) clamp(2rem, 4vw, 3.5rem);
  padding-right: clamp(2rem, calc((100vw - var(--mcp-maxw))/2 + 2rem), 8vw);
}
.mcp-hero__frame {
  width: 100%;
  max-width: 400px;
  aspect-ratio: 4 / 5;
  border-radius: 16px;
  overflow: hidden;
  position: relative;
  box-shadow:
    0 0 0 1px rgba(255,255,255,.08),
    0 20px 50px rgba(0,0,0,.45),
    0 0 60px rgba(120,65,107,.18);
}
.mcp-hero__frame img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 18%;
  display: block;
}
/* Leggero gradient in basso per fondare la foto */
.mcp-hero__frame::after {
  content: '';
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 30%;
  background: linear-gradient(to top, rgba(13,6,20,.35) 0%, transparent 100%);
  pointer-events: none;
}

/* Strip con le 5 competenze dopo la hero */
.mcp-hero-strip {
  background: var(--mcp-plum);
  overflow: hidden;
  border-top: 1px solid rgba(255,255,255,.06);
}
.mcp-hero-strip__inner {
  display: flex;
  align-items: stretch;
  max-width: none;
}
.mcp-hero-strip__item {
  flex: 1;
  padding: 1.3rem 1.6rem;
  border-right: 1px solid rgba(255,255,255,.08);
  display: flex;
  flex-direction: column;
  gap: .3rem;
}
.mcp-hero-strip__item:last-child { border-right: none; }
.mcp-hero-strip__n {
  font-family: 'Poppins','Montserrat', sans-serif;
  font-size: .6rem;
  font-weight: 500;
  letter-spacing: .12em;
  color: rgba(255,255,255,.3);
}
.mcp-hero-strip__label {
  font-family: 'Montserrat', sans-serif;
  font-size: .84rem;
  font-weight: 400;
  color: rgba(255,255,255,.75);
  line-height: 1.3;
}

/* =========================================================================
   BOTTONI
   ========================================================================= */
.mcp-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .8rem 1rem;
  align-items: center;
  margin-top: 2rem;
}
.mcp-actions--center { justify-content: center; }

.mcp-btn {
  display: inline-flex;
  align-items: center;
  font-family: 'Montserrat', sans-serif;
  font-size: .84rem;
  font-weight: 500;
  letter-spacing: .06em;
  line-height: 1;
  padding: 1rem 1.8rem;
  border-radius: 999px;
  border: 1.5px solid transparent;
  text-decoration: none;
  white-space: nowrap;
  transition: transform .25s var(--mcp-ease), background .2s, color .2s, border-color .2s;
}
.mcp-btn:hover { transform: translateY(-2px); }
.mcp-btn:focus-visible { outline: 3px solid var(--mcp-mauve); outline-offset: 3px; }

.mcp-btn--solid {
  background: var(--mcp-plum);
  color: #fff !important;
  border-color: var(--mcp-plum);
}
.mcp-btn--solid:hover { background: var(--mcp-mauve); border-color: var(--mcp-mauve); }

.mcp-btn--outline-light {
  background: transparent;
  color: rgba(255,255,255,.85) !important;
  border-color: rgba(255,255,255,.35);
}
.mcp-btn--outline-light:hover { color: #fff !important; border-color: rgba(255,255,255,.8); }

.mcp-btn--outline-dark {
  background: transparent;
  color: var(--mcp-ink) !important;
  border-color: var(--mcp-line);
}
.mcp-btn--outline-dark:hover { border-color: var(--mcp-plum); color: var(--mcp-plum) !important; }

.mcp-btn--white {
  background: #fff;
  color: var(--mcp-plum) !important;
  border-color: #fff;
}
.mcp-btn--white:hover { background: rgba(255,255,255,.9); }

.mcp-link {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  font-family: 'Montserrat', sans-serif;
  font-weight: 600;
  font-size: .86rem;
  color: var(--mcp-plum);
  text-decoration: none;
  transition: gap .25s var(--mcp-ease), color .2s;
}
.mcp-link::after { content: "→"; }
.mcp-link:hover { color: var(--mcp-mauve); gap: .7rem; }
.mcp-link--light { color: rgba(255,255,255,.6); }
.mcp-link--light:hover { color: rgba(255,255,255,.9); }

.mcp-links-row {
  display: flex;
  flex-wrap: wrap;
  gap: .8rem 2.5rem;
  margin-top: 2rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--mcp-line);
}

/* =========================================================================
   TIPOGRAFIA SEZIONI
   ========================================================================= */
.mcp-eyebrow {
  display: block;
  font-family: 'Poppins','Montserrat', sans-serif;
  font-size: .66rem;
  font-weight: 700;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--mcp-mauve);
  margin-bottom: 1rem;
}
.mcp-section--dark .mcp-eyebrow { color: rgba(255,255,255,.4); }

.mcp-h2 {
  font-family: 'Montserrat', sans-serif;
  font-size: clamp(1.8rem, 3.4vw, 2.7rem);
  font-weight: 600;
  line-height: 1.1;
  letter-spacing: -.01em;
  color: var(--mcp-ink);
  margin: 0 0 1rem;
}
.mcp-section--dark .mcp-h2,
.mcp-section--plum .mcp-h2 { color: #fff; }

.mcp-lead {
  font-size: clamp(.98rem, 1.4vw, 1.1rem);
  line-height: 1.8;
  color: var(--mcp-text);
  max-width: 42rem;
}
.mcp-section--dark .mcp-lead,
.mcp-section--plum .mcp-lead { color: rgba(255,255,255,.7); }

/* =========================================================================
   SEZIONI
   ========================================================================= */
.mcp-section { padding-block: clamp(4rem, 8vw, 7rem); }
.mcp-section--white { background: #fff; }
.mcp-section--soft  { background: var(--mcp-soft); }
.mcp-section--plum  { background: var(--mcp-plum); }
.mcp-section--dark  { background: var(--mcp-dark); }

.mcp-section__head { margin-bottom: clamp(2.5rem, 5vw, 3.5rem); }

/* Split: titolo sinistra, testo destra */
.mcp-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem 6rem;
  align-items: start;
}
.mcp-split .mcp-h2 { margin: 0; }

/* =========================================================================
   COMPETENZE — lista editoriale con divisori
   ========================================================================= */
.mcp-list {
  list-style: none;
  padding: 0;
  margin: 0;
  border-top: 1px solid var(--mcp-line);
}
.mcp-list-item {
  display: grid;
  grid-template-columns: 2.5rem 1fr 1fr;
  gap: 1rem 4rem;
  padding: 2.2rem 0;
  border-bottom: 1px solid var(--mcp-line);
  align-items: baseline;
  transition: background .25s;
}
.mcp-list-item:hover { background: var(--mcp-soft); margin-inline: -1.5rem; padding-inline: 1.5rem; }

.mcp-li-n {
  font-family: 'Poppins','Montserrat', sans-serif;
  font-size: .65rem;
  font-weight: 700;
  letter-spacing: .12em;
  color: var(--mcp-mauve);
  padding-top: .3rem;
}
.mcp-li-t {
  font-family: 'Montserrat', sans-serif;
  font-size: 1.05rem;
  font-weight: 600;
  color: var(--mcp-ink);
  margin: 0;
  line-height: 1.3;
}
.mcp-li-d {
  font-size: .95rem;
  line-height: 1.7;
  color: var(--mcp-text);
  margin: 0;
}

/* =========================================================================
   AREE DI INTERVENTO — 2x2 senza box, accent bar
   ========================================================================= */
.mcp-aree {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3rem 6rem;
  margin-top: 3rem;
}
.mcp-area {
  border-top: 2px solid var(--mcp-mauve);
  padding-top: 1.6rem;
}
.mcp-area-n {
  font-family: 'Poppins','Montserrat', sans-serif;
  font-size: .65rem;
  font-weight: 700;
  letter-spacing: .12em;
  color: var(--mcp-mauve);
  display: block;
  margin-bottom: .6rem;
}
.mcp-area-t {
  font-family: 'Montserrat', sans-serif;
  font-size: 1.08rem;
  font-weight: 600;
  color: var(--mcp-ink);
  margin: 0 0 .7rem;
  line-height: 1.25;
}
.mcp-area-d {
  font-size: .95rem;
  line-height: 1.72;
  color: var(--mcp-text);
  margin: 0;
}

/* =========================================================================
   PER CHI LAVORO — lista con dash
   ========================================================================= */
.mcp-who {
  list-style: none;
  padding: 0;
  margin: 2.5rem 0 0;
  border-top: 1px solid var(--mcp-line);
}
.mcp-who li {
  padding: 1.1rem 0;
  border-bottom: 1px solid var(--mcp-line);
  display: flex;
  align-items: center;
  gap: 1.4rem;
  font-family: 'Montserrat', sans-serif;
  font-size: 1.05rem;
  font-weight: 500;
  color: var(--mcp-ink);
}
.mcp-who li::before {
  content: '';
  width: 24px;
  height: 2px;
  background: var(--mcp-mauve);
  flex: none;
}

/* =========================================================================
   MODALITÀ — 3 step con linee
   ========================================================================= */
.mcp-steps {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 0;
  margin-top: 2.5rem;
}
.mcp-step {
  padding: 2rem 2.5rem 2rem 0;
  border-left: 1px solid var(--mcp-line);
}
.mcp-step:first-child { border-left: none; padding-left: 0; }
.mcp-step:not(:first-child) { padding-left: 2.5rem; }
.mcp-step-n {
  font-family: 'Poppins','Montserrat', sans-serif;
  font-size: .65rem;
  font-weight: 700;
  letter-spacing: .12em;
  color: var(--mcp-mauve);
  display: block;
  margin-bottom: .9rem;
}
.mcp-step-t {
  font-family: 'Montserrat', sans-serif;
  font-size: 1rem;
  font-weight: 500;
  color: var(--mcp-ink);
  margin: 0 0 .5rem;
  line-height: 1.3;
}
.mcp-step-d {
  font-size: .93rem;
  line-height: 1.65;
  color: var(--mcp-text);
  margin: 0;
}

/* =========================================================================
   CTA BAND — dark (#0D0614): diversa dal footer plum, staccata visivamente
   ========================================================================= */
.mcp-section--dark { background: var(--mcp-dark); }

.mcp-cta-band {
  text-align: center;
  padding-block: clamp(5rem, 10vw, 9rem);
}
.mcp-cta-band .mcp-h2 {
  font-size: clamp(1.9rem, 4vw, 3.2rem);
  font-weight: 500;
  max-width: 24ch;
  margin: .5rem auto 1.2rem;
  color: #fff;
}
.mcp-cta-band .mcp-lead { margin-inline: auto; }
.mcp-section--dark .mcp-eyebrow { color: rgba(255,255,255,.38); }
.mcp-section--dark .mcp-lead { color: rgba(255,255,255,.68); }

/* =========================================================================
   HERO PAGINE INTERNE
   ========================================================================= */
.mcp-page-hero {
  background: var(--mcp-dark);
  padding-block: clamp(4.5rem, 9vw, 8rem);
  position: relative;
  overflow: hidden;
}
.mcp-page-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 80% 80% at 80% 50%, rgba(120,65,107,.2) 0%, transparent 70%);
  pointer-events: none;
}
.mcp-page-hero__inner {
  position: relative;
  z-index: 1;
}
.mcp-page-hero .mcp-payoff-line {
  display: block;
  font-family: 'Poppins','Montserrat', sans-serif;
  font-size: .66rem;
  font-weight: 700;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: rgba(255,255,255,.4);
  margin-bottom: 1.2rem;
}
.mcp-page-hero .mcp-h1 {
  font-family: 'Montserrat', sans-serif;
  font-size: clamp(2.5rem, 6vw, 5.5rem);
  font-weight: 500;
  line-height: 1.0;
  letter-spacing: -.01em;
  color: #fff;
  margin: 0 0 1.5rem;
}
.mcp-page-hero .mcp-lead {
  color: rgba(255,255,255,.65);
  margin-bottom: 0;
}
.mcp-page-hero .mcp-anchornav { margin-top: 1.8rem; }

/* Anchor nav */
.mcp-anchornav {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem .55rem;
}
.mcp-anchornav a {
  font-family: 'Montserrat', sans-serif;
  font-size: .76rem;
  font-weight: 600;
  color: rgba(255,255,255,.55);
  text-decoration: none;
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 999px;
  padding: .45rem 1rem;
  transition: background .2s, color .2s, border-color .2s;
}
.mcp-anchornav a:hover {
  background: rgba(255,255,255,.1);
  color: #fff;
  border-color: rgba(255,255,255,.5);
}

/* =========================================================================
   TIMELINE
   ========================================================================= */
.mcp-tl {
  margin-top: 2rem;
  border-top: 1px solid var(--mcp-line);
}
.mcp-tl-item {
  display: grid;
  grid-template-columns: 200px 1fr;
  gap: 1rem 4rem;
  padding: 2.5rem 0;
  border-bottom: 1px solid var(--mcp-line);
  align-items: start;
}
.mcp-tl-period {
  font-family: 'Poppins','Montserrat', sans-serif;
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--mcp-mauve);
  display: block;
  margin-bottom: .5rem;
}
.mcp-tl-org {
  font-family: 'Montserrat', sans-serif;
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--mcp-ink);
  margin: 0 0 .25rem;
  line-height: 1.2;
}
.mcp-tl-role {
  font-size: .88rem;
  font-weight: 600;
  color: var(--mcp-plum);
  margin: 0;
  line-height: 1.5;
}
.mcp-tl-text {
  font-size: .96rem;
  line-height: 1.78;
  color: var(--mcp-text);
  margin: 0;
}

/* =========================================================================
   ACCORDION
   ========================================================================= */
.mcp-acc { display: flex; flex-direction: column; margin-top: 2rem; border-top: 1px solid var(--mcp-line); }
.mcp-acc details { border-bottom: 1px solid var(--mcp-line); }
.mcp-acc summary {
  cursor: pointer; list-style: none;
  font-family: 'Montserrat', sans-serif;
  font-weight: 600; font-size: .97rem;
  color: var(--mcp-ink); padding: 1.1rem 0;
  display: flex; justify-content: space-between; align-items: center;
  transition: color .2s;
}
.mcp-acc summary::-webkit-details-marker { display: none; }
.mcp-acc summary::after { content: "+"; color: var(--mcp-mauve); font-size: 1.3rem; }
.mcp-acc details[open] summary { color: var(--mcp-plum); }
.mcp-acc details[open] summary::after { content: "–"; }
.mcp-acc-body { padding: 0 0 1.2rem; font-size: .94rem; line-height: 1.75; color: var(--mcp-text); }
.mcp-acc-body ul { margin: 0; padding-left: 1.1rem; }
.mcp-acc-body li { margin-bottom: .3rem; }

/* =========================================================================
   DUE COLONNE
   ========================================================================= */
.mcp-twocol { display: grid; grid-template-columns: 1fr 1fr; gap: 5rem; margin-top: 2.5rem; }
.mcp-panel__title {
  font-family: 'Montserrat', sans-serif;
  font-size: 1rem; font-weight: 700;
  color: var(--mcp-plum); margin: 0 0 1rem;
  padding-bottom: .8rem;
  border-bottom: 2px solid var(--mcp-mauve);
}
.mcp-panel ul { margin: 0; padding: 0; list-style: none; }
.mcp-panel li {
  font-size: .95rem; line-height: 1.8; color: var(--mcp-text);
  padding: .4rem 0; border-bottom: 1px solid var(--mcp-line);
}
.mcp-panel li:last-child { border-bottom: none; }

/* =========================================================================
   COMPETENZE PAGINA — skill con tag
   ========================================================================= */
.mcp-skill {
  scroll-margin-top: 80px;
  padding-block: clamp(3rem, 5vw, 4.5rem);
  border-top: 1px solid var(--mcp-line);
  display: grid;
  grid-template-columns: 3rem 1fr;
  gap: 1.5rem 5rem;
  align-items: start;
}
.mcp-skill:first-child { border-top: none; padding-top: 0; }
.mcp-skill-n {
  font-family: 'Poppins','Montserrat', sans-serif;
  font-size: .65rem; font-weight: 700; letter-spacing: .12em;
  color: var(--mcp-mauve); padding-top: .5rem;
}
.mcp-skill-h {
  font-size: clamp(1.4rem, 2.2vw, 1.85rem);
  font-weight: 600; color: var(--mcp-ink);
  margin: 0 0 1rem; line-height: 1.2;
}
.mcp-skill-text { font-size: 1rem; line-height: 1.8; color: var(--mcp-text); margin: 0; max-width: 54ch; }
.mcp-tags {
  display: flex; flex-wrap: wrap; gap: .5rem .55rem;
  list-style: none; padding: 0; margin: 1.4rem 0 0;
}
.mcp-tags li {
  font-family: 'Montserrat', sans-serif; font-size: .79rem; font-weight: 600;
  color: var(--mcp-plum); border: 1.5px solid rgba(65,40,59,.25);
  border-radius: 999px; padding: .42rem .95rem;
}

/* =========================================================================
   PUBBLICAZIONI
   ========================================================================= */
.mcp-pub-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr));
  gap: 2.5rem;
  margin-top: 2.5rem;
}
.mcp-pub-card {
  border-top: 2px solid var(--mcp-mauve);
  padding-top: 1.5rem;
  display: flex; flex-direction: column; gap: .6rem;
}
.mcp-pub-card--placeholder { border-color: var(--mcp-line); border-top-style: dashed; }
.mcp-pub-cat {
  font-family: 'Montserrat', sans-serif; font-size: .66rem; font-weight: 700;
  letter-spacing: .1em; text-transform: uppercase; color: var(--mcp-mauve);
}
.mcp-pub-title { font-family: 'Montserrat', sans-serif; font-size: 1.05rem; font-weight: 700; color: var(--mcp-ink); margin: 0; line-height: 1.3; }
.mcp-pub-meta { font-size: .8rem; color: var(--mcp-mauve); margin: 0; }
.mcp-pub-desc { font-size: .93rem; line-height: 1.65; color: var(--mcp-text); margin: 0; }

/* =========================================================================
   CONTATTI
   ========================================================================= */
.mcp-contact { max-width: 36rem; }
.mcp-contact-email {
  display: inline-block; margin-top: 1.5rem;
  font-family: 'Montserrat', sans-serif; font-weight: 600; font-size: 1rem;
  color: var(--mcp-plum); text-decoration: none;
  border-bottom: 1.5px solid var(--mcp-mauve); padding-bottom: 2px;
  transition: color .2s;
}
.mcp-contact-email:hover { color: var(--mcp-mauve); }

/* =========================================================================
   FOOTER
   ========================================================================= */
.ast-footer-copyright, .mcp-footer { width: 100%; }
.mcp-footer__inner {
  max-width: var(--mcp-maxw); margin-inline: auto;
  padding: clamp(2rem, 4vw, 3rem) clamp(1.5rem, 5vw, 4rem);
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .8rem;
}
.mcp-footer__logo-wrap { display: flex; justify-content: center; }
.mcp-footer__logo-link { display: inline-flex; align-items: center; justify-content: center; }
.mcp-footer__logo { display: block; width: min(320px, 72vw); height: auto; }
.mcp-footer__name { font-family: 'Montserrat', sans-serif; font-size: 1rem; font-weight: 700; margin: 0 0 .4rem; color: #fff; }
.mcp-footer__roles { font-family: 'Montserrat', sans-serif; font-size: .72rem; font-weight: 500; letter-spacing: .08em; color: rgba(255,255,255,.5); margin: 0; line-height: 1.8; text-transform: uppercase; }
.mcp-footer__links { display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem 1.5rem; margin: .15rem 0 0; }
.mcp-footer__links a { font-family: 'Montserrat', sans-serif; font-size: .72rem; font-weight: 500; color: rgba(255,255,255,.65); text-decoration: none; }
.mcp-footer__links a:hover { color: #fff; }
.mcp-footer__legal { gap: .3rem; align-items: center; color: rgba(255,255,255,.45); flex-wrap: nowrap; }
.mcp-footer__legal span,
.mcp-footer__legal a {
  font-size: .6rem;
  line-height: 1.6;
  white-space: nowrap;
}
.mcp-footer__separator { color: rgba(255,255,255,.35); }
.mcp-footer__copy { font-size: .7rem; color: rgba(255,255,255,.35); margin: 0; }

/* =========================================================================
   RESPONSIVE
   ========================================================================= */
@media (max-width: 960px) {
  .mcp-hero { grid-template-columns: 1fr; min-height: auto; }
  .mcp-hero__frame-wrap { order: -1; padding: 2.5rem 2rem 1.5rem; }
  .mcp-hero__frame { max-width: 320px; aspect-ratio: 1/1; margin: 0 auto; }
  .mcp-hero__body { padding: 1.5rem clamp(1.5rem,5vw,2.5rem) 3rem; }
  .mcp-hero__name,
  .mcp-hero .mcp-hero__name,
  .entry-content .mcp-hero h1.mcp-hero__name { font-size: clamp(2.6rem, 9vw, 4.5rem) !important; }
  .mcp-hero-strip__inner { flex-wrap: wrap; }
  .mcp-hero-strip__item { flex: 0 0 50%; border-bottom: 1px solid rgba(255,255,255,.1); }
  .mcp-split { grid-template-columns: 1fr; gap: 1rem; }
  .mcp-aree { grid-template-columns: 1fr; gap: 2rem; }
  .mcp-steps { grid-template-columns: 1fr; }
  .mcp-step { border-left: none; padding-left: 0; border-top: 1px solid var(--mcp-line); }
  .mcp-step:first-child { border-top: none; }
  .mcp-twocol { grid-template-columns: 1fr; gap: 2rem; }
  .mcp-tl-item { grid-template-columns: 1fr; gap: .4rem; }
  .mcp-skill { grid-template-columns: 1fr; gap: 0; }
  .mcp-skill-n { display: none; }
  .mcp-list-item { grid-template-columns: 2rem 1fr; grid-template-rows: auto auto; }
  .mcp-list-item .mcp-li-d { grid-column: 2; margin-top: .3rem; }
  .mcp-list-item:hover { margin-inline: -.5rem; padding-inline: .5rem; }
}
@media (max-width: 600px) {
  .mcp-hero__name { font-size: clamp(3rem, 16vw, 5.5rem); }
  .mcp-actions { flex-direction: column; align-items: stretch; }
  .mcp-actions .mcp-btn { justify-content: center; }
  .mcp-hero-strip__item { flex: 0 0 100%; }
  .mcp-links-row { flex-direction: column; gap: .8rem; }
}
@media (prefers-reduced-motion: reduce) { * { transition: none !important; } }

/* =========================================================================
   MCP alignment 2026-06-29
   ========================================================================= */
.mcp-orb,
.mcp-hero-strip {
  display: none !important;
}

.mcp-hero {
  display: block;
  min-height: calc(100svh - 90px);
  background: var(--mcp-dark);
}

.mcp-hero__inner {
  width: 100%;
  max-width: 1440px;
  min-height: calc(100svh - 90px);
  margin-inline: auto;
  padding: 5.5rem clamp(2rem, 5%, 4rem);
  display: grid;
  grid-template-columns: minmax(0, 1.28fr) minmax(300px, .72fr);
  gap: clamp(3rem, 6%, 5.5rem);
  align-items: center;
}

.mcp-hero__body {
  padding: 0;
  max-width: none;
}

.mcp-hero__eyebrow,
.mcp-page-hero .mcp-payoff-line,
.mcp-eyebrow {
  letter-spacing: 0;
}

.mcp-hero__eyebrow {
  white-space: nowrap;
  font-size: .72rem;
  color: rgba(255,255,255,.58);
  margin-bottom: 1.4rem;
}

.mcp-hero__name,
.mcp-hero .mcp-hero__name,
.entry-content .mcp-hero h1.mcp-hero__name {
  white-space: nowrap;
  font-size: 4.4rem !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  font-weight: 400 !important;
}

.mcp-hero__divider {
  display: none;
}

.mcp-hero__text {
  max-width: 52rem;
  margin-top: 2rem;
  color: rgba(255,255,255,.72);
}

.mcp-hero__frame-wrap {
  padding: 0;
  justify-content: end;
}

.mcp-hero__frame {
  max-width: 390px;
  aspect-ratio: 1 / 1;
  border-radius: 8px;
  box-shadow:
    0 0 0 1px rgba(255,255,255,.11),
    0 24px 70px rgba(0,0,0,.38);
}

.mcp-hero__frame::after {
  display: none;
}

.mcp-hero__frame img {
  object-position: center center;
}

.mcp-pill-grid,
.mcp-card-grid {
  display: grid;
  gap: 1rem;
}

.mcp-pill-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.mcp-pill,
.mcp-card {
  border: 1px solid var(--mcp-line);
  border-radius: 8px;
  background: #fff;
  padding: 1.35rem;
}

.mcp-pill h2,
.mcp-card h3 {
  font-family: 'Montserrat', sans-serif;
  font-size: 1rem;
  line-height: 1.25;
  font-weight: 700;
  color: var(--mcp-ink);
  margin: 0 0 .75rem;
  letter-spacing: 0;
}

.mcp-pill p,
.mcp-card p {
  font-size: .94rem;
  line-height: 1.65;
  color: var(--mcp-text);
  margin: 0;
}

.mcp-card-grid--five {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.mcp-panel p {
  font-size: .96rem;
  line-height: 1.78;
  color: var(--mcp-text);
  margin: 0;
}

.mcp-tl-role--link {
  margin-top: .85rem;
}

.mcp-category-list {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;
}

.mcp-category-list span {
  display: inline-flex;
  align-items: center;
  min-height: 2.35rem;
  border: 1px solid rgba(65,40,59,.2);
  border-radius: 999px;
  padding: .45rem 1rem;
  font-family: 'Montserrat', sans-serif;
  font-size: .82rem;
  font-weight: 600;
  color: var(--mcp-plum);
  background: #fff;
}

.mcp-page-hero .mcp-h1,
.mcp-h2,
.mcp-skill-h {
  letter-spacing: 0;
}

.mcp-page-hero .mcp-lead + .mcp-lead {
  margin-top: 1rem;
}

.mcp-footer__roles {
  letter-spacing: .08em;
}

.mcp-footer__links:not(.mcp-footer__legal) span {
  font-family: 'Montserrat', sans-serif;
  font-size: .83rem;
  font-weight: 500;
  color: rgba(255,255,255,.7);
}

@media (max-width: 1180px) {
  .mcp-hero__inner {
    grid-template-columns: minmax(0, 1fr) minmax(260px, .62fr);
    gap: 3rem;
  }

  .mcp-hero__name,
  .mcp-hero .mcp-hero__name,
  .entry-content .mcp-hero h1.mcp-hero__name {
    font-size: 3.45rem !important;
  }

  .mcp-hero__eyebrow {
    font-size: .66rem;
  }

  .mcp-card-grid--five {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 960px) {
  .mcp-hero {
    min-height: auto;
  }

  .mcp-hero__inner {
    min-height: auto;
    grid-template-columns: 1fr;
    padding: 3rem clamp(1.4rem, 5%, 2.5rem) 4rem;
  }

  .mcp-hero__body {
    order: 1;
    padding: 0;
  }

  .mcp-hero__frame-wrap {
    order: 2;
    justify-content: start;
    padding: 0;
  }

  .mcp-hero__frame {
    max-width: 300px;
    margin: 0;
  }

  .mcp-pill-grid,
  .mcp-card-grid--five {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 600px) {
  .mcp-hero__inner {
    padding-inline: 1rem;
  }

  .mcp-hero__eyebrow {
    font-size: .52rem;
    white-space: normal;
  }

  .mcp-hero__name,
  .mcp-hero .mcp-hero__name,
  .entry-content .mcp-hero h1.mcp-hero__name {
    font-size: 1.8rem !important;
  }
}

@media (max-width: 360px) {
  .mcp-hero__name,
  .mcp-hero .mcp-hero__name,
  .entry-content .mcp-hero h1.mcp-hero__name {
    font-size: 1.55rem !important;
  }
}

/* Homepage rollback: keep the previous editorial feel, without the numbered strip. */
.home .mcp-hero {
  display: block;
  min-height: calc(100svh - 90px);
  overflow: hidden;
  background:
    radial-gradient(ellipse 70% 80% at 66% 44%, rgba(120,65,107,.34) 0%, rgba(120,65,107,.12) 38%, transparent 68%),
    linear-gradient(120deg, #08020d 0%, #15071d 42%, #32152c 100%);
}

.home .mcp-hero__inner {
  max-width: 1680px;
  box-sizing: border-box;
  min-height: calc(100svh - 90px);
  margin-inline: auto;
  padding: clamp(4.2rem, 7vw, 7rem) clamp(2rem, 8vw, 8rem);
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(320px, .7fr);
  gap: clamp(3rem, 7vw, 7rem);
  align-items: center;
}

.home .mcp-hero__body {
  padding: 0;
  max-width: none;
}

.home .mcp-hero__eyebrow {
  max-width: none;
  white-space: nowrap;
  font-size: clamp(.58rem, .7vw, .74rem);
  letter-spacing: .16em;
  color: rgba(255,255,255,.48);
  margin-bottom: 2.1rem;
}

.home .mcp-hero__name,
.home .mcp-hero .mcp-hero__name,
.home .entry-content .mcp-hero h1.mcp-hero__name {
  white-space: nowrap;
  font-size: clamp(3.2rem, 4.1vw, 5.2rem) !important;
  line-height: 1.02 !important;
  letter-spacing: 0 !important;
  font-weight: 300 !important;
}

.home .mcp-hero__divider {
  display: block;
  width: 48px;
  height: 2px;
  background: var(--mcp-mauve);
  margin: 2.2rem 0;
}

.home .mcp-hero__text {
  max-width: 42rem;
  margin: 0 0 2rem;
  color: rgba(255,255,255,.66);
  overflow-wrap: break-word;
}

.home .mcp-hero__frame-wrap {
  padding: 0;
  justify-content: center;
}

.home .mcp-hero__frame {
  max-width: 390px;
  aspect-ratio: 4 / 5;
  border-radius: 12px;
  box-shadow:
    0 0 0 1px rgba(255,255,255,.1),
    0 24px 70px rgba(0,0,0,.48),
    0 0 60px rgba(120,65,107,.16);
}

.home .mcp-hero__frame img {
  object-position: center 18%;
}

.mcp-list--plain .mcp-list-item {
  grid-template-columns: minmax(220px, .8fr) minmax(0, 1.2fr);
  gap: 1rem clamp(2rem, 6vw, 5rem);
}

.mcp-list--plain .mcp-list-item:hover {
  margin-inline: -1rem;
  padding-inline: 1rem;
}

.mcp-cta-band--tram {
  position: relative;
  isolation: isolate;
  background:
    linear-gradient(90deg, rgba(13,6,20,.92), rgba(65,40,59,.82)),
    url('/wp-content/uploads/2025/08/tram-prague-night-at-night-czech-republic-city-1444461-pxhere-com.jpg') center / cover no-repeat;
}

.mcp-cta-band--tram::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  background: rgba(13,6,20,.18);
}

.home .mcp-home-competences {
  padding-block: clamp(4rem, 6vw, 5.5rem);
}

.home .mcp-home-competences .mcp-section__head {
  margin-bottom: clamp(1.8rem, 3vw, 2.4rem);
}

.home .mcp-home-competences .mcp-h2 {
  font-size: clamp(1.9rem, 3vw, 2.45rem);
}

.entry-content .mcp-list--plain .mcp-list-item {
  min-height: auto;
  padding: clamp(1.25rem, 2.4vw, 1.8rem) 0;
  align-items: center;
}

.entry-content .mcp-list--plain .mcp-li-t {
  font-size: clamp(1.12rem, 1.55vw, 1.42rem);
  line-height: 1.22;
  font-weight: 500;
}

.entry-content .mcp-list--plain .mcp-li-d {
  font-size: .94rem;
  line-height: 1.62;
}

.mcp-compact-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

.mcp-compact-card {
  min-height: 100%;
  border: 1px solid var(--mcp-line);
  border-radius: 8px;
  background: #fff;
  padding: clamp(1.1rem, 2vw, 1.4rem);
}

.entry-content .mcp-compact-card h3 {
  font-size: clamp(1.05rem, 1.45vw, 1.22rem);
  line-height: 1.25;
  font-weight: 600;
  margin: 0 0 .7rem;
  color: var(--mcp-ink);
}

.mcp-compact-card p {
  font-size: .93rem;
  line-height: 1.62;
  color: var(--mcp-text);
  margin: 0;
}

.mcp-who-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  border-top: 1px solid var(--mcp-line);
  border-left: 1px solid var(--mcp-line);
}

.mcp-who-list li {
  min-height: 8rem;
  display: flex;
  align-items: flex-end;
  padding: 1rem;
  border-right: 1px solid var(--mcp-line);
  border-bottom: 1px solid var(--mcp-line);
  font-family: 'Montserrat', sans-serif;
  font-size: clamp(.9rem, 1.05vw, 1rem);
  line-height: 1.45;
  color: var(--mcp-ink);
}

@media (max-width: 1180px) {
  .home .mcp-hero__inner {
    grid-template-columns: minmax(0, 1fr) minmax(280px, .56fr);
    padding-inline: clamp(1.5rem, 5vw, 4rem);
  }

  .home .mcp-hero__name,
  .home .mcp-hero .mcp-hero__name,
  .home .entry-content .mcp-hero h1.mcp-hero__name {
    font-size: clamp(2.8rem, 4vw, 3.8rem) !important;
  }
}

@media (max-width: 960px) {
  .home .mcp-hero {
    min-height: auto;
  }

  .home .mcp-hero__inner {
    min-height: auto;
    grid-template-columns: 1fr;
    padding-block: 3.4rem 4rem;
  }

  .home .mcp-hero__frame-wrap {
    justify-content: start;
  }

  .home .mcp-hero__frame {
    max-width: 320px;
  }

  .mcp-list--plain .mcp-list-item {
    grid-template-columns: 1fr;
    gap: .5rem;
  }
}

@media (max-width: 600px) {
  .home .mcp-hero__inner,
  .home .mcp-section .mcp-container {
    max-width: 100%;
    overflow: hidden;
  }

  .home .mcp-hero__eyebrow {
    white-space: normal;
    letter-spacing: .08em;
    overflow-wrap: anywhere;
  }

  .home .mcp-hero__name,
  .home .mcp-hero .mcp-hero__name,
  .home .entry-content .mcp-hero h1.mcp-hero__name {
    font-size: clamp(1.45rem, 6.1vw, 1.65rem) !important;
  }

  .home .mcp-hero__text {
    font-size: .95rem;
    max-width: 100%;
  }

  .home .mcp-hero__cta {
    flex-direction: column;
    align-items: stretch;
  }

  .home .mcp-hero__cta .mcp-btn,
  .home .mcp-hero__cta .mcp-link {
    justify-content: center;
  }

  .mcp-compact-grid,
  .mcp-who-list {
    grid-template-columns: 1fr;
  }

  .mcp-who-list li {
    min-height: auto;
    align-items: center;
  }
}

/* Shared site shell and final header polish. */
:root {
  --mcp-shell: 1200px;
  --mcp-shell-gutter: clamp(1.5rem, 4.45vw, 4rem);
}

.site-primary-header-wrap.ast-container,
.mcp-container,
.home .mcp-hero__inner {
  width: 100%;
  max-width: var(--mcp-shell) !important;
  box-sizing: border-box !important;
  margin-inline: auto !important;
  padding-inline: var(--mcp-shell-gutter) !important;
}

.site-primary-header-wrap.ast-container {
  padding-block: 0 !important;
}

.site-primary-header-wrap .ast-builder-grid-row {
  width: 100%;
}

.custom-logo-link img,
.site-logo-img img,
header .custom-logo-link img {
  width: clamp(170px, 16vw, 230px) !important;
  max-width: 230px !important;
  height: auto !important;
  display: block;
}

.site-branding {
  line-height: 0;
}

.main-header-menu .menu-item > .menu-link,
.ast-nav-menu .menu-item > .menu-link {
  padding-inline: .58rem !important;
}

.main-header-menu .mcp-nav-linkedin > a,
.mcp-nav-linkedin > .menu-link {
  min-height: 2.25rem !important;
  min-width: 6.2rem !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: .48rem 1.15rem !important;
  margin-left: .65rem !important;
  border: 1px solid rgba(255,255,255,.72) !important;
  border-radius: 999px !important;
  color: #fff !important;
  background: rgba(255,255,255,.08) !important;
  line-height: 1 !important;
}

.main-header-menu .menu-item.mcp-nav-linkedin > .menu-link:hover,
.ast-nav-menu .menu-item.mcp-nav-linkedin > .menu-link:hover,
.main-header-menu .mcp-nav-linkedin > a:hover,
.mcp-nav-linkedin > .menu-link:hover {
  background: #fff !important;
  border-color: #fff !important;
  color: var(--mcp-plum) !important;
}

.home .mcp-hero__inner {
  grid-template-columns: minmax(0, 1.18fr) minmax(280px, .72fr);
  gap: clamp(2.5rem, 5vw, 5rem);
}

.home .mcp-hero__name,
.home .mcp-hero .mcp-hero__name,
.home .entry-content .mcp-hero h1.mcp-hero__name {
  font-size: clamp(3rem, 3.45vw, 4.35rem) !important;
}

.home .mcp-hero__frame {
  max-width: 360px;
}

@media (max-width: 1020px) {
  .main-header-menu .menu-item > .menu-link,
  .ast-nav-menu .menu-item > .menu-link {
    font-size: .72rem !important;
    padding-inline: .42rem !important;
  }

  .main-header-menu .menu-item.mcp-nav-linkedin > .menu-link,
  .ast-nav-menu .menu-item.mcp-nav-linkedin > .menu-link,
  .main-header-menu .mcp-nav-linkedin > a,
  .mcp-nav-linkedin > .menu-link {
    padding-inline: .9rem !important;
  }
}

@media (max-width: 960px) {
  .site-primary-header-wrap.ast-container,
  .mcp-container,
  .home .mcp-hero__inner {
    padding-inline: clamp(1.25rem, 5vw, 2rem) !important;
  }

  .home .mcp-hero__inner {
    grid-template-columns: 1fr;
  }
}

/* Refinement finale: hover sobri, senza spostamenti o fondi che si allargano */
.site-title,
.site-title a,
.site-description,
.ast-site-identity .ast-header-description {
  display: none !important;
}

.mcp-list-item,
.mcp-list--plain .mcp-list-item {
  transition: color .18s ease, border-color .18s ease !important;
}

.mcp-list-item:hover,
.mcp-list--plain .mcp-list-item:hover {
  background: transparent !important;
  margin-inline: 0 !important;
  padding-inline: 0 !important;
  transform: none !important;
}

.mcp-list-item:hover .mcp-li-t {
  color: var(--mcp-ink) !important;
}

.mcp-link,
.mcp-link:hover {
  gap: .45rem !important;
}

.mcp-btn:hover {
  transform: none !important;
}

/* Refinement finale: CTA più leggibili e coerenti */
.mcp-actions,
.mcp-links-row {
  gap: .8rem 1rem !important;
}

.mcp-btn,
.mcp-link {
  min-height: 46px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: .68rem !important;
  padding: .88rem 1.35rem !important;
  border-radius: 8px !important;
  border: 1px solid transparent !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: .78rem !important;
  font-weight: 600 !important;
  letter-spacing: .02em !important;
  line-height: 1.1 !important;
  text-align: center !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  transition: background-color .18s ease, border-color .18s ease, color .18s ease, box-shadow .18s ease !important;
}

.mcp-link::after {
  content: "→";
  display: inline-block;
  font-size: 1rem;
  line-height: 1;
}

.mcp-link,
.mcp-link:hover {
  background: rgba(120,65,107,.06) !important;
  border-color: rgba(120,65,107,.22) !important;
  color: var(--mcp-plum) !important;
}

.mcp-link:hover {
  background: rgba(120,65,107,.11) !important;
  border-color: rgba(120,65,107,.38) !important;
  box-shadow: 0 10px 24px rgba(65,40,59,.08) !important;
}

.mcp-link--light,
.mcp-link--light:hover {
  color: #fff !important;
  background: rgba(255,255,255,.08) !important;
  border-color: rgba(255,255,255,.28) !important;
}

.mcp-link--light:hover {
  background: rgba(255,255,255,.14) !important;
  border-color: rgba(255,255,255,.5) !important;
  box-shadow: none !important;
}

.mcp-btn--solid {
  background: var(--mcp-plum) !important;
  border-color: var(--mcp-plum) !important;
  color: #fff !important;
  box-shadow: 0 12px 26px rgba(65,40,59,.16) !important;
}

.mcp-btn--solid:hover {
  background: var(--mcp-mauve) !important;
  border-color: var(--mcp-mauve) !important;
}

.mcp-btn--white {
  background: #fff !important;
  border-color: rgba(255,255,255,.9) !important;
  color: var(--mcp-plum) !important;
  box-shadow: 0 16px 34px rgba(0,0,0,.16) !important;
}

.mcp-btn--white:hover {
  background: rgba(255,255,255,.92) !important;
  border-color: #fff !important;
}

.mcp-btn--outline-dark {
  background: #fff !important;
  border-color: rgba(65,40,59,.22) !important;
  color: var(--mcp-plum) !important;
}

.mcp-btn--outline-dark:hover {
  background: rgba(120,65,107,.07) !important;
  border-color: rgba(65,40,59,.42) !important;
}

.mcp-btn--outline-light {
  background: rgba(255,255,255,.08) !important;
  border-color: rgba(255,255,255,.28) !important;
  color: #fff !important;
}

.mcp-btn--outline-light:hover {
  background: rgba(255,255,255,.14) !important;
  border-color: rgba(255,255,255,.5) !important;
}

@media (max-width: 640px) {
  .mcp-btn,
  .mcp-link {
    width: 100% !important;
    white-space: normal !important;
  }
}

/* Refinement finale: Aree di intervento e Per chi lavoro */
.mcp-home-areas {
  position: relative !important;
  overflow: hidden !important;
  background:
    linear-gradient(135deg, rgba(13,6,20,.98), rgba(65,40,59,.96) 62%, rgba(120,65,107,.88)) !important;
  padding-block: clamp(5.2rem, 8vw, 8rem) !important;
}

.mcp-home-areas::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background:
    radial-gradient(circle at 84% 16%, rgba(255,255,255,.11), transparent 28rem),
    linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px) 0 0 / 80px 80px;
  opacity: .75 !important;
  pointer-events: none !important;
}

.mcp-home-areas .mcp-container {
  position: relative !important;
  z-index: 1 !important;
}

.mcp-home-areas .mcp-section__head {
  display: grid !important;
  grid-template-columns: minmax(0, .72fr) minmax(0, 1.28fr) !important;
  gap: clamp(2rem, 5vw, 5.5rem) !important;
  align-items: end !important;
  padding-bottom: clamp(1.8rem, 4vw, 2.8rem) !important;
  margin-bottom: 0 !important;
  border-bottom: 1px solid rgba(255,255,255,.18) !important;
}

.mcp-home-areas .mcp-eyebrow {
  color: rgba(255,255,255,.56) !important;
}

.mcp-home-areas .mcp-h2 {
  color: #fff !important;
  max-width: 11ch !important;
}

.mcp-home-areas .mcp-compact-grid {
  display: grid !important;
  grid-template-columns: 1.14fr .93fr .93fr !important;
  gap: 0 !important;
  margin-top: 0 !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  border-top: 0 !important;
  border-radius: 0 0 8px 8px !important;
  overflow: hidden !important;
  background: rgba(255,255,255,.045) !important;
  box-shadow: 0 26px 80px rgba(0,0,0,.24) !important;
}

.mcp-home-areas .mcp-compact-card {
  min-height: clamp(18rem, 28vw, 24rem) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-end !important;
  gap: clamp(1.4rem, 4vw, 3.5rem) !important;
  padding: clamp(1.45rem, 3vw, 2.35rem) !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
}

.mcp-home-areas .mcp-compact-card + .mcp-compact-card {
  border-left: 1px solid rgba(255,255,255,.16) !important;
}

.mcp-home-areas .mcp-compact-card:first-child {
  background: rgba(255,255,255,.075) !important;
}

.mcp-home-areas .mcp-compact-card::before {
  content: "" !important;
  width: 2.6rem !important;
  height: 2px !important;
  background: rgba(255,255,255,.58) !important;
  display: block !important;
}

.entry-content .mcp-home-areas .mcp-compact-card h3 {
  max-width: 12ch !important;
  margin: 0 0 .85rem !important;
  color: #fff !important;
  font-size: clamp(1.35rem, 2vw, 1.78rem) !important;
  font-weight: 500 !important;
  line-height: 1.08 !important;
}

.mcp-home-areas .mcp-compact-card p {
  max-width: 34rem !important;
  margin: 0 !important;
  color: rgba(255,255,255,.72) !important;
  font-size: .96rem !important;
  line-height: 1.72 !important;
}

.mcp-home-who {
  background: #fff !important;
  padding-block: clamp(5.2rem, 8vw, 8rem) !important;
}

.mcp-home-who .mcp-section__head {
  display: grid !important;
  grid-template-columns: minmax(0, .74fr) minmax(0, 1.26fr) !important;
  gap: clamp(2rem, 5vw, 5.5rem) !important;
  align-items: end !important;
  margin-bottom: clamp(2rem, 4.5vw, 3.5rem) !important;
}

.mcp-home-who .mcp-h2 {
  max-width: 10ch !important;
}

.mcp-home-who .mcp-who-list {
  list-style: none !important;
  display: grid !important;
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  grid-auto-rows: minmax(9.5rem, auto) !important;
  gap: 1rem !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

.mcp-home-who .mcp-who-list li {
  position: relative !important;
  min-height: 0 !important;
  display: flex !important;
  align-items: flex-end !important;
  padding: clamp(1.1rem, 2vw, 1.55rem) !important;
  border: 1px solid rgba(65,40,59,.14) !important;
  border-radius: 8px !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,1), rgba(250,247,250,.96)) !important;
  color: var(--mcp-ink) !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: clamp(1rem, 1.28vw, 1.16rem) !important;
  font-weight: 400 !important;
  line-height: 1.34 !important;
  box-shadow: 0 18px 45px rgba(65,40,59,.055) !important;
  overflow: hidden !important;
}

.mcp-home-who .mcp-who-list li::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 0 auto !important;
  height: 3px !important;
  background: var(--mcp-plum) !important;
  opacity: .72 !important;
}

.mcp-home-who .mcp-who-list li:nth-child(1) {
  grid-column: span 2 !important;
  grid-row: span 2 !important;
  font-size: clamp(1.18rem, 1.75vw, 1.55rem) !important;
  line-height: 1.24 !important;
}

.mcp-home-who .mcp-who-list li:nth-child(2),
.mcp-home-who .mcp-who-list li:nth-child(3) {
  grid-column: span 2 !important;
}

.mcp-home-who .mcp-who-list li:nth-child(4),
.mcp-home-who .mcp-who-list li:nth-child(5) {
  grid-column: span 2 !important;
}

.mcp-home-who .mcp-links-row {
  margin-top: clamp(1.6rem, 3vw, 2.4rem) !important;
  padding-top: 0 !important;
  border-top: 0 !important;
}

@media (max-width: 960px) {
  .mcp-home-areas .mcp-section__head,
  .mcp-home-who .mcp-section__head {
    grid-template-columns: 1fr !important;
    gap: 1rem !important;
  }

  .mcp-home-areas .mcp-h2,
  .mcp-home-who .mcp-h2 {
    max-width: 100% !important;
  }

  .mcp-home-areas .mcp-compact-grid,
  .mcp-home-who .mcp-who-list {
    grid-template-columns: 1fr !important;
  }

  .mcp-home-areas .mcp-compact-card {
    min-height: auto !important;
    gap: 1.2rem !important;
  }

  .mcp-home-areas .mcp-compact-card + .mcp-compact-card {
    border-left: 0 !important;
    border-top: 1px solid rgba(255,255,255,.16) !important;
  }

  .mcp-home-who .mcp-who-list li,
  .mcp-home-who .mcp-who-list li:nth-child(1),
  .mcp-home-who .mcp-who-list li:nth-child(2),
  .mcp-home-who .mcp-who-list li:nth-child(3),
  .mcp-home-who .mcp-who-list li:nth-child(4),
  .mcp-home-who .mcp-who-list li:nth-child(5) {
    grid-column: auto !important;
    grid-row: auto !important;
    min-height: 7.5rem !important;
    font-size: 1rem !important;
  }
}

/* Refinement finale: Per chi lavoro con testi e Modalita di collaborazione */
.mcp-home-who {
  position: relative !important;
  background: #fff !important;
  padding-block: clamp(5rem, 7.5vw, 7.5rem) !important;
}

.mcp-home-who .mcp-section__head {
  display: block !important;
  max-width: 780px !important;
  margin: 0 0 clamp(2.4rem, 4.5vw, 3.6rem) !important;
}

.mcp-home-who .mcp-eyebrow {
  color: var(--mcp-plum) !important;
  letter-spacing: .28em !important;
}

.mcp-home-who .mcp-h2 {
  max-width: 24ch !important;
  margin-top: .85rem !important;
  font-size: clamp(1.55rem, 2.05vw, 2.05rem) !important;
  line-height: 1.18 !important;
  font-weight: 500 !important;
}

.mcp-who-rich-list {
  display: grid !important;
  gap: clamp(1.15rem, 2.4vw, 1.75rem) !important;
  max-width: 1080px !important;
}

.mcp-who-rich-item {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 6px minmax(0, 1fr) !important;
  gap: 1rem !important;
  align-items: start !important;
  padding-block: .2rem !important;
}

.mcp-who-rich-item::before {
  content: "" !important;
  width: 5px !important;
  height: 3.35rem !important;
  margin-top: .12rem !important;
  border-radius: 999px !important;
  background: var(--mcp-plum) !important;
}

.mcp-who-rich-item h3 {
  grid-column: 2 !important;
  margin: 0 0 .18rem !important;
  color: var(--mcp-plum) !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: clamp(.96rem, 1.15vw, 1.08rem) !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
}

.mcp-who-rich-item p {
  grid-column: 2 !important;
  margin: 0 !important;
  max-width: 76rem !important;
  color: var(--mcp-ink) !important;
  font-size: .96rem !important;
  line-height: 1.5 !important;
}

.mcp-home-collab {
  position: relative !important;
  overflow: hidden !important;
  background:
    linear-gradient(135deg, rgba(13,6,20,.99), rgba(65,40,59,.98) 62%, rgba(120,65,107,.9)) !important;
  padding-block: clamp(4.8rem, 7.5vw, 7.5rem) !important;
}

.mcp-home-collab::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background:
    linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px) 0 0 / 96px 96px,
    linear-gradient(180deg, rgba(255,255,255,.03) 1px, transparent 1px) 0 0 / 96px 96px !important;
  pointer-events: none !important;
}

.mcp-home-collab .mcp-container {
  position: relative !important;
  z-index: 1 !important;
}

.mcp-home-collab .mcp-section__head {
  display: block !important;
  margin: 0 0 clamp(1.8rem, 3vw, 2.6rem) !important;
}

.mcp-home-collab .mcp-eyebrow {
  color: rgba(255,255,255,.58) !important;
  letter-spacing: .32em !important;
}

.mcp-home-collab .mcp-h2 {
  max-width: 22ch !important;
  margin-top: .85rem !important;
  color: #fff !important;
  font-size: clamp(1.45rem, 2vw, 2rem) !important;
  line-height: 1.2 !important;
  font-weight: 600 !important;
}

.mcp-collab-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: clamp(1rem, 2vw, 1.5rem) !important;
}

.mcp-collab-card {
  min-height: 11rem !important;
  display: grid !important;
  grid-template-columns: 2.4rem minmax(0, 1fr) !important;
  gap: 1.15rem !important;
  align-items: start !important;
  padding: clamp(1.2rem, 2.2vw, 1.7rem) !important;
  border: 1px solid rgba(255,255,255,.26) !important;
  border-radius: 4px !important;
  background: rgba(255,255,255,.045) !important;
  box-shadow: 0 18px 45px rgba(0,0,0,.16) !important;
}

.mcp-collab-n {
  color: rgba(215,167,205,.78) !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 1.02rem !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
}

.mcp-collab-card h3 {
  margin: 0 0 1.2rem !important;
  color: #fff !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: clamp(.98rem, 1.18vw, 1.12rem) !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
}

.mcp-collab-card p {
  margin: 0 !important;
  max-width: 34rem !important;
  color: rgba(255,255,255,.68) !important;
  font-size: .92rem !important;
  line-height: 1.44 !important;
}

@media (max-width: 900px) {
  .mcp-collab-grid {
    grid-template-columns: 1fr !important;
  }

  .mcp-collab-card {
    min-height: auto !important;
  }
}

@media (max-width: 640px) {
  .mcp-home-who .mcp-h2,
  .mcp-home-collab .mcp-h2 {
    max-width: 100% !important;
  }

  .mcp-who-rich-item {
    gap: .85rem !important;
  }

  .mcp-who-rich-item p,
  .mcp-collab-card p {
    font-size: .9rem !important;
  }
}

/* Refinement finale: nuova direzione visuale per Per chi lavoro */
.mcp-home-who {
  background: linear-gradient(180deg, #fff 0%, #fbf8fb 100%) !important;
  padding-block: clamp(5rem, 7vw, 7rem) !important;
}

.mcp-home-who .mcp-container {
  display: grid !important;
  grid-template-columns: minmax(280px, .82fr) minmax(0, 1.38fr) !important;
  gap: 0 !important;
  align-items: stretch !important;
}

.mcp-home-who .mcp-section__head {
  position: relative !important;
  min-height: 34rem !important;
  max-width: none !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  margin: 0 !important;
  padding: clamp(2rem, 4vw, 3rem) !important;
  border-radius: 8px 0 0 8px !important;
  overflow: hidden !important;
  background:
    linear-gradient(145deg, rgba(13,6,20,.98), rgba(65,40,59,.96) 64%, rgba(120,65,107,.86)) !important;
}

.mcp-home-who .mcp-section__head::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background:
    radial-gradient(circle at 100% 0%, rgba(255,255,255,.12), transparent 18rem),
    linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px) 0 0 / 72px 72px !important;
  pointer-events: none !important;
}

.mcp-home-who .mcp-eyebrow,
.mcp-home-who .mcp-h2 {
  position: relative !important;
  z-index: 1 !important;
}

.mcp-home-who .mcp-eyebrow {
  align-self: flex-start !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  text-align: left !important;
  color: rgba(255,255,255,.62) !important;
  letter-spacing: .3em !important;
}

.mcp-home-who .mcp-h2 {
  max-width: 11ch !important;
  margin: auto 0 0 !important;
  color: #fff !important;
  font-size: clamp(2.05rem, 3.15vw, 3.35rem) !important;
  line-height: 1.02 !important;
  font-weight: 400 !important;
}

.mcp-who-rich-list {
  counter-reset: mcp-who !important;
  max-width: none !important;
  display: grid !important;
  gap: 0 !important;
  padding: clamp(1.5rem, 3vw, 2.4rem) clamp(1.5rem, 3vw, 2.8rem) !important;
  border: 1px solid rgba(65,40,59,.14) !important;
  border-left: 0 !important;
  border-radius: 0 8px 8px 0 !important;
  background: #fff !important;
  box-shadow: 0 24px 70px rgba(65,40,59,.08) !important;
}

.mcp-who-rich-item {
  counter-increment: mcp-who !important;
  display: grid !important;
  grid-template-columns: 3rem minmax(10rem, .44fr) minmax(0, 1fr) !important;
  gap: clamp(1rem, 2.4vw, 2.1rem) !important;
  align-items: start !important;
  padding: clamp(1.35rem, 2.2vw, 1.8rem) 0 !important;
  border-bottom: 1px solid rgba(65,40,59,.12) !important;
}

.mcp-who-rich-item:last-child {
  border-bottom: 0 !important;
}

.mcp-who-rich-item::before {
  content: counter(mcp-who, decimal-leading-zero) !important;
  grid-column: 1 !important;
  width: auto !important;
  height: auto !important;
  margin: .05rem 0 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: rgba(120,65,107,.62) !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: .78rem !important;
  font-weight: 800 !important;
  letter-spacing: .08em !important;
  line-height: 1 !important;
}

.mcp-who-rich-item h3 {
  grid-column: 2 !important;
  margin: 0 !important;
  color: var(--mcp-plum) !important;
  font-size: clamp(1rem, 1.18vw, 1.14rem) !important;
  font-weight: 700 !important;
  line-height: 1.18 !important;
}

.mcp-who-rich-item p {
  grid-column: 3 !important;
  margin: 0 !important;
  max-width: none !important;
  color: var(--mcp-ink) !important;
  font-size: .94rem !important;
  line-height: 1.56 !important;
}

@media (max-width: 980px) {
  .mcp-home-who .mcp-container {
    grid-template-columns: 1fr !important;
  }

  .mcp-home-who .mcp-section__head {
    min-height: 16rem !important;
    border-radius: 8px 8px 0 0 !important;
  }

  .mcp-home-who .mcp-h2 {
    max-width: 16ch !important;
  }

  .mcp-who-rich-list {
    border-left: 1px solid rgba(65,40,59,.14) !important;
    border-radius: 0 0 8px 8px !important;
  }
}

@media (max-width: 640px) {
  .mcp-home-who .mcp-section__head {
    min-height: 13rem !important;
    padding: 1.6rem !important;
    text-align: left !important;
  }

  .mcp-home-who .mcp-h2 {
    max-width: 100% !important;
    font-size: clamp(1.9rem, 8.4vw, 2.35rem) !important;
    line-height: 1.08 !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }

  .mcp-who-rich-list {
    padding: 1.2rem 1.35rem !important;
  }

  .mcp-who-rich-item {
    grid-template-columns: 2.4rem minmax(0, 1fr) !important;
    gap: .45rem 1rem !important;
    padding: 1.25rem 0 !important;
  }

  .mcp-who-rich-item::before {
    grid-column: 1 !important;
  }

  .mcp-who-rich-item h3,
  .mcp-who-rich-item p {
    grid-column: 2 !important;
  }

  .mcp-who-rich-item p {
    font-size: .9rem !important;
  }
}

/* Header sticky: il menu resta visibile durante lo scroll */
#masthead.site-header {
  position: sticky !important;
  top: 0 !important;
  z-index: 9990 !important;
  background: var(--mcp-plum) !important;
  box-shadow: 0 10px 28px rgba(13,6,20,.16) !important;
}

.admin-bar #masthead.site-header {
  top: 32px !important;
}

html {
  scroll-padding-top: 92px;
}

.admin-bar html,
.admin-bar {
  scroll-padding-top: 124px;
}

@media (max-width: 782px) {
  .admin-bar #masthead.site-header {
    top: 46px !important;
  }

  html {
    scroll-padding-top: 78px;
  }

  .admin-bar html,
  .admin-bar {
    scroll-padding-top: 124px;
  }
}

/* Refinement finale: Aree di intervento senza griglia e senza card */
.mcp-home-areas {
  position: relative !important;
  overflow: visible !important;
  background: #fff !important;
  padding-block: clamp(5rem, 7vw, 7rem) !important;
}

.mcp-home-areas::before {
  display: none !important;
  content: none !important;
}

.mcp-home-areas .mcp-container {
  position: relative !important;
  z-index: 1 !important;
  display: grid !important;
  grid-template-columns: minmax(260px, .62fr) minmax(0, 1.38fr) !important;
  gap: clamp(2.5rem, 6vw, 6rem) !important;
  align-items: start !important;
}

.mcp-home-areas .mcp-section__head {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

.mcp-home-areas .mcp-eyebrow {
  color: var(--mcp-plum) !important;
  letter-spacing: .28em !important;
}

.mcp-home-areas .mcp-h2 {
  max-width: 9ch !important;
  margin: .85rem 0 0 !important;
  color: var(--mcp-ink) !important;
  font-size: clamp(2.25rem, 4vw, 3.7rem) !important;
  line-height: 1.02 !important;
  font-weight: 400 !important;
}

.mcp-home-areas .mcp-compact-grid {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 0 !important;
  margin: .25rem 0 0 !important;
  border: 0 !important;
  border-top: 1px solid rgba(65,40,59,.16) !important;
  border-radius: 0 !important;
  overflow: visible !important;
  background: transparent !important;
  box-shadow: none !important;
}

.mcp-home-areas .mcp-compact-card {
  position: relative !important;
  min-height: auto !important;
  display: grid !important;
  grid-template-columns: minmax(190px, .38fr) minmax(0, 1fr) !important;
  gap: clamp(1.5rem, 4vw, 4rem) !important;
  align-items: start !important;
  padding: clamp(1.65rem, 3vw, 2.35rem) 0 !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(65,40,59,.16) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.mcp-home-areas .mcp-compact-card + .mcp-compact-card {
  border-left: 0 !important;
  border-top: 0 !important;
}

.mcp-home-areas .mcp-compact-card:first-child {
  background: transparent !important;
}

.mcp-home-areas .mcp-compact-card::before {
  display: none !important;
  content: none !important;
}

.entry-content .mcp-home-areas .mcp-compact-card h3 {
  max-width: 12ch !important;
  margin: 0 !important;
  color: var(--mcp-plum) !important;
  font-size: clamp(1.22rem, 1.8vw, 1.62rem) !important;
  font-weight: 500 !important;
  line-height: 1.12 !important;
}

.mcp-home-areas .mcp-compact-card p {
  max-width: 42rem !important;
  margin: 0 !important;
  color: var(--mcp-text) !important;
  font-size: .98rem !important;
  line-height: 1.72 !important;
}

@media (max-width: 900px) {
  .mcp-home-areas .mcp-container {
    grid-template-columns: 1fr !important;
    gap: 2rem !important;
  }

  .mcp-home-areas .mcp-h2 {
    max-width: 100% !important;
  }

  .mcp-home-areas .mcp-compact-card {
    grid-template-columns: 1fr !important;
    gap: .75rem !important;
  }
}

/* Refinement finale: Per chi lavoro senza pannello tagliato */
.mcp-home-who {
  background: #fff !important;
  padding-block: clamp(5rem, 7vw, 7rem) !important;
}

.mcp-home-who .mcp-container {
  display: block !important;
}

.mcp-home-who .mcp-section__head {
  min-height: 0 !important;
  max-width: 780px !important;
  display: block !important;
  margin: 0 0 clamp(2.4rem, 4.5vw, 3.6rem) !important;
  padding: 0 !important;
  border-radius: 0 !important;
  overflow: visible !important;
  background: transparent !important;
}

.mcp-home-who .mcp-section__head::after {
  display: none !important;
  content: none !important;
}

.mcp-home-who .mcp-eyebrow {
  color: var(--mcp-plum) !important;
  letter-spacing: .28em !important;
  text-align: left !important;
}

.mcp-home-who .mcp-h2 {
  max-width: 20ch !important;
  margin: .85rem 0 0 !important;
  color: var(--mcp-ink) !important;
  font-size: clamp(2rem, 3.6vw, 3.2rem) !important;
  line-height: 1.06 !important;
  font-weight: 400 !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
}

.mcp-who-rich-list {
  counter-reset: mcp-who !important;
  max-width: none !important;
  display: grid !important;
  gap: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-top: 1px solid rgba(65,40,59,.16) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.mcp-who-rich-item {
  counter-increment: mcp-who !important;
  display: grid !important;
  grid-template-columns: 4rem minmax(180px, .36fr) minmax(0, 1fr) !important;
  gap: clamp(1.4rem, 4vw, 4rem) !important;
  align-items: start !important;
  padding: clamp(1.65rem, 3vw, 2.35rem) 0 !important;
  border-bottom: 1px solid rgba(65,40,59,.16) !important;
}

.mcp-who-rich-item::before {
  content: counter(mcp-who, decimal-leading-zero) !important;
  grid-column: 1 !important;
  width: auto !important;
  height: auto !important;
  margin: .16rem 0 0 !important;
  background: transparent !important;
  color: rgba(120,65,107,.62) !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: .78rem !important;
  font-weight: 800 !important;
  letter-spacing: .08em !important;
  line-height: 1 !important;
}

.mcp-who-rich-item h3 {
  grid-column: 2 !important;
  margin: 0 !important;
  color: var(--mcp-plum) !important;
  font-size: clamp(1.08rem, 1.5vw, 1.35rem) !important;
  font-weight: 600 !important;
  line-height: 1.16 !important;
}

.mcp-who-rich-item p {
  grid-column: 3 !important;
  margin: 0 !important;
  max-width: 48rem !important;
  color: var(--mcp-text) !important;
  font-size: .98rem !important;
  line-height: 1.68 !important;
}

@media (max-width: 820px) {
  .mcp-who-rich-item {
    grid-template-columns: 2.6rem minmax(0, 1fr) !important;
    gap: .55rem 1rem !important;
  }

  .mcp-who-rich-item::before {
    grid-column: 1 !important;
  }

  .mcp-who-rich-item h3,
  .mcp-who-rich-item p {
    grid-column: 2 !important;
  }
}

/* Refinement finale: CTA testuali come pill LinkedIn, senza animazioni */
.mcp-links-row {
  gap: .75rem !important;
  align-items: center !important;
}

.mcp-link,
.mcp-link:hover,
.mcp-link:focus,
.mcp-links-row .mcp-link,
.mcp-actions .mcp-link {
  min-height: 2.35rem !important;
  width: auto !important;
  min-width: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: .55rem !important;
  padding: .55rem 1.15rem !important;
  border: 1px solid rgba(65,40,59,.34) !important;
  border-radius: 999px !important;
  background: rgba(65,40,59,.035) !important;
  color: var(--mcp-plum) !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: .78rem !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  line-height: 1 !important;
  text-align: center !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  box-shadow: none !important;
  transform: none !important;
  transition: none !important;
}

.mcp-link:hover,
.mcp-link:focus {
  background: rgba(65,40,59,.075) !important;
  border-color: rgba(65,40,59,.5) !important;
  color: var(--mcp-plum) !important;
  gap: .55rem !important;
  box-shadow: none !important;
  transform: none !important;
}

.mcp-link::after {
  display: inline-block !important;
  font-size: .92rem !important;
  line-height: 1 !important;
  transform: none !important;
  transition: none !important;
}

.mcp-link--light,
.mcp-link--light:hover,
.mcp-link--light:focus {
  border-color: rgba(255,255,255,.72) !important;
  background: rgba(255,255,255,.08) !important;
  color: #fff !important;
}

.mcp-link--light:hover,
.mcp-link--light:focus {
  background: #fff !important;
  border-color: #fff !important;
  color: var(--mcp-plum) !important;
}

/* Refinement finale: fondo plum coerente per hero e collaborazione, senza griglie */
:root {
  --mcp-hero-plum-bg: linear-gradient(105deg, #070309 0%, #16091a 28%, #392438 68%, #815575 100%);
}

.mcp-hero,
.home .mcp-hero,
.mcp-page-hero,
.mcp-home-collab {
  background: var(--mcp-hero-plum-bg) !important;
}

.mcp-page-hero::before,
.mcp-home-collab::before {
  content: none !important;
  display: none !important;
  background: none !important;
}

/* Refinement finale: Aree di intervento su fondo viola */
.mcp-home-areas {
  background: var(--mcp-hero-plum-bg) !important;
}

.mcp-home-areas .mcp-eyebrow {
  color: rgba(255,255,255,.66) !important;
}

.mcp-home-areas .mcp-h2,
.entry-content .mcp-home-areas .mcp-compact-card h3 {
  color: #fff !important;
}

.mcp-home-areas .mcp-compact-grid {
  border-top-color: rgba(255,255,255,.18) !important;
}

.mcp-home-areas .mcp-compact-card {
  border-bottom-color: rgba(255,255,255,.18) !important;
}

.mcp-home-areas .mcp-compact-card p {
  color: rgba(255,255,255,.72) !important;
}

/* Refinement finale: Per chi lavoro senza numerazione */
.mcp-who-rich-item {
  counter-increment: none !important;
  grid-template-columns: minmax(180px, .34fr) minmax(0, 1fr) !important;
}

.mcp-who-rich-item::before {
  content: none !important;
  display: none !important;
}

.mcp-who-rich-item h3 {
  grid-column: 1 !important;
}

.mcp-who-rich-item p {
  grid-column: 2 !important;
}

@media (max-width: 820px) {
  .mcp-who-rich-item {
    grid-template-columns: 1fr !important;
  }

  .mcp-who-rich-item h3,
  .mcp-who-rich-item p {
    grid-column: 1 !important;
  }
}

/* Refinement finale: righe competenze cliccabili con CTA */
.entry-content .mcp-list--plain .mcp-list-item {
  display: block !important;
  padding: 0 !important;
  border-bottom-color: rgba(65,40,59,.14) !important;
}

.mcp-list-link,
.mcp-list-link:visited {
  min-height: clamp(7rem, 9vw, 9rem) !important;
  display: grid !important;
  grid-template-columns: minmax(220px, .62fr) minmax(0, 1fr) auto !important;
  gap: 1rem clamp(2rem, 5vw, 4.5rem) !important;
  align-items: center !important;
  padding: clamp(1.25rem, 2.4vw, 1.8rem) 0 !important;
  color: inherit !important;
  text-decoration: none !important;
  border-radius: 0 !important;
  transition: none !important;
}

.mcp-li-cta {
  justify-self: end !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 2.2rem !important;
  padding: .5rem 1rem !important;
  border: 1px solid rgba(65,40,59,.3) !important;
  border-radius: 999px !important;
  color: var(--mcp-plum) !important;
  background: rgba(65,40,59,.035) !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: .72rem !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

.mcp-li-cta::after {
  content: "→" !important;
  margin-left: .45rem !important;
  font-size: .9rem !important;
  line-height: 1 !important;
}

.entry-content .mcp-list--plain .mcp-list-item:hover {
  background: rgba(65,40,59,.045) !important;
  margin-inline: -1.25rem !important;
  padding-inline: 1.25rem !important;
}

.entry-content .mcp-list--plain .mcp-list-item:hover .mcp-li-t,
.entry-content .mcp-list--plain .mcp-list-item:focus-within .mcp-li-t {
  color: var(--mcp-plum) !important;
}

.entry-content .mcp-list--plain .mcp-list-item:hover .mcp-li-cta,
.entry-content .mcp-list--plain .mcp-list-item:focus-within .mcp-li-cta {
  color: #fff !important;
  background: var(--mcp-plum) !important;
  border-color: var(--mcp-plum) !important;
}

@media (max-width: 860px) {
  .mcp-list-link,
  .mcp-list-link:visited {
    min-height: 0 !important;
    grid-template-columns: 1fr !important;
    gap: .8rem !important;
  }

  .mcp-li-cta {
    justify-self: start !important;
  }
}

/* Refinement finale: competenze cliccabili senza bottone e hover confinato */
.mcp-list-link,
.mcp-list-link:visited {
  grid-template-columns: minmax(220px, .62fr) minmax(0, 1fr) !important;
  padding-inline: 1.1rem !important;
}

.mcp-li-cta {
  display: none !important;
}

.entry-content .mcp-list--plain .mcp-list-item:hover {
  background: transparent !important;
  margin-inline: 0 !important;
  padding-inline: 0 !important;
}

.mcp-list-link:hover,
.mcp-list-link:focus {
  background: rgba(65,40,59,.045) !important;
  box-shadow:
    inset 0 1px 0 rgba(65,40,59,.12),
    inset 0 -1px 0 rgba(65,40,59,.12) !important;
}

@media (max-width: 860px) {
  .mcp-list-link,
  .mcp-list-link:visited {
    grid-template-columns: 1fr !important;
    padding-inline: .9rem !important;
  }
}

/* Refinement finale: niente doppia linea sopra i CTA competenze */
.home .mcp-home-competences .mcp-links-row {
  border-top: 0 !important;
}

/* Refinement finale: hero più ordinata e lista competenze più compatta */
.home .mcp-hero__inner {
  grid-template-columns: minmax(0, 1fr) minmax(320px, .58fr) !important;
  gap: clamp(3.8rem, 7vw, 7.5rem) !important;
}

.home .mcp-hero__body {
  max-width: 58rem !important;
}

.home .mcp-hero__eyebrow {
  max-width: 100% !important;
  font-size: clamp(.54rem, .62vw, .66rem) !important;
  letter-spacing: .15em !important;
}

.home .mcp-hero__name,
.home .mcp-hero .mcp-hero__name,
.home .entry-content .mcp-hero h1.mcp-hero__name {
  font-size: clamp(3rem, 3.05vw, 3.9rem) !important;
}

.home .mcp-hero__text {
  max-width: 48rem !important;
}

.home .mcp-hero__frame {
  max-width: 340px !important;
}

.home .mcp-hero__cta {
  display: flex !important;
  align-items: center !important;
  gap: .9rem !important;
}

.home .mcp-hero__cta .mcp-btn,
.home .mcp-hero__cta .mcp-link {
  min-height: 3rem !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: .82rem 1.45rem !important;
  border-radius: 8px !important;
  font-size: .78rem !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

.home .mcp-hero__cta .mcp-link {
  border-color: rgba(255,255,255,.62) !important;
}

.home .mcp-home-competences {
  padding-block: clamp(3.2rem, 5vw, 4.4rem) !important;
}

.mcp-list-link,
.mcp-list-link:visited {
  min-height: clamp(5rem, 6vw, 6.4rem) !important;
  padding-block: clamp(.85rem, 1.5vw, 1.15rem) !important;
}

.entry-content .mcp-list--plain .mcp-li-t {
  font-size: clamp(1rem, 1.35vw, 1.26rem) !important;
}

.entry-content .mcp-list--plain .mcp-li-d {
  font-size: .9rem !important;
  line-height: 1.5 !important;
}

@media (max-width: 960px) {
  .home .mcp-hero__inner {
    grid-template-columns: 1fr !important;
  }
}

/* Refinement finale: pesi tipografici più leggeri nelle sezioni editoriali */
.mcp-who-rich-item h3 {
  font-weight: 400 !important;
  letter-spacing: 0 !important;
}

.mcp-home-collab .mcp-h2 {
  font-weight: 400 !important;
  letter-spacing: 0 !important;
}

.mcp-collab-card h3 {
  font-weight: 400 !important;
  letter-spacing: 0 !important;
}

.mcp-collab-n {
  font-weight: 500 !important;
}

/* Refinement finale: titolo collaborazione su una riga */
.mcp-home-collab .mcp-h2 {
  max-width: none !important;
  white-space: nowrap !important;
  font-size: clamp(2rem, 3vw, 3.15rem) !important;
}

@media (max-width: 720px) {
  .mcp-home-collab .mcp-h2 {
    white-space: normal !important;
  }
}

/* Refinement finale: pagine interne allineate allo stile homepage */
body:not(.home) .mcp-page-hero {
  background: var(--mcp-hero-plum-bg) !important;
  padding-block: clamp(5.2rem, 8vw, 7rem) !important;
}

body:not(.home) .mcp-page-hero::before {
  content: none !important;
  display: none !important;
}

body:not(.home) .mcp-page-hero__inner {
  max-width: var(--mcp-shell) !important;
}

body:not(.home) .mcp-page-hero .mcp-h1 {
  max-width: 12ch !important;
  font-size: clamp(3rem, 5.5vw, 5.2rem) !important;
  font-weight: 300 !important;
  line-height: 1.02 !important;
  letter-spacing: 0 !important;
}

body:not(.home) .mcp-page-hero .mcp-lead {
  max-width: 68ch !important;
  color: rgba(255,255,255,.72) !important;
  font-size: clamp(1rem, 1.25vw, 1.14rem) !important;
  line-height: 1.72 !important;
}

body:not(.home) .mcp-page-hero .mcp-payoff-line {
  font-weight: 500 !important;
  letter-spacing: .18em !important;
  color: rgba(255,255,255,.5) !important;
}

body:not(.home) .mcp-page-hero .mcp-actions {
  margin-top: 1.55rem !important;
}

body:not(.home) .mcp-page-hero .mcp-btn,
body:not(.home) .mcp-page-hero .mcp-link {
  min-height: 2.6rem !important;
  padding: .68rem 1.25rem !important;
  border-radius: 999px !important;
  box-shadow: none !important;
}

.mcp-anchornav {
  max-width: 76rem !important;
  margin-top: clamp(1.8rem, 3vw, 2.6rem) !important;
}

.mcp-anchornav a {
  font-weight: 400 !important;
  border-color: rgba(255,255,255,.34) !important;
  background: rgba(255,255,255,.055) !important;
  transition: none !important;
}

.mcp-anchornav a:hover,
.mcp-anchornav a:focus {
  background: #fff !important;
  border-color: #fff !important;
  color: var(--mcp-plum) !important;
}

body:not(.home) .mcp-section {
  padding-block: clamp(4.2rem, 6vw, 6rem) !important;
}

body:not(.home) .mcp-section__head {
  margin-bottom: clamp(2rem, 3.6vw, 3rem) !important;
}

body:not(.home) .mcp-h2 {
  font-weight: 300 !important;
  line-height: 1.08 !important;
  letter-spacing: 0 !important;
}

.mcp-tl {
  margin-top: 0 !important;
  border-top-color: rgba(65,40,59,.14) !important;
}

.mcp-tl-item {
  grid-template-columns: minmax(220px, .42fr) minmax(0, 1fr) !important;
  gap: clamp(1.5rem, 5vw, 5rem) !important;
  padding: clamp(1.9rem, 3vw, 2.7rem) 0 !important;
  border-bottom-color: rgba(65,40,59,.14) !important;
}

.mcp-tl-period {
  font-weight: 500 !important;
  color: rgba(120,65,107,.78) !important;
}

.mcp-tl-org {
  font-size: clamp(1.1rem, 1.55vw, 1.42rem) !important;
  font-weight: 400 !important;
  line-height: 1.18 !important;
}

.mcp-tl-role,
.mcp-tl-role--link {
  font-weight: 400 !important;
  color: var(--mcp-plum) !important;
}

.mcp-tl-text {
  max-width: 64rem !important;
  font-size: .98rem !important;
  line-height: 1.72 !important;
}

.mcp-acc {
  margin-top: 0 !important;
  border-top-color: rgba(65,40,59,.14) !important;
}

.mcp-acc details {
  border-bottom-color: rgba(65,40,59,.14) !important;
}

.mcp-acc summary {
  min-height: 4rem !important;
  padding: 1rem 0 !important;
  font-weight: 400 !important;
  font-size: clamp(1rem, 1.25vw, 1.18rem) !important;
  transition: none !important;
}

.mcp-acc-body {
  max-width: 68rem !important;
  padding-bottom: 1.35rem !important;
  font-size: .98rem !important;
  line-height: 1.72 !important;
}

.mcp-twocol {
  gap: clamp(2rem, 6vw, 6rem) !important;
  margin-top: 0 !important;
}

.mcp-panel {
  border-top: 1px solid rgba(65,40,59,.16) !important;
  padding-top: 1.5rem !important;
}

.mcp-panel__title {
  padding-bottom: 0 !important;
  border-bottom: 0 !important;
  color: var(--mcp-plum) !important;
  font-weight: 400 !important;
  font-size: clamp(1.12rem, 1.45vw, 1.34rem) !important;
}

.mcp-panel p {
  font-size: .98rem !important;
  line-height: 1.72 !important;
}

.mcp-skill {
  grid-template-columns: minmax(2.2rem, .12fr) minmax(0, 1fr) !important;
  gap: clamp(1rem, 4vw, 4rem) !important;
  padding-block: clamp(2.5rem, 4.2vw, 3.8rem) !important;
  border-top-color: rgba(65,40,59,.14) !important;
}

.mcp-skill-n {
  font-weight: 500 !important;
  color: rgba(120,65,107,.68) !important;
}

.mcp-skill-h {
  max-width: 18ch !important;
  font-weight: 400 !important;
  font-size: clamp(1.45rem, 2.2vw, 2rem) !important;
  line-height: 1.12 !important;
}

.mcp-skill-text {
  max-width: 72ch !important;
  font-size: .98rem !important;
  line-height: 1.72 !important;
}

.mcp-tags {
  gap: .45rem !important;
  margin-top: 1.25rem !important;
}

.mcp-tags li,
.mcp-category-list span {
  min-height: 2.1rem !important;
  padding: .42rem .85rem !important;
  border-width: 1px !important;
  border-color: rgba(65,40,59,.22) !important;
  background: rgba(65,40,59,.025) !important;
  font-weight: 400 !important;
  font-size: .78rem !important;
}

.mcp-category-list {
  max-width: 58rem !important;
  gap: .55rem !important;
}

.mcp-cta-band {
  background: var(--mcp-hero-plum-bg) !important;
}

.mcp-cta-band::before {
  content: none !important;
  display: none !important;
}

.mcp-contact {
  max-width: 52rem !important;
  border-top: 1px solid rgba(65,40,59,.16) !important;
  padding-top: clamp(2rem, 4vw, 3rem) !important;
}

.mcp-contact .mcp-lead {
  max-width: 44rem !important;
}

.mcp-contact-email {
  font-weight: 400 !important;
  color: var(--mcp-plum) !important;
  border-bottom-color: rgba(120,65,107,.45) !important;
}

@media (max-width: 860px) {
  .mcp-tl-item,
  .mcp-skill {
    grid-template-columns: 1fr !important;
  }

  .mcp-skill-n {
    display: inline-block !important;
    padding-top: 0 !important;
  }
}

/* Refinement finale: CTA e anchor interni più leggibili su fondo plum */
body:not(.home) .mcp-page-hero .mcp-link--light,
body:not(.home) .mcp-page-hero .mcp-link--light:visited {
  border-color: rgba(255,255,255,.66) !important;
  background: rgba(255,255,255,.08) !important;
  color: #fff !important;
}

body:not(.home) .mcp-page-hero .mcp-link--light:hover,
body:not(.home) .mcp-page-hero .mcp-link--light:focus {
  border-color: #fff !important;
  background: #fff !important;
  color: var(--mcp-plum) !important;
}

.mcp-anchornav a {
  color: rgba(255,255,255,.76) !important;
  border-color: rgba(255,255,255,.46) !important;
}

/* Refinement finale: CTA profilo con foto di sfondo in tutte le pagine */
.mcp-cta-band--tram {
  position: relative !important;
  isolation: isolate !important;
  overflow: hidden !important;
  background:
    linear-gradient(90deg, rgba(13,6,20,.92), rgba(65,40,59,.78)),
    url('/wp-content/uploads/2025/08/tram-prague-night-at-night-czech-republic-city-1444461-pxhere-com.jpg') center / cover no-repeat !important;
}

.mcp-cta-band--tram::before {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: -1 !important;
  background: rgba(13,6,20,.18) !important;
  pointer-events: none !important;
}

.mcp-cta-band--tram .mcp-container {
  position: relative !important;
  z-index: 1 !important;
}

/* Refinement finale: sintesi e timeline Percorso professionale */
.mcp-career-section .mcp-section__head {
  margin-bottom: clamp(1.6rem, 3vw, 2.4rem) !important;
}

.mcp-career-stats {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: clamp(.8rem, 1.8vw, 1.25rem) !important;
  max-width: 58rem !important;
  margin: 0 0 clamp(2rem, 4vw, 3.2rem) !important;
}

.mcp-career-stat {
  min-height: 7rem !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 1.25rem !important;
  background: var(--mcp-plum) !important;
  color: #fff !important;
}

.mcp-career-stat__value {
  display: block !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: clamp(2rem, 3.4vw, 3rem) !important;
  font-weight: 300 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
}

.mcp-career-stat__label {
  display: block !important;
  margin-top: .45rem !important;
  color: rgba(255,255,255,.82) !important;
  font-size: .88rem !important;
  line-height: 1.25 !important;
  text-align: center !important;
}

.mcp-career-section .mcp-tl {
  border-top: 0 !important;
}

.mcp-career-section .mcp-tl-item {
  grid-template-columns: minmax(240px, .36fr) minmax(0, 1fr) !important;
  padding-block: clamp(1.8rem, 3vw, 2.6rem) !important;
}

.mcp-career-section .mcp-tl-item:first-child {
  padding-top: clamp(2rem, 3.5vw, 3rem) !important;
}

@media (max-width: 760px) {
  .mcp-career-stats {
    grid-template-columns: 1fr !important;
  }
}

/* Refinement finale: metriche Percorso dentro la hero */
.mcp-career-stats--hero {
  max-width: 48rem !important;
  margin: clamp(1.6rem, 3vw, 2.4rem) 0 1.35rem !important;
  gap: .7rem !important;
}

.mcp-career-stats--hero .mcp-career-stat {
  min-height: 5.4rem !important;
  align-items: flex-start !important;
  padding: 1rem 1.1rem !important;
  border: 1px solid rgba(255,255,255,.24) !important;
  background: rgba(255,255,255,.055) !important;
  color: #fff !important;
  backdrop-filter: blur(10px) !important;
}

.mcp-career-stats--hero .mcp-career-stat__value {
  font-size: clamp(1.6rem, 2.2vw, 2.3rem) !important;
  color: #fff !important;
}

.mcp-career-stats--hero .mcp-career-stat__label {
  margin-top: .35rem !important;
  color: rgba(255,255,255,.68) !important;
  text-align: left !important;
}

.mcp-page-hero .mcp-career-stats--hero + .mcp-actions {
  margin-top: 0 !important;
}

@media (max-width: 760px) {
  .mcp-career-stats--hero .mcp-career-stat {
    align-items: center !important;
  }

  .mcp-career-stats--hero .mcp-career-stat__label {
    text-align: center !important;
  }
}

/* Refinement finale: nuove immagini hero Home e Percorso professionale */
.home .mcp-hero__inner {
  grid-template-columns: minmax(0, 1fr) minmax(420px, .78fr) !important;
  gap: clamp(2.8rem, 5vw, 5.5rem) !important;
}

.home .mcp-hero__frame.mcp-hero__frame--wide {
  max-width: min(560px, 42vw) !important;
  aspect-ratio: 4 / 3 !important;
  border-radius: 12px !important;
}

.home .mcp-hero__frame.mcp-hero__frame--wide img {
  object-position: center center !important;
}

.mcp-page-hero--profile .mcp-page-hero__inner--split {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(280px, .42fr) !important;
  gap: clamp(2.5rem, 5vw, 5rem) !important;
  align-items: center !important;
}

.mcp-page-hero--profile .mcp-page-hero__content {
  min-width: 0 !important;
}

.mcp-page-hero--profile .mcp-page-hero__media {
  width: min(390px, 100%) !important;
  aspect-ratio: 4 / 5 !important;
  justify-self: end !important;
  overflow: hidden !important;
  border-radius: 12px !important;
  box-shadow:
    0 0 0 1px rgba(255,255,255,.12),
    0 24px 70px rgba(0,0,0,.38),
    0 0 52px rgba(120,65,107,.16) !important;
}

.mcp-page-hero--profile .mcp-page-hero__media img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center 18% !important;
}

@media (max-width: 1120px) {
  .home .mcp-hero__inner {
    grid-template-columns: minmax(0, 1fr) minmax(340px, .72fr) !important;
  }

  .home .mcp-hero__frame.mcp-hero__frame--wide {
    max-width: min(480px, 40vw) !important;
  }
}

@media (max-width: 900px) {
  .home .mcp-hero__inner,
  .mcp-page-hero--profile .mcp-page-hero__inner--split {
    grid-template-columns: 1fr !important;
  }

  .home .mcp-hero__frame.mcp-hero__frame--wide {
    max-width: min(560px, 100%) !important;
  }

  .mcp-page-hero--profile .mcp-page-hero__media {
    justify-self: start !important;
    width: min(340px, 100%) !important;
  }
}

/* Refinement finale: titoli hero interni allineati alla scala della homepage */
body:not(.home) .mcp-page-hero .mcp-h1 {
  max-width: 18ch !important;
  font-size: clamp(3rem, 3.05vw, 3.9rem) !important;
  font-weight: 300 !important;
  line-height: 1.03 !important;
  letter-spacing: 0 !important;
}

@media (max-width: 760px) {
  body:not(.home) .mcp-page-hero .mcp-h1 {
    max-width: 100% !important;
    font-size: clamp(2.65rem, 12vw, 3.55rem) !important;
  }
}

/* Refinement finale: formazione e associazioni più leggibili */
.mcp-education-section .mcp-section__head,
.mcp-associations-section .mcp-section__head {
  margin-bottom: clamp(2.2rem, 4vw, 3.4rem) !important;
}

.mcp-master-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: clamp(1rem, 2vw, 1.4rem) !important;
}

.mcp-master-card {
  min-height: 100% !important;
  padding: clamp(1.25rem, 2.6vw, 1.9rem) !important;
  border: 1px solid rgba(65,40,59,.14) !important;
  background: rgba(255,255,255,.62) !important;
  box-shadow: none !important;
}

.mcp-master-card--wide {
  grid-column: 1 / -1 !important;
}

.mcp-master-card h3,
.mcp-association-block h3 {
  margin: 0 0 1.1rem !important;
  color: var(--mcp-plum) !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: clamp(1.25rem, 1.7vw, 1.75rem) !important;
  font-weight: 300 !important;
  line-height: 1.18 !important;
  letter-spacing: 0 !important;
}

.mcp-master-card ul,
.mcp-token-list {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: .55rem !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.mcp-master-card li,
.mcp-token-list li {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 2.25rem !important;
  padding: .52rem .78rem !important;
  border: 1px solid rgba(65,40,59,.16) !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.72) !important;
  color: rgba(31,38,55,.78) !important;
  font-size: .9rem !important;
  line-height: 1.28 !important;
  font-weight: 400 !important;
}

.mcp-association-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr) !important;
  gap: clamp(1.5rem, 4vw, 4rem) !important;
  align-items: start !important;
  padding-top: clamp(1.2rem, 2.5vw, 2rem) !important;
  border-top: 1px solid rgba(65,40,59,.14) !important;
}

.mcp-association-block {
  min-width: 0 !important;
}

.mcp-associations-section .mcp-actions {
  margin-top: clamp(2rem, 4vw, 3rem) !important;
}

@media (max-width: 900px) {
  .mcp-master-grid,
  .mcp-association-grid {
    grid-template-columns: 1fr !important;
  }

  .mcp-master-card li,
  .mcp-token-list li {
    width: 100% !important;
    border-radius: 8px !important;
  }
}

/* Refinement finale: formazione in formato tabellare tecnico */
.mcp-master-table {
  border-top: 1px solid rgba(65,40,59,.18) !important;
  border-bottom: 1px solid rgba(65,40,59,.18) !important;
  background: transparent !important;
}

.mcp-master-row {
  display: grid !important;
  grid-template-columns: minmax(230px, .26fr) minmax(0, 1fr) !important;
  gap: clamp(1.4rem, 4vw, 4.5rem) !important;
  align-items: baseline !important;
  padding: clamp(1rem, 1.8vw, 1.35rem) 0 !important;
  border-bottom: 1px solid rgba(65,40,59,.12) !important;
}

.mcp-master-row:last-child {
  border-bottom: 0 !important;
}

.mcp-master-row h3 {
  margin: 0 !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: .78rem !important;
  font-weight: 500 !important;
  line-height: 1.45 !important;
  letter-spacing: .11em !important;
  text-transform: uppercase !important;
  color: rgba(65,40,59,.58) !important;
}

.mcp-master-row ul {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: .42rem !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.mcp-master-row li {
  display: block !important;
  position: static !important;
  padding-left: 0 !important;
  color: rgba(31,38,55,.78) !important;
  font-size: clamp(.95rem, 1.02vw, 1.04rem) !important;
  line-height: 1.55 !important;
  font-weight: 400 !important;
}

.mcp-master-row li::before {
  content: none !important;
  display: none !important;
}

.mcp-master-row li::after {
  content: none !important;
  display: none !important;
}

.mcp-master-row li:last-child::after {
  content: none !important;
  display: none !important;
}

@media (max-width: 900px) {
  .mcp-master-row {
    grid-template-columns: 1fr !important;
    gap: .65rem !important;
  }

  .mcp-master-row h3 {
    font-size: .76rem !important;
  }
}

/* Refinement finale: master e corsi come lista tecnica unica */
.mcp-education-section {
  background: #f7f3f6 !important;
}

.mcp-education-section .mcp-section__head {
  margin-bottom: clamp(1.5rem, 3vw, 2.25rem) !important;
}

.mcp-master-list {
  max-width: 68rem !important;
  margin: 0 !important;
  padding: 0 !important;
  border-top: 1px solid rgba(65,40,59,.14) !important;
  color: rgba(31,38,55,.78) !important;
}

.mcp-master-item {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(220px, .34fr) !important;
  gap: clamp(1rem, 3vw, 3rem) !important;
  align-items: baseline !important;
  padding: .78rem 0 !important;
  border-bottom: 1px solid rgba(65,40,59,.11) !important;
}

.mcp-master-course,
.mcp-master-school {
  display: block !important;
  font-size: .96rem !important;
  line-height: 1.55 !important;
  font-weight: 400 !important;
}

.mcp-master-course {
  color: rgba(31,38,55,.78) !important;
}

.mcp-master-school {
  color: var(--mcp-mauve) !important;
  font-weight: 500 !important;
  text-align: right !important;
}

.mcp-education-section ul.mcp-master-list {
  list-style: none !important;
}

.mcp-education-section ul.mcp-master-list li {
  list-style: none !important;
  display: block !important;
  padding-left: 0 !important;
  border-bottom: 1px solid rgba(65,40,59,.11) !important;
}

.mcp-education-section ul.mcp-master-list li::marker {
  content: "" !important;
  font-size: 0 !important;
}

.mcp-education-section ul.mcp-master-list strong {
  color: var(--mcp-mauve) !important;
  font-weight: 500 !important;
}

@media (max-width: 820px) {
  .mcp-master-item {
    grid-template-columns: 1fr !important;
    gap: .25rem !important;
  }

  .mcp-master-school {
    text-align: left !important;
  }

  .mcp-master-course,
  .mcp-master-school {
    font-size: .95rem !important;
  }
}

/* =========================================================================
   MOBILE: hamburger, spacing competenze, audit responsive 2026-06-30
   ========================================================================= */

/* Evita scroll orizzontale su tutta la pagina */
body { overflow-x: hidden; }

/* ---- 1. Competenze home: padding verticale ridotto ---- */
.home .mcp-list .mcp-list-item {
  padding: 1.1rem 0 !important;
}

/* ---- 2. Hamburger toggle — bianco visibile su sfondo plum ---- */
/* Selettori esatti da Astra HFB (mobile-trigger, ast-mobile-menu-trigger-fill) */
[data-section="section-header-mobile-trigger"] .ast-button-wrap .ast-mobile-menu-trigger-fill,
.ast-button-wrap .ast-mobile-menu-trigger-fill,
button.ast-mobile-menu-trigger-fill,
button.menu-toggle.main-header-menu-toggle {
  color: #fff !important;
  background: transparent !important;
  border: 1.5px solid rgba(255,255,255,.5) !important;
  border-radius: 6px !important;
  padding: .5rem .6rem !important;
  line-height: 1 !important;
  cursor: pointer !important;
}

/* SVG hamburger — riempi in bianco */
[data-section="section-header-mobile-trigger"] .ast-button-wrap .mobile-menu-toggle-icon .ast-mobile-svg,
[data-section="section-header-mobile-trigger"] .ast-button-wrap .mobile-menu-toggle-icon svg,
.ast-button-wrap .mobile-menu-toggle-icon .ast-mobile-svg,
.ast-button-wrap .mobile-menu-toggle-icon svg,
.mobile-menu-toggle-icon .ahfb-svg-iconset svg {
  fill: #fff !important;
  stroke: #fff !important;
  color: #fff !important;
}

/* ---- 3. Mobile nav — sfondo plum + testo bianco ---- */
/* Dropdown type (data-type="dropdown"): il menu appare dentro #ast-mobile-header */
#ast-mobile-header .main-header-menu,
#ast-mobile-header .main-navigation,
#ast-mobile-header nav,
#ast-mobile-header .site-navigation,
/* Popup drawer / inline fallback */
.ast-header-break-point-nav,
.ast-primary-menu-disabled,
.ast-mobile-popup-drawer,
.ast-mobile-popup-inner,
#ast-mobile-popup,
.ast-popup-menu-wrap {
  background: var(--mcp-plum) !important;
  border-top: 1px solid rgba(255,255,255,.1) !important;
}

/* Voci di menu — tutti i contesti mobile */
#ast-mobile-header .menu-item > .menu-link,
#ast-mobile-header .menu-item > a,
.ast-header-break-point-nav .menu-item > .menu-link,
.ast-header-break-point-nav .menu-item > a,
.ast-primary-menu-disabled .menu-item > .menu-link,
.ast-primary-menu-disabled .menu-item > a,
.ast-mobile-popup-drawer .menu-item > .menu-link,
.ast-mobile-popup-drawer .menu-item > a {
  color: rgba(255,255,255,.85) !important;
  border-bottom: 1px solid rgba(255,255,255,.08) !important;
  padding: .75rem 1.25rem !important;
}

#ast-mobile-header .menu-item > .menu-link:hover,
.ast-header-break-point-nav .menu-item > .menu-link:hover,
.ast-primary-menu-disabled .menu-item > .menu-link:hover,
.ast-mobile-popup-drawer .menu-item > .menu-link:hover {
  color: #fff !important;
  background: rgba(255,255,255,.08) !important;
}

/* LinkedIn nel menu mobile — pill bianco */
#ast-mobile-header .mcp-nav-linkedin > .menu-link,
.ast-header-break-point-nav .mcp-nav-linkedin > .menu-link,
.ast-primary-menu-disabled .mcp-nav-linkedin > .menu-link,
.ast-mobile-popup-drawer .mcp-nav-linkedin > .menu-link {
  border: 1px solid rgba(255,255,255,.45) !important;
  border-bottom: 1px solid rgba(255,255,255,.45) !important;
  border-radius: 6px !important;
  margin: .5rem 1.25rem !important;
  padding: .6rem 1rem !important;
  background: rgba(255,255,255,.08) !important;
  color: #fff !important;
}

/* ---- 4. Audit mobile: overflow e margini (≤768px = breakpoint Astra mobile) ---- */
@media (max-width: 768px) {
  /* Previeni contenuti più larghi dello schermo */
  .mcp-hero,
  .mcp-hero-strip,
  .mcp-section,
  .mcp-page-hero,
  .mcp-cta-band {
    overflow-x: hidden !important;
    max-width: 100vw !important;
  }

  /* Container padding sicuro */
  .mcp-container {
    padding-inline: 1.1rem !important;
  }

  /* Hero: testo non deborda */
  .mcp-hero__body,
  .mcp-hero__text {
    max-width: 100% !important;
    overflow-wrap: break-word !important;
    word-break: break-word !important;
  }

  /* Competenze list: 2 colonne compatte */
  .home .mcp-list .mcp-list-item {
    grid-template-columns: 2rem 1fr !important;
    grid-template-rows: auto auto !important;
    gap: .25rem 1rem !important;
    padding: 1rem 0 !important;
  }
  .home .mcp-list .mcp-list-item .mcp-li-d {
    grid-column: 2 !important;
    margin-top: .15rem !important;
  }

  /* Aree: 1 colonna */
  .mcp-aree {
    grid-template-columns: 1fr !important;
    gap: 1.5rem !important;
  }

  /* Steps: 1 colonna */
  .mcp-steps {
    grid-template-columns: 1fr !important;
  }
  .mcp-step {
    border-left: none !important;
    padding-left: 0 !important;
    border-top: 1px solid var(--mcp-line) !important;
    padding-top: 1.5rem !important;
  }
  .mcp-step:first-child {
    border-top: none !important;
    padding-top: 0 !important;
  }

  /* Split: 1 colonna */
  .mcp-split {
    grid-template-columns: 1fr !important;
    gap: .75rem !important;
  }

  /* Who list */
  .mcp-who li {
    font-size: .97rem !important;
  }

  /* Links row */
  .mcp-links-row {
    flex-direction: column !important;
    gap: .6rem !important;
  }

  /* CTA band */
  .mcp-cta-band {
    padding-block: clamp(3.5rem, 8vw, 5rem) !important;
  }
  .mcp-cta-band .mcp-h2 {
    font-size: clamp(1.6rem, 7vw, 2.2rem) !important;
    white-space: normal !important;
  }

  /* Footer */
  .mcp-footer__roles {
    white-space: normal !important;
  }
}

/* =========================================================================
   MOBILE FINAL AUDIT: menu verticale, layout senza overflow
   ========================================================================= */
@media (max-width: 921px) {
  .ast-header-break-point .main-header-bar,
  .ast-header-break-point .ast-primary-header-bar,
  #ast-mobile-header .ast-primary-header-bar {
    background: var(--mcp-plum) !important;
    border-bottom: 1px solid rgba(255,255,255,.1) !important;
  }

  .ast-header-break-point .site-primary-header-wrap,
  #ast-mobile-header .site-primary-header-wrap,
  #ast-mobile-header .ast-builder-grid-row {
    min-height: 4.5rem !important;
    padding-inline: 1rem !important;
  }

  .ast-header-break-point .site-branding,
  #ast-mobile-header .site-branding {
    max-width: calc(100vw - 5.5rem) !important;
  }

  .ast-header-break-point .site-title a,
  #ast-mobile-header .site-title a {
    display: block !important;
    max-width: 100% !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    font-size: .78rem !important;
    letter-spacing: .06em !important;
  }

  .ast-header-break-point .ast-button-wrap .menu-toggle,
  .ast-header-break-point button.menu-toggle,
  #ast-mobile-header .ast-button-wrap .menu-toggle {
    width: 2.6rem !important;
    height: 2.6rem !important;
    min-width: 2.6rem !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid rgba(255,255,255,.58) !important;
    border-radius: 8px !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  .ast-header-break-point .main-header-menu,
  .ast-header-break-point .ast-nav-menu,
  #ast-mobile-header .main-header-menu,
  #ast-mobile-header .ast-nav-menu,
  .ast-mobile-header-content .main-header-menu,
  .ast-mobile-header-content .ast-nav-menu {
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0 !important;
    padding: .45rem 1rem .9rem !important;
    background: var(--mcp-plum) !important;
    border-top: 1px solid rgba(255,255,255,.1) !important;
  }

  .ast-header-break-point .main-header-menu .menu-item,
  .ast-header-break-point .ast-nav-menu .menu-item,
  #ast-mobile-header .main-header-menu .menu-item,
  #ast-mobile-header .ast-nav-menu .menu-item,
  .ast-mobile-header-content .main-header-menu .menu-item,
  .ast-mobile-header-content .ast-nav-menu .menu-item {
    width: 100% !important;
  }

  .ast-header-break-point .main-header-menu .menu-item > .menu-link,
  .ast-header-break-point .ast-nav-menu .menu-item > .menu-link,
  #ast-mobile-header .main-header-menu .menu-item > .menu-link,
  #ast-mobile-header .ast-nav-menu .menu-item > .menu-link,
  .ast-mobile-header-content .main-header-menu .menu-item > .menu-link,
  .ast-mobile-header-content .ast-nav-menu .menu-item > .menu-link {
    min-height: 2.75rem !important;
    width: 100% !important;
    padding: .85rem 0 !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(255,255,255,.1) !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: rgba(255,255,255,.82) !important;
    font-size: .88rem !important;
    line-height: 1.2 !important;
    letter-spacing: 0 !important;
  }

  .ast-header-break-point .main-header-menu .mcp-nav-linkedin > .menu-link,
  .ast-header-break-point .ast-nav-menu .mcp-nav-linkedin > .menu-link,
  #ast-mobile-header .main-header-menu .mcp-nav-linkedin > .menu-link,
  #ast-mobile-header .ast-nav-menu .mcp-nav-linkedin > .menu-link,
  .ast-mobile-header-content .main-header-menu .mcp-nav-linkedin > .menu-link,
  .ast-mobile-header-content .ast-nav-menu .mcp-nav-linkedin > .menu-link {
    width: 100% !important;
    min-width: 0 !important;
    justify-content: center !important;
    margin: .85rem 0 0 !important;
    padding: .82rem 1rem !important;
    border: 1px solid rgba(255,255,255,.56) !important;
    border-radius: 999px !important;
    color: #fff !important;
    background: rgba(255,255,255,.08) !important;
  }

  .ast-mobile-header-content,
  .ast-mobile-header-content .ast-builder-menu,
  .ast-mobile-header-content .main-header-bar-navigation,
  .ast-mobile-header-content .main-navigation,
  #ast-mobile-header .main-header-bar-navigation,
  #ast-mobile-header .main-navigation {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    display: block !important;
    box-sizing: border-box !important;
  }

  .mcp-hero,
  .mcp-page-hero,
  .mcp-section,
  .mcp-cta-band,
  .site-content,
  .entry-content {
    width: 100% !important;
    max-width: 100vw !important;
    overflow-x: hidden !important;
    box-sizing: border-box !important;
  }

  .mcp-container,
  .mcp-hero__inner,
  .mcp-page-hero__inner,
  .home .mcp-hero__inner,
  body:not(.home) .mcp-page-hero__inner {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    margin-inline: 0 !important;
  }

  .home .mcp-hero__inner,
  .mcp-page-hero__inner,
  .mcp-page-hero--profile .mcp-page-hero__inner--split {
    display: block !important;
    grid-template-columns: none !important;
    padding-inline: clamp(1rem, 5vw, 1.5rem) !important;
  }

  .home .mcp-hero__body,
  .mcp-hero__body,
  .mcp-page-hero__content,
  .mcp-hero__text,
  .mcp-page-hero .mcp-lead {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-wrap: anywhere !important;
    box-sizing: border-box !important;
  }

  .home .mcp-hero__eyebrow {
    white-space: normal !important;
  }

  .home .mcp-hero__name,
  .home .mcp-hero .mcp-hero__name,
  .home .entry-content .mcp-hero h1.mcp-hero__name,
  body:not(.home) .mcp-page-hero .mcp-h1 {
    white-space: normal !important;
    max-width: 100% !important;
  }

  .home .mcp-hero__cta,
  .mcp-page-hero .mcp-actions {
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .home .mcp-hero__cta .mcp-btn,
  .home .mcp-hero__cta .mcp-link,
  .mcp-page-hero .mcp-actions .mcp-btn,
  .mcp-page-hero .mcp-actions .mcp-link {
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  .home .mcp-hero__frame-wrap,
  .mcp-page-hero--profile .mcp-page-hero__media {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }
}

@media (max-width: 768px) {
  html,
  body {
    width: 100% !important;
    overflow-x: hidden !important;
  }

  .mcp-container,
  .site-primary-header-wrap.ast-container {
    width: 100% !important;
    max-width: 100% !important;
    padding-inline: clamp(1rem, 5vw, 1.5rem) !important;
    box-sizing: border-box !important;
  }

  .mcp-container > *,
  .mcp-hero__inner > *,
  .mcp-page-hero__inner > *,
  .mcp-split > *,
  .mcp-tl-item > *,
  .mcp-skill > *,
  .mcp-master-item > * {
    min-width: 0 !important;
    max-width: 100% !important;
  }

  .mcp-section,
  body:not(.home) .mcp-section {
    padding-block: clamp(3rem, 8vw, 4.25rem) !important;
  }

  .home .mcp-hero__inner {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 3rem clamp(1rem, 5vw, 1.5rem) 3.25rem !important;
    gap: 2rem !important;
    box-sizing: border-box !important;
  }

  .home .mcp-hero__body,
  .mcp-hero__body {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }

  .home .mcp-hero__eyebrow {
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    font-size: .58rem !important;
    line-height: 1.6 !important;
    letter-spacing: .1em !important;
  }

  .home .mcp-hero__name,
  .home .mcp-hero .mcp-hero__name,
  .home .entry-content .mcp-hero h1.mcp-hero__name,
  body:not(.home) .mcp-page-hero .mcp-h1 {
    max-width: 100% !important;
    white-space: normal !important;
    font-size: clamp(2.35rem, 11vw, 3.35rem) !important;
    line-height: 1.08 !important;
  }

  .home .mcp-hero__text,
  body:not(.home) .mcp-page-hero .mcp-lead,
  .mcp-lead,
  .mcp-li-d,
  .mcp-tl-text,
  .mcp-master-course,
  .mcp-master-school {
    font-size: .96rem !important;
    line-height: 1.68 !important;
  }

  .home .mcp-hero__cta,
  .mcp-actions,
  .mcp-links-row {
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: .75rem !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  .home .mcp-hero__cta .mcp-btn,
  .home .mcp-hero__cta .mcp-link,
  .mcp-actions .mcp-btn,
  .mcp-actions .mcp-link,
  .mcp-links-row .mcp-link {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    justify-content: center !important;
    text-align: center !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }

  .home .mcp-hero__frame.mcp-hero__frame--wide,
  .home .mcp-hero__frame {
    width: 100% !important;
    max-width: 100% !important;
    aspect-ratio: 4 / 3 !important;
  }

  .home .mcp-hero__frame-wrap,
  .mcp-hero__frame-wrap {
    width: 100% !important;
    max-width: 100% !important;
    padding: 2rem 0 0 !important;
    box-sizing: border-box !important;
  }

  .home .mcp-list .mcp-list-item,
  .entry-content .mcp-list--plain .mcp-list-item,
  .mcp-list--plain .mcp-list-item {
    display: block !important;
    padding: 1.35rem 0 !important;
    margin: 0 !important;
  }

  .home .mcp-list .mcp-list-link,
  .entry-content .mcp-list--plain .mcp-list-link {
    display: block !important;
    padding: 0 !important;
  }

  .entry-content .mcp-list--plain .mcp-li-t,
  .mcp-li-t {
    margin-bottom: .55rem !important;
    font-size: clamp(1.35rem, 7vw, 2rem) !important;
    line-height: 1.16 !important;
  }

  .mcp-home-areas .mcp-section__head,
  .mcp-home-who .mcp-section__head,
  .mcp-home-collab .mcp-section__head,
  .mcp-section__head,
  .mcp-split {
    display: block !important;
  }

  .mcp-h2 {
    font-size: clamp(2.25rem, 11vw, 3.4rem) !important;
    line-height: 1.08 !important;
  }

  .mcp-tl-item,
  .mcp-skill,
  .mcp-page-hero--profile .mcp-page-hero__inner--split,
  .mcp-association-grid,
  .mcp-master-item {
    grid-template-columns: 1fr !important;
  }

  .mcp-page-hero--profile .mcp-page-hero__media {
    width: 100% !important;
    max-width: 21rem !important;
    justify-self: start !important;
  }

  .mcp-master-list {
    max-width: 100% !important;
  }

  .mcp-master-school {
    text-align: left !important;
    color: var(--mcp-mauve) !important;
  }
}

@media (max-width: 420px) {
  .mcp-container,
  .site-primary-header-wrap.ast-container {
    padding-inline: 1rem !important;
  }

  .home .mcp-hero__name,
  .home .mcp-hero .mcp-hero__name,
  .home .entry-content .mcp-hero h1.mcp-hero__name,
  body:not(.home) .mcp-page-hero .mcp-h1 {
    font-size: clamp(2.05rem, 11vw, 2.75rem) !important;
  }

  .mcp-h2 {
    font-size: clamp(2rem, 10vw, 2.75rem) !important;
  }
}

/* =========================================================================
   MOBILE RESPONSIVE PASS: menu chiuso di default, testi leggibili, no overflow
   ========================================================================= */
@media (max-width: 921px) {
  html,
  body,
  #page,
  .site,
  .site-content,
  .entry-content {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
  }

  .ast-mobile-header-wrap .ast-mobile-header-content {
    display: none !important;
    max-height: 0 !important;
    overflow: hidden !important;
  }

  .ast-main-header-nav-open.ast-header-break-point .ast-mobile-header-wrap .ast-mobile-header-content {
    display: block !important;
    max-height: calc(100vh - 4.5rem) !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
  }

  .ast-main-header-nav-open.ast-header-break-point .ast-mobile-header-content,
  .ast-main-header-nav-open.ast-header-break-point .ast-mobile-header-content .ast-builder-menu,
  .ast-main-header-nav-open.ast-header-break-point .ast-mobile-header-content .main-header-bar-navigation,
  .ast-main-header-nav-open.ast-header-break-point .ast-mobile-header-content .main-navigation {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    display: block !important;
    box-sizing: border-box !important;
  }

  .ast-main-header-nav-open.ast-header-break-point .ast-mobile-header-content .main-header-menu,
  .ast-main-header-nav-open.ast-header-break-point .ast-mobile-header-content .ast-nav-menu {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: .35rem 1rem 1rem !important;
    background: var(--mcp-plum) !important;
  }

  .ast-main-header-nav-open.ast-header-break-point .ast-mobile-header-content .menu-item {
    width: 100% !important;
  }

  .ast-main-header-nav-open.ast-header-break-point .ast-mobile-header-content .menu-item > .menu-link {
    width: 100% !important;
    min-height: 2.85rem !important;
    padding: .82rem 0 !important;
    margin: 0 !important;
    border-bottom: 1px solid rgba(255,255,255,.1) !important;
    color: rgba(255,255,255,.8) !important;
    font-size: .9rem !important;
    line-height: 1.2 !important;
    justify-content: flex-start !important;
  }

  .ast-main-header-nav-open.ast-header-break-point .ast-mobile-header-content .mcp-nav-linkedin > .menu-link {
    justify-content: center !important;
    margin-top: .85rem !important;
    padding: .85rem 1rem !important;
    border: 1px solid rgba(255,255,255,.55) !important;
    border-radius: 999px !important;
    background: rgba(255,255,255,.07) !important;
    color: #fff !important;
  }

  .mcp-container,
  .mcp-hero__inner,
  .mcp-page-hero__inner,
  .mcp-cta-band .mcp-container {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    padding-inline: clamp(1.25rem, 5vw, 2rem) !important;
    margin-inline: 0 !important;
    box-sizing: border-box !important;
  }

  .mcp-hero,
  .mcp-page-hero {
    min-height: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
  }

  .home .mcp-hero__inner,
  .mcp-page-hero__inner,
  .mcp-page-hero--profile .mcp-page-hero__inner--split {
    display: block !important;
    grid-template-columns: none !important;
    min-height: auto !important;
    padding-block: clamp(3.25rem, 9vw, 5rem) !important;
  }

  .home .mcp-hero__body,
  .mcp-hero__body,
  .mcp-page-hero__content,
  .mcp-page-hero .mcp-lead,
  .home .mcp-hero__text {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    padding: 0 !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    box-sizing: border-box !important;
  }

  .home .mcp-hero__eyebrow,
  .mcp-page-hero .mcp-payoff-line,
  .mcp-eyebrow {
    white-space: normal !important;
    font-size: .62rem !important;
    line-height: 1.55 !important;
    letter-spacing: .12em !important;
  }

  .home .mcp-hero__name,
  .home .mcp-hero .mcp-hero__name,
  .home .entry-content .mcp-hero h1.mcp-hero__name,
  body:not(.home) .mcp-page-hero .mcp-h1 {
    white-space: normal !important;
    max-width: 100% !important;
    font-size: clamp(2.35rem, 11vw, 3.7rem) !important;
    line-height: 1.08 !important;
    letter-spacing: 0 !important;
  }

  .home .mcp-hero__text,
  .mcp-page-hero .mcp-lead,
  .mcp-lead,
  .mcp-copy,
  .mcp-li-d,
  .mcp-tl-text,
  .mcp-master-course,
  .mcp-master-school,
  .mcp-association-block p {
    font-size: .98rem !important;
    line-height: 1.68 !important;
  }

  .home .mcp-hero__cta,
  .mcp-page-hero .mcp-actions,
  .mcp-actions,
  .mcp-links-row {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: .75rem !important;
  }

  .home .mcp-hero__cta .mcp-btn,
  .home .mcp-hero__cta .mcp-link,
  .mcp-page-hero .mcp-actions .mcp-btn,
  .mcp-page-hero .mcp-actions .mcp-link,
  .mcp-actions .mcp-btn,
  .mcp-actions .mcp-link,
  .mcp-links-row .mcp-link {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    justify-content: center !important;
    text-align: center !important;
    white-space: normal !important;
    min-height: 3.05rem !important;
    font-size: .88rem !important;
    line-height: 1.15 !important;
    padding-inline: 1rem !important;
    box-sizing: border-box !important;
  }

  .home .mcp-hero__frame-wrap,
  .mcp-hero__frame-wrap {
    width: 100% !important;
    max-width: 100% !important;
    padding: 2rem 0 0 !important;
    box-sizing: border-box !important;
  }

  .home .mcp-hero__frame,
  .home .mcp-hero__frame.mcp-hero__frame--wide,
  .mcp-hero__frame,
  .mcp-page-hero--profile .mcp-page-hero__media {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    aspect-ratio: 4 / 3 !important;
    justify-self: start !important;
  }

  .mcp-section {
    padding-block: clamp(3rem, 9vw, 4.5rem) !important;
  }

  .mcp-section__head,
  .mcp-split,
  .mcp-association-grid,
  .mcp-tl-item,
  .mcp-master-item,
  .mcp-career-stats,
  .mcp-skills-grid,
  .mcp-aree,
  .mcp-steps {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: clamp(1.1rem, 4vw, 1.75rem) !important;
  }

  .mcp-h2 {
    max-width: 100% !important;
    font-size: clamp(2rem, 10vw, 3.1rem) !important;
    line-height: 1.08 !important;
  }

  .home .mcp-list .mcp-list-item,
  .entry-content .mcp-list--plain .mcp-list-item,
  .mcp-list--plain .mcp-list-item {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 1.25rem 0 !important;
    margin: 0 !important;
  }

  .home .mcp-list .mcp-list-link,
  .entry-content .mcp-list--plain .mcp-list-link,
  .mcp-list--plain .mcp-list-link {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
  }

  .entry-content .mcp-list--plain .mcp-li-t,
  .mcp-li-t {
    display: block !important;
    margin: 0 0 .5rem !important;
    font-size: clamp(1.35rem, 6.6vw, 2rem) !important;
    line-height: 1.16 !important;
  }

  .mcp-li-cta {
    display: inline-block !important;
    margin-top: .7rem !important;
    opacity: .8 !important;
  }

  .mcp-career-stats--hero {
    margin-top: 1.5rem !important;
  }

  .mcp-career-stat {
    padding: 1.1rem !important;
  }

  .mcp-career-stat__value {
    font-size: clamp(1.8rem, 9vw, 2.6rem) !important;
  }

  .mcp-tl-title,
  .mcp-association-block h3 {
    font-size: clamp(1.25rem, 6vw, 1.7rem) !important;
    line-height: 1.2 !important;
  }

  .mcp-education-section .mcp-master-list,
  .mcp-master-list {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    list-style: none !important;
  }

  .mcp-master-item {
    display: block !important;
    padding: 1rem 0 !important;
  }

  .mcp-master-school {
    display: block !important;
    margin-top: .25rem !important;
    text-align: left !important;
  }
}

@media (max-width: 544px) {
  .mcp-container,
  .mcp-hero__inner,
  .mcp-page-hero__inner,
  .mcp-cta-band .mcp-container {
    padding-inline: 1.15rem !important;
  }

  .home .mcp-hero__name,
  .home .mcp-hero .mcp-hero__name,
  .home .entry-content .mcp-hero h1.mcp-hero__name,
  body:not(.home) .mcp-page-hero .mcp-h1 {
    font-size: clamp(2.25rem, 12vw, 3rem) !important;
  }

  .mcp-h2 {
    font-size: clamp(2rem, 11vw, 2.65rem) !important;
  }
}

/* =========================================================================
   Competenze: servizi senza numerazione
   ========================================================================= */
.mcp-skills-section {
  background:
    linear-gradient(180deg, #fff 0%, #fff 70%, rgba(65,40,59,.025) 100%) !important;
}

.mcp-skills-layout {
  max-width: 78rem !important;
}

.entry-content .mcp-skills-section .mcp-skill {
  display: grid !important;
  grid-template-columns: minmax(15rem, .34fr) minmax(0, 1fr) !important;
  gap: clamp(2rem, 4.5vw, 4.25rem) !important;
  align-items: start !important;
  padding: clamp(2.25rem, 4.5vw, 3.8rem) 0 !important;
  border-top: 1px solid rgba(65,40,59,.13) !important;
  background: transparent !important;
  box-shadow: none !important;
  scroll-margin-top: 7rem !important;
}

.entry-content .mcp-skills-section .mcp-skill:first-child {
  border-top: 0 !important;
  padding-top: 0 !important;
}

.entry-content .mcp-skills-section .mcp-skill__head {
  min-width: 0 !important;
  position: relative !important;
  padding-top: 1.15rem !important;
}

.entry-content .mcp-skills-section .mcp-skill__head::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 3.2rem !important;
  height: 2px !important;
  background: var(--mcp-mauve) !important;
}

.entry-content .mcp-skills-section .mcp-skill-h {
  max-width: 24ch !important;
  margin: 0 !important;
  color: var(--mcp-plum) !important;
  font-size: clamp(1.55rem, 1.85vw, 2.22rem) !important;
  line-height: 1.16 !important;
  font-weight: 300 !important;
}

.entry-content .mcp-skills-section .mcp-skill__body {
  min-width: 0 !important;
}

.entry-content .mcp-skills-section .mcp-skill-text {
  max-width: 64rem !important;
  margin: 0 !important;
  color: var(--mcp-text) !important;
  font-size: clamp(1rem, 1.05vw, 1.08rem) !important;
  line-height: 1.82 !important;
}

.entry-content .mcp-skills-section .mcp-tags {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: .55rem .65rem !important;
  margin: 1.4rem 0 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.entry-content .mcp-skills-section .mcp-tags li {
  width: auto !important;
  max-width: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: .48rem .78rem !important;
  border: 1px solid rgba(65,40,59,.18) !important;
  border-radius: 999px !important;
  background: rgba(65,40,59,.035) !important;
  color: rgba(65,40,59,.82) !important;
  font-family: 'Poppins','Montserrat',sans-serif !important;
  font-size: .78rem !important;
  line-height: 1.2 !important;
  font-weight: 400 !important;
}

.entry-content .mcp-skills-section .mcp-actions {
  margin-top: clamp(2rem, 5vw, 3.5rem) !important;
  border-top: 1px solid rgba(65,40,59,.12) !important;
  padding-top: 1.6rem !important;
}

@media (max-width: 921px) {
  .mcp-skills-layout {
    max-width: 100% !important;
  }

  .entry-content .mcp-skills-section .mcp-skill {
    grid-template-columns: 1fr !important;
    gap: 1rem !important;
    padding: 2rem 0 !important;
  }

  .entry-content .mcp-skills-section .mcp-skill-h {
    max-width: 100% !important;
    font-size: clamp(1.38rem, 6vw, 1.85rem) !important;
  }

  .entry-content .mcp-skills-section .mcp-skill-text {
    font-size: .98rem !important;
    line-height: 1.72 !important;
  }

  .entry-content .mcp-skills-section .mcp-tags {
    gap: .45rem !important;
    margin-top: 1rem !important;
  }

  .entry-content .mcp-skills-section .mcp-tags li {
    font-size: .72rem !important;
    line-height: 1.25 !important;
    padding: .42rem .65rem !important;
  }
}

/* =========================================================================
   Bottoni: raggio coerente in tutto il sito
   ========================================================================= */
:root {
  --mcp-button-radius: 999px;
}

.mcp-btn,
.mcp-link,
.mcp-actions .mcp-btn,
.mcp-actions .mcp-link,
.mcp-links-row .mcp-link,
.home .mcp-hero__cta .mcp-btn,
.home .mcp-hero__cta .mcp-link,
.mcp-page-hero .mcp-actions .mcp-btn,
.mcp-page-hero .mcp-actions .mcp-link,
.main-header-menu .menu-item.mcp-nav-linkedin > .menu-link,
.ast-nav-menu .menu-item.mcp-nav-linkedin > .menu-link,
.main-header-menu .mcp-nav-linkedin > a,
.mcp-nav-linkedin > .menu-link,
#ast-mobile-header .mcp-nav-linkedin > .menu-link,
.ast-mobile-header-content .mcp-nav-linkedin > .menu-link {
  border-radius: var(--mcp-button-radius) !important;
}

/* =========================================================================
   Pubblicazioni: card articolo con copertina
   ========================================================================= */
.mcp-publications-section .mcp-section__head {
  margin-bottom: clamp(2.25rem, 4vw, 3.4rem) !important;
}

.mcp-publications-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: clamp(1rem, 1.7vw, 1.5rem) !important;
  max-width: 100% !important;
}

.mcp-publication-card {
  min-width: 0 !important;
}

.mcp-publication-card__link {
  display: grid !important;
  grid-template-rows: auto 1fr !important;
  height: 100% !important;
  border: 1px solid rgba(65,40,59,.16) !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  background: #fff !important;
  color: inherit !important;
  text-decoration: none !important;
  transition: border-color .18s ease, box-shadow .18s ease !important;
}

.mcp-publication-card__link:hover,
.mcp-publication-card__link:focus {
  border-color: rgba(65,40,59,.34) !important;
  box-shadow: 0 18px 42px rgba(65,40,59,.12) !important;
}

.mcp-publication-card__media {
  aspect-ratio: 210 / 297 !important;
  margin: 0 !important;
  background: rgba(65,40,59,.035) !important;
  border-bottom: 1px solid rgba(65,40,59,.12) !important;
  overflow: hidden !important;
}

.mcp-publication-card__media img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center top !important;
}

.mcp-publication-card__body {
  padding: clamp(1rem, 1.5vw, 1.2rem) !important;
}

.mcp-publication-card__body h3 {
  margin: 0 !important;
  color: var(--mcp-plum) !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: clamp(1.05rem, 1.25vw, 1.25rem) !important;
  line-height: 1.18 !important;
  font-weight: 300 !important;
  letter-spacing: 0 !important;
}

.mcp-publication-card__body p {
  margin: .8rem 0 0 !important;
  color: var(--mcp-text) !important;
  font-size: .86rem !important;
  line-height: 1.55 !important;
}

@media (max-width: 1100px) {
  .mcp-publications-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    max-width: 42rem !important;
  }
}

@media (max-width: 760px) {
  .mcp-publications-grid {
    grid-template-columns: 1fr !important;
    max-width: 24rem !important;
  }
}

.mcp-insights-section {
  padding-top: clamp(3.5rem, 7vw, 6rem) !important;
}

.mcp-insights-section .mcp-section__head {
  margin-bottom: clamp(2rem, 3.5vw, 3rem) !important;
  border-top: 1px solid var(--mcp-line) !important;
  padding-top: clamp(2rem, 3vw, 2.8rem) !important;
}

.mcp-insights-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: clamp(1rem, 1.8vw, 1.6rem) !important;
}

.mcp-insight-card {
  min-width: 0 !important;
}

.mcp-insight-card__link {
  display: grid !important;
  height: 100% !important;
  min-height: 13rem !important;
  border: 1px solid rgba(65,40,59,.14) !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  background: rgba(65,40,59,.025) !important;
  color: inherit !important;
  text-decoration: none !important;
  transition: border-color .18s ease, background .18s ease, box-shadow .18s ease !important;
}

.mcp-insight-card__link:hover,
.mcp-insight-card__link:focus {
  background: #fff !important;
  border-color: rgba(65,40,59,.32) !important;
  box-shadow: 0 18px 42px rgba(65,40,59,.10) !important;
}

.mcp-insight-card__media {
  aspect-ratio: 16 / 9 !important;
  margin: 0 !important;
  overflow: hidden !important;
  border-bottom: 1px solid rgba(65,40,59,.12) !important;
}

.mcp-insight-card__media img {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  object-fit: cover !important;
}

.mcp-insight-card__body {
  padding: clamp(1.15rem, 1.8vw, 1.5rem) !important;
  align-self: end !important;
}

.mcp-insight-card__body h3 {
  margin: 0 !important;
  color: var(--mcp-plum) !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: clamp(1.2rem, 1.45vw, 1.55rem) !important;
  line-height: 1.18 !important;
  font-weight: 300 !important;
  letter-spacing: 0 !important;
}

.mcp-insight-card__body p {
  margin: .9rem 0 0 !important;
  color: var(--mcp-text) !important;
  font-size: .94rem !important;
  line-height: 1.58 !important;
}

@media (max-width: 980px) {
  .mcp-insights-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 640px) {
  .mcp-insights-grid {
    grid-template-columns: 1fr !important;
  }

  .mcp-insight-card__link {
    min-height: 0 !important;
  }
}

.mcp-publication-post__cover {
  max-width: 36rem !important;
  margin: 0 auto !important;
  border: 1px solid rgba(65,40,59,.14) !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  background: #fff !important;
  box-shadow: 0 18px 46px rgba(65,40,59,.10) !important;
}

.mcp-publication-post__cover img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
}

/* =========================================================================
   Contatti: hero unica senza sezione bianca duplicata
   ========================================================================= */
.mcp-page-hero--contact .mcp-actions {
  max-width: 100%;
}

.mcp-page-hero--contact .mcp-contact-email--hero {
  max-width: 100%;
  letter-spacing: .02em !important;
  text-transform: none !important;
  overflow-wrap: anywhere;
}

@media (max-width: 640px) {
  .mcp-page-hero--contact .mcp-actions,
  .mcp-page-hero--contact .mcp-actions .mcp-btn {
    width: 100%;
  }

  .mcp-page-hero--contact .mcp-actions .mcp-btn {
    justify-content: center;
  }
}

/* =========================================================================
   Post pubblicazioni: rimuove chrome nativo Astra
   ========================================================================= */
.single-post .entry-header.ast-no-thumbnail,
.single-post .entry-header.ast-header-without-markup,
.single-post .entry-meta,
.single-post .post-navigation,
.single-post .comments-area,
.single-post #comments {
  display: none !important;
}

.single-post.ast-page-builder-template .site-content > .ast-container,
.single-post.ast-page-builder-template .site-content #primary,
.single-post .ast-article-single,
.single-post .entry-content {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

.single-post .entry-content > :first-child {
  margin-top: 0 !important;
}

/* =========================================================================
   Percorso professionale: fix mobile foto e timeline
   ========================================================================= */
@media (max-width: 768px) {
  body:not(.home) .mcp-page-hero .mcp-h1 {
    max-width: 100% !important;
    font-size: clamp(2.15rem, 8.6vw, 2.85rem) !important;
    line-height: 1.08 !important;
    overflow-wrap: normal !important;
    word-break: keep-all !important;
    hyphens: none !important;
  }

  body:not(.home) .mcp-page-hero {
    padding-block: clamp(3rem, 8vw, 4.25rem) !important;
  }

  .mcp-page-hero--profile .mcp-page-hero__media {
    width: min(100%, 22rem) !important;
    max-width: 22rem !important;
    aspect-ratio: 1604 / 2048 !important;
    margin-top: 2rem !important;
    justify-self: start !important;
  }

  .mcp-page-hero--profile .mcp-page-hero__media img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center top !important;
  }

  .mcp-career-section .mcp-tl-item {
    grid-template-columns: 1fr !important;
    gap: .9rem !important;
  }

  .mcp-career-section .mcp-tl-item > * {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  .mcp-career-section .mcp-tl-text {
    width: 100% !important;
    max-width: 100% !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: manual !important;
  }

  .page-id-1994 .mcp-page-hero--profile {
    padding-bottom: 0 !important;
  }

  .page-id-1994 .mcp-page-hero--profile .mcp-page-hero__inner--split {
    padding-bottom: 2rem !important;
  }

  .page-id-1994 .mcp-page-hero--profile .mcp-page-hero__media {
    margin-bottom: 0 !important;
  }

  .page-id-1994 .mcp-career-section {
    padding-top: 2rem !important;
  }

  .page-id-1994 .mcp-career-section .mcp-section__head {
    margin-bottom: 1.1rem !important;
  }

  .page-id-1994 .mcp-career-section .mcp-h2 {
    margin-bottom: 0 !important;
  }

  .page-id-1994 .mcp-career-section .mcp-tl {
    margin-top: 0 !important;
  }

  .page-id-1994 .mcp-career-section .mcp-tl-item:first-child {
    padding-top: .75rem !important;
  }
}

@media (max-width: 544px) {
  body:not(.home) .mcp-page-hero .mcp-h1 {
    font-size: clamp(2rem, 9.4vw, 2.45rem) !important;
  }
}

/* =========================================================================
   Header mobile: logo allineato e piu leggibile
   ========================================================================= */
@media (max-width: 921px) {
  #ast-mobile-header .ast-primary-header-bar {
    padding: .85rem 0 !important;
  }

  #ast-mobile-header .site-primary-header-wrap {
    min-height: 4.8rem !important;
    padding-inline: clamp(1.2rem, 5vw, 1.7rem) !important;
  }

  #ast-mobile-header .ast-builder-grid-row {
    width: 100% !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    column-gap: 1rem !important;
    align-items: center !important;
    padding-inline: 0 !important;
  }

  #ast-mobile-header .site-header-primary-section-left,
  #ast-mobile-header .site-header-primary-section-right {
    min-width: 0 !important;
    align-items: center !important;
  }

  #ast-mobile-header .site-header-primary-section-left {
    justify-content: flex-start !important;
  }

  #ast-mobile-header .site-header-primary-section-right {
    justify-content: flex-end !important;
  }

  #ast-mobile-header .ast-builder-layout-element[data-section="title_tagline"],
  #ast-mobile-header .site-branding,
  #ast-mobile-header .site-logo-img,
  #ast-mobile-header .custom-logo-link {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    line-height: 0 !important;
  }

  #ast-mobile-header .custom-logo-link img,
  #ast-mobile-header .site-logo-img img,
  #ast-mobile-header img.custom-logo {
    width: clamp(190px, 55vw, 230px) !important;
    max-width: min(55vw, 230px) !important;
    height: auto !important;
  }
}

/* =========================================================================
   Percorso professionale: metriche affiancate su smartphone
   ========================================================================= */
@media (max-width: 544px) {
  .mcp-page-hero--profile .mcp-career-stats--hero {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: .42rem !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .mcp-page-hero--profile .mcp-career-stats--hero .mcp-career-stat {
    min-width: 0 !important;
    min-height: 4.4rem !important;
    padding: .62rem .32rem !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .mcp-page-hero--profile .mcp-career-stats--hero .mcp-career-stat__value {
    font-size: clamp(1.2rem, 5.6vw, 1.45rem) !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }

  .mcp-page-hero--profile .mcp-career-stats--hero .mcp-career-stat__label {
    margin-top: .28rem !important;
    font-size: clamp(.58rem, 2.7vw, .68rem) !important;
    line-height: 1.16 !important;
    text-align: center !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: none !important;
  }

  .mcp-page-hero--profile .mcp-page-hero__media {
    width: 100% !important;
    max-width: 100% !important;
    margin-inline: auto !important;
    justify-self: center !important;
  }
}
