/* ============================================================
   MYPREV — style-v3.css
   Design layer v3: redesign pubblico completo
   Palette petrolio/ambra, navbar floating, homepage redesignata
   Si carica DOPO style.css e style-v2.css
   ============================================================ */

/* ── Design Tokens ── */
:root {
  --mp-dark: #0C2D3F;
  --mp-dark-mid: #0F3A4F;
  --mp-dark-deep: #0A3550;
  --mp-surface: #FAFAF8;
  --mp-surface-alt: #F2F0ED;
  --mp-accent: #E8913A;
  --mp-accent-hover: #D4802E;
  --mp-accent-soft: rgba(232, 145, 58, 0.09);
  --mp-verify: #2DB87F;
  --mp-verify-soft: rgba(45, 184, 127, 0.08);
  --mp-heat: #E85D3A;
  --mp-heat-soft: rgba(232, 93, 58, 0.08);
  --mp-text: #1A1A1A;
  --mp-muted: #5A6670;
  --mp-on-dark: #FAFAF8;
  --mp-muted-dark: rgba(250, 250, 248, 0.6);
  --mp-border: rgba(12, 45, 63, 0.08);
  --mp-danger: #C0392B;
  --mp-font-head: 'Plus Jakarta Sans', sans-serif;
  --mp-font-body: 'DM Sans', sans-serif;
  --mp-radius-sm: 8px;
  --mp-radius-md: 12px;
  --mp-radius-lg: 16px;
  --mp-radius-xl: 20px;
}

/* ── Reset overrides for v3 pages ── */
body.mp-v3 {
  font-family: var(--mp-font-body);
  color: var(--mp-text);
  background: var(--mp-surface);
  -webkit-font-smoothing: antialiased;
}
body.mp-v3 ::selection { background: rgba(232, 145, 58, 0.2); }
body.mp-v3 * { box-sizing: border-box; }

/* ── v3 element toggles ──
   Elements added to shared markup (navbar/footer) that must be
   invisible on non-v3 pages and visible on v3 pages.
   ─────────────────────────────────────────────────────────── */
/* Hidden by default on ALL pages (including non-v3) */
.nav__logo-icon { display: none; }
.nav__logo-wordmark { display: none; }
.nav__sep { display: none; }
.nav-inst-strip { display: none; }
.footer__logo-icon { display: none; }
.footer__logo-wordmark { display: none; }
.footer__copy-v3 { display: none; }

/* Shown on v3 pages */
body.mp-v3 .nav__logo-icon { display: none; }
body.mp-v3 .nav__logo-wordmark { display: none; }
body.mp-v3 .nav__sep { display: block; }
body.mp-v3 .footer__logo-icon { display: none; }
body.mp-v3 .footer__logo-wordmark { display: none; }
/* On v3: hide old text fallback, show logo.png as-is */
body.mp-v3 .nav__logo-text { display: none; }
body.mp-v3 .footer__logo-text { display: none; }
/* On v3: swap footer copyright lines */
body.mp-v3 .footer__copy { display: none; }
body.mp-v3 .footer__copy-v3 { display: inline; }
body.mp-v3 .footer__bottom-link { display: none; }

/* ============================================================
   NAVBAR v3 — floating dark
   ============================================================ */
body.mp-v3 .nav-wrapper {
  position: fixed;
  top: 12px; left: 24px; right: 24px;
  z-index: 200;
  padding: 0;
  background: transparent;
  pointer-events: none;
}
body.mp-v3 .nav-wrapper .nav {
  pointer-events: all;
  max-width: 1100px;
  margin: 0 auto;
  background: rgba(12, 45, 63, 0.88);
  backdrop-filter: blur(24px) saturate(180%);
  -webkit-backdrop-filter: blur(24px) saturate(180%);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 14px;
  padding: 0 28px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 56px;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.15);
}

/* Logo */
body.mp-v3 .nav__logo { display: flex; align-items: center; gap: 8px; text-decoration: none; }

/* Nav links */
body.mp-v3 .nav__links {
  display: flex; align-items: center; gap: 0;
}
body.mp-v3 .nav__links a {
  font-family: var(--mp-font-body);
  font-size: 13px; font-weight: 500;
  color: var(--mp-muted-dark);
  text-decoration: none;
  padding: 8px 12px;
  transition: color 0.2s;
}
body.mp-v3 .nav__links a::after { display: none; }
body.mp-v3 .nav__links a:hover { color: var(--mp-on-dark); }
body.mp-v3 .nav__links a.active {
  color: var(--mp-on-dark);
  font-weight: 600;
}

/* Nav separator */
body.mp-v3 .nav__sep {
  width: 1px; height: 20px;
  background: rgba(255, 255, 255, 0.12);
  margin: 0 4px;
}

/* Nav actions */
body.mp-v3 .nav__actions {
  display: flex; align-items: center; gap: 12px;
}
body.mp-v3 .nav__link-inst {
  font-family: var(--mp-font-body);
  font-size: 13px; font-weight: 600;
  color: var(--mp-on-dark) !important;
  text-decoration: none !important;
  background: transparent !important;
  border: 1px solid rgba(255, 255, 255, 0.2) !important;
  border-radius: var(--mp-radius-sm);
  padding: 7px 16px;
  transition: all 0.2s;
}
body.mp-v3 .nav__link-inst:hover {
  border-color: rgba(255, 255, 255, 0.4);
  background: rgba(255, 255, 255, 0.06);
}
body.mp-v3 .nav__link-inst--active {
  border-color: rgba(255, 255, 255, 0.35) !important;
  background: rgba(255, 255, 255, 0.06) !important;
}

/* Nav CTA */
body.mp-v3 .btn--primary.btn--nav-cta,
body.mp-v3 .nav__cta {
  background: var(--mp-accent) !important;
  color: #fff !important;
  border: none;
  border-radius: var(--mp-radius-sm);
  padding: 8px 18px;
  font-family: var(--mp-font-head);
  font-size: 13px; font-weight: 700;
  cursor: pointer;
  text-decoration: none;
  transition: all 0.2s;
}
body.mp-v3 .btn--primary.btn--nav-cta:hover,
body.mp-v3 .nav__cta:hover {
  background: var(--mp-accent-hover) !important;
  transform: translateY(-1px);
}

/* Ghost button in nav */
body.mp-v3 .btn--ghost {
  font-size: 13px; font-weight: 500;
  color: var(--mp-muted-dark) !important;
  text-decoration: none;
  padding: 7px 12px;
}
body.mp-v3 .btn--ghost:hover { color: var(--mp-on-dark) !important; background: transparent !important; }

/* Dropdown in nav */
body.mp-v3 .nav__user {
  color: #fff !important;
  background: var(--mp-accent) !important;
  border-radius: 10px; padding: 7px 16px;
  font-family: var(--mp-font-body); font-size: 13px; font-weight: 600;
  border: none;
}
body.mp-v3 .nav__user:hover { background: var(--mp-accent-hover) !important; }
body.mp-v3 .nav__dropdown-arrow { color: rgba(255,255,255,0.7); }
body.mp-v3 .nav__dropdown-menu {
  background: var(--mp-dark);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: var(--mp-radius-md);
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.3);
}
body.mp-v3 .nav__dropdown-item { color: var(--mp-muted-dark); }
body.mp-v3 .nav__dropdown-item:hover { color: var(--mp-on-dark); background: rgba(255, 255, 255, 0.06); }
body.mp-v3 .nav__dropdown-divider { background: rgba(255, 255, 255, 0.08); }
body.mp-v3 .nav__dropdown-item--danger { color: #e57373 !important; }

/* Hamburger */
body.mp-v3 .nav__hamburger span { background: var(--mp-on-dark); }

/* ============================================================
   HERO v3 — dual micro-simulation, two columns
   ============================================================ */
body.mp-v3 .hero-v3 {
  background: linear-gradient(170deg, var(--mp-dark) 0%, var(--mp-dark-mid) 50%, var(--mp-dark-deep) 100%);
  padding: 160px 40px 100px;
  position: relative; overflow: hidden;
  min-height: 100vh;
  display: flex; align-items: center;
}
body.mp-v3 .hero-v3__grid {
  position: absolute; inset: 0; opacity: 0.025;
  background-image: linear-gradient(rgba(255,255,255,0.5) 1px, transparent 1px),
                     linear-gradient(90deg, rgba(255,255,255,0.5) 1px, transparent 1px);
  background-size: 60px 60px;
}
body.mp-v3 .hero-v3__orb1 {
  position: absolute; top: 8%; right: 0; width: 450px; height: 450px;
  background: radial-gradient(circle, rgba(232,145,58,0.1) 0%, transparent 70%);
  border-radius: 50%; filter: blur(60px);
}
body.mp-v3 .hero-v3__orb2 {
  position: absolute; bottom: 5%; left: 5%; width: 300px; height: 300px;
  background: radial-gradient(circle, rgba(45,184,127,0.06) 0%, transparent 70%);
  border-radius: 50%; filter: blur(60px);
}

/* Dual layout */
body.mp-v3 .hero-v3__dual {
  position: relative; z-index: 2;
  max-width: 1100px; margin: 0 auto; width: 100%;
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
  gap: 48px; align-items: center;
}
body.mp-v3 .hero-v3__left { min-width: 0; }
body.mp-v3 .hero-v3__right { min-width: 0; padding-left: 8px; }

/* Badge */
body.mp-v3 .hero-v3__badge {
  display: inline-flex; align-items: center; gap: 8px;
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 100px; padding: 6px 16px; margin-bottom: 28px;
}
body.mp-v3 .hero-v3__badge-dot {
  width: 8px; height: 8px; border-radius: 4px;
  background: var(--mp-accent); flex-shrink: 0;
}
body.mp-v3 .hero-v3__badge span {
  font-size: 12px; font-weight: 600;
  letter-spacing: 0.1em; text-transform: uppercase;
  color: var(--mp-muted-dark);
}

/* Title */
body.mp-v3 .hero-v3__title {
  font-family: var(--mp-font-head);
  font-weight: 800; font-size: 56px;
  line-height: 1.04; letter-spacing: -0.035em;
  color: var(--mp-on-dark); margin-bottom: 24px;
}
body.mp-v3 .hero-v3__title em { font-style: normal; color: var(--mp-accent); }

/* Sub */
body.mp-v3 .hero-v3__sub {
  font-size: 18px; line-height: 1.65;
  color: var(--mp-muted-dark);
  max-width: 480px; margin-bottom: 32px;
}

/* Tab switch */
body.mp-v3 .hero-v3__tabs {
  display: inline-flex; border-radius: 20px;
  border: 1px solid rgba(255,255,255,0.1);
  background: rgba(255,255,255,0.04);
  padding: 6px; margin-bottom: 28px;
}
body.mp-v3 .hero-v3__tab {
  border-radius: 16px; padding: 14px 28px;
  border: none; cursor: pointer;
  font-size: 16px; font-weight: 700;
  font-family: var(--mp-font-head);
  background: transparent; color: var(--mp-muted-dark);
  transition: all 0.25s;
  display: flex; align-items: center; gap: 8px;
}
body.mp-v3 .hero-v3__tab--fv.active {
  background: var(--mp-accent); color: #fff;
  box-shadow: 0 4px 16px rgba(232,145,58,0.3);
}
body.mp-v3 .hero-v3__tab--ht.active {
  background: var(--mp-heat); color: #fff;
  box-shadow: 0 4px 16px rgba(232,93,58,0.3);
}

/* Trust signals */
body.mp-v3 .hero-v3__trust {
  display: flex; flex-wrap: wrap; gap: 20px;
  font-size: 13px; color: var(--mp-muted-dark);
}
body.mp-v3 .hero-v3__trust--mobile { display: none; }
body.mp-v3 .hero-v3__trust-item {
  display: flex; align-items: center; gap: 6px;
}
body.mp-v3 .hero-v3__trust-dot {
  width: 7px; height: 7px; border-radius: 4px;
  background: var(--mp-verify); flex-shrink: 0;
}

/* ── Cards ── */
body.mp-v3 .hero-v3__card {
  width: 100%;
  border-radius: 24px; padding: 28px;
  background: rgba(255,255,255,0.97);
  color: var(--mp-text);
  box-shadow: 0 24px 64px rgba(0,0,0,0.25);
}
body.mp-v3 .hero-v3__card--fv {
  border: 1px solid rgba(232,145,58,0.15);
  box-shadow: 0 24px 64px rgba(0,0,0,0.25), 0 0 0 1px rgba(232,145,58,0.05) inset;
}
body.mp-v3 .hero-v3__card--ht {
  border: 1px solid rgba(232,93,58,0.15);
  box-shadow: 0 24px 64px rgba(0,0,0,0.25), 0 0 0 1px rgba(232,93,58,0.05) inset;
}

/* Card header */
body.mp-v3 .hero-v3__card-head {
  display: flex; align-items: flex-start;
  justify-content: space-between; margin-bottom: 16px;
}
body.mp-v3 .hero-v3__card-label {
  font-size: 11px; font-weight: 700;
  letter-spacing: 0.1em; text-transform: uppercase;
}
body.mp-v3 .hero-v3__card-label--fv { color: var(--mp-accent); }
body.mp-v3 .hero-v3__card-label--ht { color: var(--mp-heat); }
body.mp-v3 .hero-v3__card-title {
  font-family: var(--mp-font-head);
  font-weight: 800; font-size: 22px;
  color: var(--mp-dark); margin-top: 4px;
  letter-spacing: -0.02em;
}
body.mp-v3 .hero-v3__card-badge {
  border-radius: 8px; padding: 4px 10px;
  font-size: 11px; font-weight: 700;
  color: var(--mp-dark); white-space: nowrap;
}
body.mp-v3 .hero-v3__card-badge--fv { background: var(--mp-accent-soft); }
body.mp-v3 .hero-v3__card-badge--ht { background: rgba(232,93,58,0.08); }

/* Card content */
body.mp-v3 .hero-v3__card-desc {
  font-size: 14px; line-height: 1.65;
  color: var(--mp-muted); margin-bottom: 20px;
}
body.mp-v3 .hero-v3__card-box {
  border-radius: 16px;
  border: 1px solid var(--mp-border);
  background: var(--mp-surface);
  padding: 16px;
}
body.mp-v3 .hero-v3__card-field-label {
  display: block; font-size: 13px; font-weight: 700;
  color: var(--mp-dark); margin-bottom: 8px;
}
body.mp-v3 .hero-v3__card-input {
  width: 100%; height: 46px; border-radius: 10px;
  border: 1px solid var(--mp-border);
  background: #fff; padding: 0 14px;
  font-size: 14px; outline: none;
  font-family: var(--mp-font-body);
  color: var(--mp-text);
}
body.mp-v3 .hero-v3__card-input::placeholder { color: var(--mp-muted); opacity: 0.6; }

/* People buttons */
body.mp-v3 .hero-v3__ppl { display: flex; gap: 6px; margin-bottom: 14px; }
body.mp-v3 .hero-v3__ppl-btn {
  width: 40px; height: 40px; border-radius: 10px;
  border: 2px solid var(--mp-border);
  background: #fff; color: var(--mp-muted);
  font-size: 14px; font-weight: 700; cursor: pointer;
  font-family: var(--mp-font-body);
  transition: all 0.15s;
  display: flex; align-items: center; justify-content: center;
}
body.mp-v3 .hero-v3__ppl-btn:hover { border-color: var(--mp-accent); }
body.mp-v3 .hero-v3__ppl-btn.active {
  border-color: var(--mp-accent);
  background: var(--mp-accent); color: #fff;
}

/* Size buttons */
body.mp-v3 .hero-v3__size { display: flex; gap: 8px; margin-bottom: 14px; }
body.mp-v3 .hero-v3__size-btn {
  flex: 1; padding: 12px 14px; border-radius: 10px;
  border: 2px solid var(--mp-border);
  background: #fff; cursor: pointer; text-align: center;
  font-size: 14px; font-weight: 700; color: var(--mp-dark);
  font-family: var(--mp-font-body);
  transition: all 0.15s;
}
body.mp-v3 .hero-v3__size-btn:hover { border-color: var(--mp-heat); }
body.mp-v3 .hero-v3__size-btn.active {
  border-color: var(--mp-heat);
  background: rgba(232,93,58,0.08); color: var(--mp-heat);
}

/* Card buttons */
body.mp-v3 .hero-v3__card-btn {
  display: flex; align-items: center; justify-content: center; gap: 8px;
  width: 100%; height: 46px; border-radius: 10px;
  border: none; color: #fff;
  font-size: 14px; font-weight: 700;
  font-family: var(--mp-font-head);
  cursor: pointer; transition: all 0.2s;
  text-decoration: none;
}
body.mp-v3 .hero-v3__card-btn--fv {
  background: var(--mp-accent);
  box-shadow: 0 2px 8px rgba(232,145,58,0.2);
}
body.mp-v3 .hero-v3__card-btn--fv:hover {
  background: var(--mp-accent-hover); transform: translateY(-1px);
}
body.mp-v3 .hero-v3__card-btn--ht {
  background: var(--mp-heat);
  box-shadow: 0 2px 8px rgba(232,93,58,0.2);
}
body.mp-v3 .hero-v3__card-btn--ht:hover {
  background: #D4502E; transform: translateY(-1px);
}
body.mp-v3 .hero-v3__card-btn--cta {
  height: auto; padding: 16px 24px;
  border-radius: 12px; font-size: 16px;
  box-shadow: 0 4px 20px rgba(232,145,58,0.25);
}
body.mp-v3 .hero-v3__card-btn--ht.hero-v3__card-btn--cta {
  box-shadow: 0 4px 20px rgba(232,93,58,0.25);
}

/* Card notes */
body.mp-v3 .hero-v3__card-notes {
  margin-top: 10px; font-size: 12px;
  color: var(--mp-muted); text-align: center;
}

/* Loading */
body.mp-v3 .hero-v3__card-loading { text-align: center; padding: 48px 0; }
body.mp-v3 .hero-v3__spinner {
  width: 40px; height: 40px;
  border: 3px solid var(--mp-border);
  border-radius: 50%; margin: 0 auto 16px;
  animation: mp-spin 0.8s linear infinite;
}
body.mp-v3 .hero-v3__spinner--fv { border-top-color: var(--mp-accent); }
body.mp-v3 .hero-v3__spinner--ht { border-top-color: var(--mp-heat); }
@keyframes mp-spin { to { transform: rotate(360deg); } }
body.mp-v3 .hero-v3__loading-text { font-size: 15px; color: var(--mp-muted); font-weight: 500; }
body.mp-v3 .hero-v3__loading-sub { font-size: 13px; color: var(--mp-muted); margin-top: 4px; opacity: 0.6; }

/* Results */
body.mp-v3 .hero-v3__result-addr {
  display: flex; align-items: center; justify-content: space-between;
  padding: 10px 14px; background: var(--mp-surface);
  border-radius: 10px; margin-bottom: 16px;
}
body.mp-v3 .hero-v3__result-addr-text {
  display: flex; align-items: center; gap: 8px;
  font-size: 13px; color: var(--mp-muted);
  overflow: hidden; flex: 1; min-width: 0;
}
body.mp-v3 .hero-v3__result-addr-text span {
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
body.mp-v3 .hero-v3__result-edit {
  background: none; border: none;
  font-size: 13px; font-weight: 600; cursor: pointer;
  font-family: var(--mp-font-body);
  flex-shrink: 0; margin-left: 8px;
}
body.mp-v3 .hero-v3__result-edit--fv { color: var(--mp-accent); }
body.mp-v3 .hero-v3__result-edit--ht { color: var(--mp-heat); }

body.mp-v3 .hero-v3__result-main { text-align: center; margin-bottom: 20px; }
body.mp-v3 .hero-v3__result-label { font-size: 13px; font-weight: 600; color: var(--mp-muted); margin-bottom: 4px; }
body.mp-v3 .hero-v3__result-num {
  font-family: var(--mp-font-head);
  font-weight: 800; font-size: 42px;
  letter-spacing: -0.03em; line-height: 1;
}
body.mp-v3 .hero-v3__result-num--fv { color: var(--mp-accent); }
body.mp-v3 .hero-v3__result-num--ht { color: var(--mp-heat); }
body.mp-v3 .hero-v3__result-unit { font-size: 20px; font-weight: 600; color: var(--mp-muted); }

body.mp-v3 .hero-v3__result-stats {
  display: grid; grid-template-columns: 1fr 1fr 1fr;
  gap: 8px; margin-bottom: 20px;
}
body.mp-v3 .hero-v3__result-stat {
  text-align: center; padding: 12px 8px;
  background: var(--mp-surface); border-radius: 10px;
}
body.mp-v3 .hero-v3__result-stat-label {
  font-size: 10px; font-weight: 700;
  text-transform: uppercase; letter-spacing: 0.08em;
  color: var(--mp-muted); margin-bottom: 3px;
}
body.mp-v3 .hero-v3__result-stat-val {
  font-family: var(--mp-font-head);
  font-weight: 800; font-size: 17px;
  color: var(--mp-dark); letter-spacing: -0.02em;
}
body.mp-v3 .hero-v3__result-stat-val--green { color: var(--mp-verify); }
body.mp-v3 .hero-v3__result-stat-val--muted { color: var(--mp-muted); }
body.mp-v3 .hero-v3__result-note {
  font-size: 12px; line-height: 1.6;
  color: var(--mp-muted); margin-bottom: 20px;
  text-align: center;
}


/* ============================================================
   SECTIONS v3
   ============================================================ */
body.mp-v3 .s3 {
  padding: 120px 40px;
}
body.mp-v3 .s3--surface { background: var(--mp-surface); }
body.mp-v3 .s3--white { background: #fff; }
body.mp-v3 .s3--alt { background: var(--mp-surface-alt); }
body.mp-v3 .s3--dark {
  background: var(--mp-dark);
  position: relative; overflow: hidden;
}
body.mp-v3 .s3--dark-grad {
  background: linear-gradient(170deg, var(--mp-dark) 0%, var(--mp-dark-deep) 100%);
  position: relative; overflow: hidden;
}
body.mp-v3 .s3__inner { max-width: 1000px; margin: 0 auto; }
body.mp-v3 .s3__inner--narrow { max-width: 760px; margin: 0 auto; }

/* Labels */
body.mp-v3 .s3__label {
  font-size: 12px; font-weight: 700;
  letter-spacing: 0.1em; text-transform: uppercase;
  color: var(--mp-accent);
  margin-bottom: 14px;
}
body.mp-v3 .s3__label--verify { color: var(--mp-verify); }
body.mp-v3 .s3__label--center { text-align: center; }
body.mp-v3 .s3__label--verify { color: var(--mp-verify); }

/* Section titles */
body.mp-v3 .s3__title {
  font-family: var(--mp-font-head);
  font-weight: 800; font-size: 40px;
  line-height: 1.1; letter-spacing: -0.02em;
  margin-bottom: 16px;
}
body.mp-v3 .s3__title--center { text-align: center; }
body.mp-v3 .s3__title--sm { font-size: 26px; line-height: 1.2; }
body.mp-v3 .s3__title--dark { color: var(--mp-on-dark); }
body.mp-v3 .s3__title em { font-style: normal; color: var(--mp-muted); }

/* Section subtitles */
body.mp-v3 .s3__sub {
  font-size: 17px; line-height: 1.65;
  color: var(--mp-muted);
  max-width: 580px;
}
body.mp-v3 .s3__sub--center { text-align: center; margin-left: auto; margin-right: auto; }
body.mp-v3 .s3__sub--dark { color: var(--mp-muted-dark); }

/* ============================================================
   CARDS v3
   ============================================================ */
body.mp-v3 .card3 {
  background: #fff;
  border: 1px solid var(--mp-border);
  border-radius: var(--mp-radius-lg);
  padding: 36px 32px;
  transition: transform 0.3s, box-shadow 0.3s;
}
body.mp-v3 .card3:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 40px rgba(12, 45, 63, 0.08);
}
body.mp-v3 .card3--dark {
  background: var(--mp-dark);
  border: none;
  color: var(--mp-on-dark);
}
body.mp-v3 .card3__icon {
  width: 52px; height: 52px;
  border-radius: var(--mp-radius-md);
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 24px;
}
body.mp-v3 .card3__icon--accent { background: var(--mp-accent-soft); color: var(--mp-accent); }
body.mp-v3 .card3__icon--verify { background: var(--mp-verify-soft); color: var(--mp-verify); }
body.mp-v3 .card3__title {
  font-family: var(--mp-font-head);
  font-weight: 700; font-size: 20px;
  margin-bottom: 12px;
}
body.mp-v3 .card3__text {
  font-size: 15px; line-height: 1.7;
  color: var(--mp-muted);
}
body.mp-v3 .card3--dark .card3__text { color: var(--mp-muted-dark); }
body.mp-v3 .card3--trust {
  display: flex; gap: 16px; align-items: flex-start;
}
body.mp-v3 .card3--trust-icon {
  min-width: 48px; width: 48px; height: 48px;
  border-radius: var(--mp-radius-md);
  background: var(--mp-surface);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0; margin-bottom: 0;
}

/* Grid layouts */
body.mp-v3 .grid3-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
body.mp-v3 .grid3-3 { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 24px; }

/* ============================================================
   METODO v3 — steps
   ============================================================ */
body.mp-v3 .steps3 {
  display: grid; grid-template-columns: 1fr 1fr 1fr;
  gap: 20px; position: relative;
  margin-top: 40px;
}
body.mp-v3 .steps3__line {
  position: absolute; top: 28px;
  left: 16%; right: 16%;
  height: 2px;
  background: var(--mp-border);
}
body.mp-v3 .steps3__step { text-align: center; position: relative; z-index: 1; }
body.mp-v3 .steps3__num {
  width: 48px; height: 48px;
  border-radius: var(--mp-radius-md);
  background: var(--mp-surface);
  border: 2px solid var(--mp-border);
  display: flex; align-items: center; justify-content: center;
  margin: 0 auto 16px;
  font-family: var(--mp-font-head);
  font-weight: 800; font-size: 18px;
  color: var(--mp-accent);
}
body.mp-v3 .steps3__title {
  font-family: var(--mp-font-head);
  font-weight: 700; font-size: 16px;
  margin-bottom: 8px;
}
body.mp-v3 .steps3__text {
  font-size: 14px; line-height: 1.65;
  color: var(--mp-muted);
}

/* ============================================================
   ANALISI BOX v3
   ============================================================ */
body.mp-v3 .analisi3 {
  background: var(--mp-dark);
  border-radius: var(--mp-radius-lg);
  padding: 40px 36px;
  margin-top: 48px;
  position: relative; overflow: hidden;
}
body.mp-v3 .analisi3__gradient {
  position: absolute; top: 0; left: 0; right: 0; height: 3px;
  background: linear-gradient(90deg, var(--mp-accent), var(--mp-verify));
}
body.mp-v3 .analisi3__inner { display: flex; gap: 32px; }
body.mp-v3 .analisi3__icon {
  min-width: 56px; width: 56px; height: 56px;
  border-radius: 14px;
  background: var(--mp-accent-soft);
  display: flex; align-items: center; justify-content: center;
  color: var(--mp-accent);
}
body.mp-v3 .analisi3__header {
  display: flex; align-items: center; gap: 8px;
  margin-bottom: 8px;
}
body.mp-v3 .analisi3__label {
  font-size: 11px; font-weight: 700;
  letter-spacing: 0.06em; text-transform: uppercase;
  color: var(--mp-accent);
}
body.mp-v3 .analisi3__dot {
  width: 6px; height: 6px; border-radius: 50%;
  background: var(--mp-accent);
  animation: mp-pulse 2s infinite;
}
@keyframes mp-pulse { 0%,100%{opacity:1} 50%{opacity:0.4} }
body.mp-v3 .analisi3__title {
  font-family: var(--mp-font-head);
  font-weight: 700; font-size: 22px;
  color: var(--mp-on-dark);
  margin-bottom: 12px;
}
body.mp-v3 .analisi3__text {
  font-size: 15px; line-height: 1.7;
  color: var(--mp-muted-dark);
  margin-bottom: 20px;
}
body.mp-v3 .analisi3__checks {
  display: flex; flex-wrap: wrap; gap: 24px;
}
body.mp-v3 .analisi3__check {
  display: flex; align-items: center; gap: 6px;
  font-size: 14px; color: var(--mp-verify);
}
body.mp-v3 .analisi3__check svg { flex-shrink: 0; }

/* ============================================================
   CONFRONTO v3
   ============================================================ */
body.mp-v3 .confronto3 {
  display: grid; grid-template-columns: 1fr 48px 1fr;
  gap: 0; align-items: start;
  margin-top: 20px;
}
body.mp-v3 .confronto3__card {
  border-radius: var(--mp-radius-lg);
  padding: 36px 28px;
}
body.mp-v3 .confronto3__card--left {
  background: #fff; border: 1px solid var(--mp-border);
}
body.mp-v3 .confronto3__card--right {
  background: var(--mp-dark); color: var(--mp-on-dark);
}
body.mp-v3 .confronto3__header {
  font-size: 11px; font-weight: 700;
  letter-spacing: 0.06em; text-transform: uppercase;
  margin-bottom: 16px;
}
body.mp-v3 .confronto3__header--left { color: var(--mp-muted); }
body.mp-v3 .confronto3__header--right {
  color: var(--mp-verify);
  display: flex; align-items: center; gap: 8px;
}
body.mp-v3 .confronto3__badge {
  background: rgba(45, 184, 127, 0.13);
  color: var(--mp-verify);
  border-radius: 6px; padding: 3px 8px;
  font-size: 10px; font-weight: 700;
}
body.mp-v3 .confronto3__code {
  border-radius: 10px; padding: 20px;
  font-size: 13px; line-height: 2;
}
body.mp-v3 .confronto3__code--left {
  background: var(--mp-surface-alt);
  color: var(--mp-muted);
  font-family: monospace;
}
body.mp-v3 .confronto3__code--right {
  background: rgba(255,255,255,0.05);
  border-left: 3px solid var(--mp-accent);
  color: var(--mp-muted-dark);
  line-height: 2.4;
}
body.mp-v3 .confronto3__list { margin-top: 16px; }
body.mp-v3 .confronto3__item {
  display: flex; align-items: flex-start; gap: 8px;
  font-size: 13px; margin-bottom: 8px;
}
body.mp-v3 .confronto3__item--bad { color: var(--mp-danger); }
body.mp-v3 .confronto3__item--good { color: var(--mp-verify); }
body.mp-v3 .confronto3__item svg { flex-shrink: 0; margin-top: 2px; }

/* Arrow between */
body.mp-v3 .confronto3__arrow {
  display: flex; align-items: center; justify-content: center;
  align-self: center;
}
body.mp-v3 .confronto3__arrow-circle {
  width: 40px; height: 40px; border-radius: 50%;
  background: var(--mp-accent);
  box-shadow: 0 4px 16px rgba(232, 145, 58, 0.2);
  display: flex; align-items: center; justify-content: center;
  color: #fff;
  animation: mp-float 3s ease-in-out infinite;
}
@keyframes mp-float { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-6px)} }

/* ============================================================
   INSTALLATORI TEASER v3
   ============================================================ */
body.mp-v3 .inst3 {
  display: flex; align-items: center; gap: 40px;
  border-top: 1px solid var(--mp-border);
  border-bottom: 1px solid var(--mp-border);
}
body.mp-v3 .inst3__icon {
  min-width: 64px; width: 64px; height: 64px;
  border-radius: var(--mp-radius-lg);
  background: var(--mp-dark);
  display: flex; align-items: center; justify-content: center;
  color: var(--mp-accent);
}
body.mp-v3 .inst3__title {
  font-family: var(--mp-font-head);
  font-weight: 800; font-size: 26px;
  letter-spacing: -0.02em;
  margin-bottom: 10px;
}
body.mp-v3 .inst3__text {
  font-size: 16px; line-height: 1.7;
  color: var(--mp-muted);
}
body.mp-v3 .inst3__key {
  font-size: 16px; line-height: 1.7;
  color: var(--mp-text); font-weight: 600;
  margin-top: 6px;
}
body.mp-v3 .inst3__cta {
  display: inline-flex; align-items: center; gap: 8px;
  background: var(--mp-dark); color: var(--mp-on-dark);
  border: none; border-radius: 10px;
  padding: 14px 28px;
  font-family: var(--mp-font-head);
  font-size: 15px; font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
  transition: all 0.25s;
}
body.mp-v3 .inst3__cta:hover {
  background: var(--mp-dark-mid);
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(12, 45, 63, 0.2);
}

/* ============================================================
   FONDATORE v3
   ============================================================ */
body.mp-v3 .founder3 { display: flex; gap: 36px; align-items: flex-start; }
body.mp-v3 .founder3__avatar {
  min-width: 80px; width: 80px; height: 80px;
  border-radius: 18px;
  background: linear-gradient(135deg, var(--mp-dark), var(--mp-dark-mid));
  display: flex; align-items: center; justify-content: center;
  font-size: 28px; color: var(--mp-accent);
  font-family: var(--mp-font-head); font-weight: 800;
}
body.mp-v3 .founder3__label {
  font-size: 12px; font-weight: 700;
  letter-spacing: 0.1em; text-transform: uppercase;
  color: var(--mp-accent);
  margin-bottom: 14px;
}
body.mp-v3 .founder3__title {
  font-family: var(--mp-font-head);
  font-weight: 800; font-size: 28px;
  line-height: 1.2; letter-spacing: -0.02em;
  margin-bottom: 16px;
}
body.mp-v3 .founder3__text {
  font-size: 16px; line-height: 1.75;
  color: var(--mp-muted);
  margin-bottom: 4px;
}
body.mp-v3 .founder3__key {
  font-size: 17px; line-height: 1.75;
  color: var(--mp-text);
  font-weight: 500;
  margin-bottom: 16px;
}
body.mp-v3 .founder3__name {
  font-family: var(--mp-font-head);
  font-weight: 700; font-size: 15px;
  color: var(--mp-dark);
}
body.mp-v3 .founder3__role {
  font-size: 14px; color: var(--mp-muted);
  margin-top: 2px;
}

/* ============================================================
   CTA FINALE v3
   ============================================================ */
body.mp-v3 .cta3 { text-align: center; }
body.mp-v3 .cta3__orb {
  position: absolute; top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  width: 500px; height: 500px;
  background: radial-gradient(circle, rgba(232,145,58,0.04) 0%, transparent 70%);
  border-radius: 50%;
}
body.mp-v3 .cta3__inner {
  max-width: 580px; margin: 0 auto;
  position: relative; z-index: 2;
}
body.mp-v3 .cta3__title {
  font-family: var(--mp-font-head);
  font-weight: 800; font-size: 40px;
  line-height: 1.1; letter-spacing: -0.02em;
  color: var(--mp-on-dark);
  margin-bottom: 16px;
}
body.mp-v3 .cta3__title em { font-style: normal; color: var(--mp-accent); }
body.mp-v3 .cta3__sub {
  font-size: 17px; line-height: 1.6;
  color: var(--mp-muted-dark);
  max-width: 440px;
  margin: 0 auto 40px;
}
body.mp-v3 .cta3__btn {
  display: inline-flex; align-items: center; gap: 10px;
  background: var(--mp-accent); color: #fff;
  border: none; border-radius: var(--mp-radius-md);
  padding: 18px 48px;
  font-family: var(--mp-font-head);
  font-size: 17px; font-weight: 700;
  cursor: pointer;
  text-decoration: none;
  transition: all 0.25s;
}
body.mp-v3 .cta3__btn:hover {
  background: var(--mp-accent-hover);
  transform: translateY(-2px);
  box-shadow: 0 8px 32px rgba(232, 145, 58, 0.3);
}
body.mp-v3 .cta3__link {
  display: inline-flex; align-items: center; gap: 6px;
  color: var(--mp-muted-dark);
  text-decoration: none; font-size: 14px; font-weight: 500;
  margin-top: 14px;
  transition: color 0.2s;
}
body.mp-v3 .cta3__link:hover { color: var(--mp-on-dark); }
body.mp-v3 .cta3__badges {
  display: flex; justify-content: center; gap: 28px;
  margin-top: 40px;
}
body.mp-v3 .cta3__badge-item {
  display: flex; align-items: center; gap: 6px;
  font-size: 13px; color: var(--mp-muted-dark);
}
body.mp-v3 .cta3__badge-item svg { color: var(--mp-verify); }

/* ============================================================
   FOOTER v3
   ============================================================ */
body.mp-v3 .footer {
  background: var(--mp-dark) !important;
  border-top: 1px solid rgba(255,255,255,0.06);
  padding: 56px 40px 36px;
  color: var(--mp-muted-dark);
}
body.mp-v3 .footer__top {
  max-width: 1000px; margin: 0 auto;
  display: grid;
  grid-template-columns: 1.5fr 1fr 1fr 1fr;
  gap: 40px;
  margin-bottom: 40px;
  align-items: start;
}
body.mp-v3 .footer__col--brand .footer__logo { display: flex; align-items: center; gap: 8px; text-decoration: none; margin-bottom: 14px; }
body.mp-v3 .footer__tagline {
  font-size: 13px; line-height: 1.7;
  color: var(--mp-muted-dark);
  max-width: 260px;
}
body.mp-v3 .footer__col-title {
  font-family: var(--mp-font-head);
  font-weight: 700; font-size: 12px;
  text-transform: uppercase; letter-spacing: 0.08em;
  color: var(--mp-muted-dark);
  margin-bottom: 16px;
}
body.mp-v3 .footer__col a {
  display: block;
  font-size: 13px; color: rgba(250,250,248,0.45);
  text-decoration: none;
  margin-bottom: 10px;
  transition: color 0.2s;
}
body.mp-v3 .footer__col a:hover { color: var(--mp-on-dark); }
body.mp-v3 .footer__bottom {
  max-width: 1000px; margin: 0 auto;
  border-top: 1px solid rgba(255,255,255,0.06);
  padding-top: 20px;
  font-size: 12px; color: rgba(250,250,248,0.25);
}

/* ============================================================
   ELEMENTO FIRMA
   ============================================================ */
body.mp-v3 .firma3 {
  border-left: 3px solid var(--mp-accent);
  padding-left: 20px;
}
body.mp-v3 .firma3--verify { border-left-color: var(--mp-verify); }

/* ============================================================
   SUBPAGE HERO — shorter, narrower
   ============================================================ */
body.mp-v3 .hero-v3--page {
  min-height: auto;
  padding: 140px 40px 100px;
}
body.mp-v3 .hero-v3__inner--narrow {
  max-width: 760px; margin: 0 auto;
  position: relative; z-index: 2;
}
body.mp-v3 .hero-v3__title--page {
  font-size: 48px;
}

/* ============================================================
   INSTALLATORE PAGE — quote, steps, requirements, FAQ
   ============================================================ */

/* Quote block */
body.mp-v3 .inst-quote {
  border-left: 3px solid var(--mp-accent);
  padding-left: 20px;
}
body.mp-v3 .inst-quote__text {
  font-size: 17px; line-height: 1.75;
  color: var(--mp-text); font-weight: 500;
}

/* Vertical timeline steps */
body.mp-v3 .inst-steps {
  max-width: 700px; margin: 0 auto;
  display: flex; flex-direction: column;
}
body.mp-v3 .inst-steps__item {
  display: flex; gap: 28px;
  padding-bottom: 48px;
  position: relative;
}
body.mp-v3 .inst-steps__item--last { padding-bottom: 0; }
body.mp-v3 .inst-steps__line {
  position: absolute; left: 23px; top: 52px; bottom: 0;
  width: 2px; background: var(--mp-border);
}
body.mp-v3 .inst-steps__item--last .inst-steps__line { display: none; }
body.mp-v3 .inst-steps__num {
  min-width: 48px; width: 48px; height: 48px;
  border-radius: 12px; background: var(--mp-dark);
  color: var(--mp-accent);
  display: flex; align-items: center; justify-content: center;
  font-family: var(--mp-font-head); font-weight: 800; font-size: 18px;
  position: relative; z-index: 1; flex-shrink: 0;
}
body.mp-v3 .inst-steps__content { padding-top: 4px; }
body.mp-v3 .inst-steps__title {
  font-family: var(--mp-font-head);
  font-weight: 700; font-size: 20px;
  margin-bottom: 10px;
}
body.mp-v3 .inst-steps__text {
  font-size: 15px; line-height: 1.7;
  color: var(--mp-muted); margin-bottom: 10px;
}
body.mp-v3 .inst-steps__note {
  font-size: 13px; font-weight: 600;
  color: var(--mp-accent);
}

/* Requirements list */
body.mp-v3 .inst-req-list {
  display: flex; flex-direction: column; gap: 12px;
}
body.mp-v3 .inst-req-item {
  display: flex; align-items: flex-start; gap: 8px;
  font-size: 14px; color: var(--mp-text);
}
body.mp-v3 .inst-req-item svg { flex-shrink: 0; margin-top: 2px; }

/* FAQ accordion */
body.mp-v3 .inst-faq__item {
  border-bottom: 1px solid var(--mp-border);
}
body.mp-v3 .inst-faq__q {
  width: 100%; display: flex; align-items: center;
  justify-content: space-between;
  padding: 20px 0; border: none; background: transparent;
  cursor: pointer; text-align: left;
  font-family: var(--mp-font-head);
  font-weight: 600; font-size: 16px; color: var(--mp-text);
}
body.mp-v3 .inst-faq__chev {
  color: var(--mp-muted); margin-left: 16px; flex-shrink: 0;
  transition: transform 0.3s;
}
body.mp-v3 .inst-faq__item.open .inst-faq__chev {
  transform: rotate(180deg);
}
body.mp-v3 .inst-faq__a {
  max-height: 0; overflow: hidden;
  transition: max-height 0.4s cubic-bezier(0.16,1,0.3,1);
}
body.mp-v3 .inst-faq__item.open .inst-faq__a {
  max-height: 300px;
}
body.mp-v3 .inst-faq__a p {
  font-size: 15px; color: var(--mp-muted);
  line-height: 1.7; padding-bottom: 20px;
}

/* ============================================================
   COME FUNZIONA PAGE — timeline, scheda, analysis
   ============================================================ */

/* Timeline */
body.mp-v3 .cf-timeline { display: flex; flex-direction: column; }
body.mp-v3 .cf-timeline__item {
  display: flex; gap: 28px;
  margin-bottom: 48px; position: relative;
}
body.mp-v3 .cf-timeline__item--last { margin-bottom: 0; }
body.mp-v3 .cf-timeline__line {
  position: absolute; left: 23px; top: 56px; bottom: -8px;
  width: 2px; background: var(--mp-border);
}
body.mp-v3 .cf-timeline__line--gradient {
  background: linear-gradient(var(--mp-accent), var(--mp-verify));
}
body.mp-v3 .cf-timeline__item--last .cf-timeline__line { display: none; }
body.mp-v3 .cf-timeline__num {
  min-width: 48px; width: 48px; height: 48px; border-radius: 12px;
  background: var(--mp-surface);
  border: 2px solid var(--mp-border);
  color: var(--mp-accent);
  display: flex; align-items: center; justify-content: center;
  font-family: var(--mp-font-head); font-weight: 800; font-size: 18px;
  position: relative; z-index: 1; flex-shrink: 0;
}
body.mp-v3 .cf-timeline__num--highlight {
  background: var(--mp-dark); border: none;
  font-size: 20px; border-radius: 14px;
  box-shadow: 0 4px 16px rgba(12,45,63,0.15);
  color: var(--mp-verify);
}
body.mp-v3 .cf-timeline__card {
  flex: 1; background: #fff;
  border: 1px solid var(--mp-border);
  border-radius: 16px; padding: 28px;
  position: relative; overflow: hidden;
}
body.mp-v3 .cf-timeline__card--dark {
  background: var(--mp-dark); border: none;
  color: var(--mp-on-dark);
}
body.mp-v3 .cf-timeline__gradient-bar {
  position: absolute; top: 0; left: 0; right: 0; height: 3px;
  background: linear-gradient(90deg, var(--mp-accent), var(--mp-verify));
}
body.mp-v3 .cf-timeline__head {
  display: flex; align-items: center; gap: 10px; margin-bottom: 16px;
}
body.mp-v3 .cf-timeline__icon {
  width: 40px; height: 40px; border-radius: 10px;
  display: flex; align-items: center; justify-content: center;
}
body.mp-v3 .cf-timeline__icon--accent { background: var(--mp-accent-soft); color: var(--mp-accent); }
body.mp-v3 .cf-timeline__title {
  font-family: var(--mp-font-head); font-weight: 700; font-size: 20px;
}
body.mp-v3 .cf-timeline__dot {
  width: 6px; height: 6px; border-radius: 3px;
  background: var(--mp-accent); animation: mp-pulse 2s infinite;
  margin-left: 4px;
}
body.mp-v3 .cf-timeline__text {
  font-size: 15px; line-height: 1.7;
  color: var(--mp-muted); margin-bottom: 16px;
}
body.mp-v3 .cf-timeline__card--dark .cf-timeline__text { color: var(--mp-muted-dark); }
body.mp-v3 .cf-timeline__dual {
  display: grid; grid-template-columns: 1fr 1fr; gap: 12px;
}
body.mp-v3 .cf-timeline__dual-box {
  background: var(--mp-surface-alt); border-radius: 10px; padding: 14px 16px;
}
body.mp-v3 .cf-timeline__dual-box--dark {
  background: rgba(255,255,255,0.04);
}
body.mp-v3 .cf-timeline__dual-box p {
  font-size: 13px; line-height: 1.6; color: var(--mp-muted); margin: 0;
}
body.mp-v3 .cf-timeline__dual-box--dark p { color: var(--mp-muted-dark); }
body.mp-v3 .cf-timeline__dual-label {
  font-size: 11px; font-weight: 700; text-transform: uppercase;
  letter-spacing: 0.08em; margin-bottom: 6px;
}
body.mp-v3 .cf-timeline__dual-label--accent { color: var(--mp-accent); }
body.mp-v3 .cf-timeline__dual-label--verify { color: var(--mp-verify); }

/* Scheda tecnica (dark section) */
body.mp-v3 .cf-scheda {
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 16px; padding: 32px 28px;
}
body.mp-v3 .cf-scheda__head {
  display: flex; align-items: center; justify-content: space-between;
  margin-bottom: 20px;
}
body.mp-v3 .cf-scheda__tag {
  font-size: 11px; font-weight: 700; letter-spacing: 0.08em;
  text-transform: uppercase; color: var(--mp-verify);
}
body.mp-v3 .cf-scheda__badge {
  background: rgba(45,184,127,0.13); color: var(--mp-verify);
  border-radius: 6px; padding: 3px 8px;
  font-size: 10px; font-weight: 700;
}
body.mp-v3 .cf-scheda__body {
  background: rgba(255,255,255,0.04); border-radius: 10px;
  border-left: 3px solid var(--mp-accent); padding: 20px;
  font-size: 14px; line-height: 2.6;
}
body.mp-v3 .cf-scheda__row {
  display: flex; justify-content: space-between;
  border-bottom: 1px solid rgba(255,255,255,0.04);
  padding-bottom: 4px;
}
body.mp-v3 .cf-scheda__row span:first-child { color: var(--mp-muted-dark); }
body.mp-v3 .cf-scheda__row span:last-child { font-weight: 600; color: var(--mp-on-dark); text-align: right; }
body.mp-v3 .cf-scheda__row--score { border-bottom: none; padding-top: 8px; }
body.mp-v3 .cf-scheda__row--score span:last-child { font-weight: 700; color: var(--mp-verify); font-size: 16px; }

/* Analysis explanation cards */
body.mp-v3 .cf-analysis-list { display: flex; flex-direction: column; gap: 20px; }
body.mp-v3 .cf-analysis-item {
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.06);
  border-radius: 12px; padding: 20px;
}
body.mp-v3 .cf-analysis-item h3 {
  font-family: var(--mp-font-head); font-weight: 700; font-size: 16px;
  color: var(--mp-on-dark); margin-bottom: 6px;
}
body.mp-v3 .cf-analysis-item p {
  font-size: 14px; color: var(--mp-muted-dark); line-height: 1.65; margin: 0;
}

/* Link with arrow */
body.mp-v3 .s3__link {
  color: var(--mp-dark); text-decoration: none;
  font-size: 15px; font-weight: 600;
  display: inline-flex; align-items: center; gap: 6px;
  border-bottom: 2px solid var(--mp-accent); padding-bottom: 2px;
}

/* Dark quality cards (qualita page) */
body.mp-v3 .qa-dark-card {
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.06);
  border-radius: 14px; padding: 24px 22px;
  display: flex; gap: 16px; align-items: flex-start;
}
body.mp-v3 .qa-dark-card__icon {
  min-width: 44px; width: 44px; height: 44px;
  border-radius: 10px; background: var(--mp-accent-soft);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
body.mp-v3 .qa-dark-card h3 {
  font-family: var(--mp-font-head); font-weight: 700; font-size: 16px;
  color: var(--mp-on-dark); margin-bottom: 6px;
}
body.mp-v3 .qa-dark-card p {
  font-size: 14px; color: var(--mp-muted-dark); line-height: 1.65; margin: 0;
}

/* ============================================================
   CHI SIAMO PAGE — story, contact form
   ============================================================ */

/* Founder story */
body.mp-v3 .chi-story { display: flex; gap: 40px; align-items: flex-start; }
body.mp-v3 .chi-story__avatar { min-width: 100px; display: flex; flex-direction: column; align-items: center; gap: 12px; }
body.mp-v3 .chi-story__avatar-img {
  width: 100px; height: 100px; border-radius: 22px;
  background: linear-gradient(135deg, var(--mp-dark), var(--mp-dark-mid));
  display: flex; align-items: center; justify-content: center;
  font-size: 36px; color: var(--mp-accent);
  font-family: var(--mp-font-head); font-weight: 800;
}
body.mp-v3 .chi-story__avatar-name {
  font-family: var(--mp-font-head); font-weight: 700; font-size: 15px;
  color: var(--mp-dark); text-align: center;
}
body.mp-v3 .chi-story__avatar-role {
  font-size: 12px; color: var(--mp-muted); text-align: center; margin-top: -8px;
}
body.mp-v3 .chi-story__text p {
  color: var(--mp-muted); font-size: 17px; line-height: 1.8; margin-bottom: 16px;
}
body.mp-v3 .chi-story__card {
  background: var(--mp-surface-alt); border-radius: 12px;
  padding: 20px 24px; display: inline-flex; flex-direction: column; gap: 4px;
}
body.mp-v3 .chi-story__card-name {
  font-family: var(--mp-font-head); font-weight: 700; font-size: 15px;
  color: var(--mp-dark);
}
body.mp-v3 .chi-story__card-role { font-size: 14px; color: var(--mp-muted); }
body.mp-v3 .chi-story__card-spec { font-size: 14px; color: var(--mp-accent); font-weight: 500; }

/* CTA + Contact form */
body.mp-v3 .chi-contact {
  display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: start;
}
body.mp-v3 .chi-contact__title {
  font-family: var(--mp-font-head); font-weight: 800; font-size: 36px;
  line-height: 1.15; letter-spacing: -0.02em;
  color: var(--mp-on-dark); margin-bottom: 16px;
}
body.mp-v3 .chi-contact__title em { color: var(--mp-accent); font-style: normal; }
body.mp-v3 .chi-contact__sub {
  color: var(--mp-muted-dark); font-size: 16px;
  line-height: 1.7; margin-bottom: 32px;
}
body.mp-v3 .chi-contact__form {
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 16px; padding: 32px 28px;
}
body.mp-v3 .chi-form-fields { display: flex; flex-direction: column; gap: 16px; }
body.mp-v3 .chi-form-group label {
  font-size: 12px; font-weight: 600; color: var(--mp-muted-dark);
  margin-bottom: 6px; display: block;
}
body.mp-v3 .chi-form-group input,
body.mp-v3 .chi-form-group textarea {
  width: 100%; background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 8px; padding: 12px 14px;
  color: var(--mp-on-dark); font-size: 14px;
  font-family: var(--mp-font-body); outline: none;
  transition: border-color 0.2s;
}
body.mp-v3 .chi-form-group input:focus,
body.mp-v3 .chi-form-group textarea:focus {
  border-color: rgba(255,255,255,0.3);
}
body.mp-v3 .chi-form-group textarea { resize: vertical; }
body.mp-v3 .chi-form-submit {
  background: var(--mp-accent); color: #fff; border: none;
  border-radius: 8px; padding: 14px 24px;
  font-size: 15px; font-weight: 700; cursor: pointer;
  font-family: var(--mp-font-head);
  display: flex; align-items: center; justify-content: center; gap: 8px;
  transition: background 0.2s;
}
body.mp-v3 .chi-form-submit:hover { background: var(--mp-accent-hover); }

/* ============================================================
   AUTH SPLIT-SCREEN LAYOUT
   ============================================================ */

body.mp-v3 .auth3-split {
  display: flex; min-height: 100vh;
  font-family: var(--mp-font-body);
}
body.mp-v3 .auth3-brand {
  flex: 0 0 45%;
  background: linear-gradient(170deg, var(--mp-dark) 0%, var(--mp-dark-mid) 50%, #0A3550 100%);
  padding: 60px 56px;
  display: flex; flex-direction: column; justify-content: center;
  position: relative; overflow: hidden;
}
body.mp-v3 .auth3-brand__grid {
  position: absolute; inset: 0; opacity: 0.025;
  background-image: linear-gradient(rgba(255,255,255,0.5) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,0.5) 1px,transparent 1px);
  background-size: 60px 60px;
}
body.mp-v3 .auth3-brand__orb {
  position: absolute; bottom: 10%; right: -10%;
  width: 400px; height: 400px;
  background: radial-gradient(circle, rgba(232,145,58,0.06) 0%, transparent 70%);
  border-radius: 50%; filter: blur(80px);
}
body.mp-v3 .auth3-brand__inner { position: relative; z-index: 2; }
body.mp-v3 .auth3-brand__logo {
  display: flex; align-items: center; gap: 8px;
  margin-bottom: 48px; text-decoration: none;
}
body.mp-v3 .auth3-brand__logo-icon {
  width: 32px; height: 32px; border-radius: 8px;
  background: linear-gradient(135deg, var(--mp-accent), #D4802E);
  display: flex; align-items: center; justify-content: center;
  color: #fff; font-family: var(--mp-font-head); font-weight: 800; font-size: 16px;
}
body.mp-v3 .auth3-brand__logo-text {
  font-family: var(--mp-font-head); font-weight: 700; font-size: 20px;
  color: var(--mp-on-dark); letter-spacing: -0.02em;
}
body.mp-v3 .auth3-brand__title {
  font-family: var(--mp-font-head); font-weight: 800; font-size: 36px;
  line-height: 1.12; letter-spacing: -0.03em;
  color: var(--mp-on-dark); margin-bottom: 20px;
}
body.mp-v3 .auth3-brand__title em { color: var(--mp-accent); font-style: normal; }
body.mp-v3 .auth3-brand__sub {
  color: var(--mp-muted-dark); font-size: 16px;
  line-height: 1.7; max-width: 360px; margin-bottom: 48px;
}
body.mp-v3 .auth3-brand__features { display: flex; flex-direction: column; gap: 20px; }
body.mp-v3 .auth3-brand__feat {
  display: flex; align-items: flex-start; gap: 12px;
}
body.mp-v3 .auth3-brand__feat-icon {
  min-width: 32px; width: 32px; height: 32px; border-radius: 8px;
  background: rgba(45,184,127,0.1);
  display: flex; align-items: center; justify-content: center; margin-top: 1px;
}
body.mp-v3 .auth3-brand__feat span:last-child {
  color: var(--mp-muted-dark); font-size: 14px; line-height: 1.6; padding-top: 4px;
}

/* Form side */
body.mp-v3 .auth3-form-side {
  flex: 1; display: flex; flex-direction: column;
  align-items: center; justify-content: center;
  padding: 60px 56px; background: var(--mp-surface); min-height: 100vh;
}
body.mp-v3 .auth3-form-wrap { width: 100%; max-width: 400px; }
body.mp-v3 .auth3-form-header { margin-bottom: 36px; }
body.mp-v3 .auth3-form-header h2 {
  font-family: var(--mp-font-head); font-weight: 800; font-size: 28px;
  letter-spacing: -0.02em; margin-bottom: 8px;
}
body.mp-v3 .auth3-form-header p { color: var(--mp-muted); font-size: 15px; line-height: 1.6; }
body.mp-v3 .auth3-fields { display: flex; flex-direction: column; gap: 20px; }
body.mp-v3 .auth3-group label {
  font-size: 13px; font-weight: 600; color: var(--mp-text);
  margin-bottom: 6px; display: block;
}
body.mp-v3 .auth3-group .auth3-label-row {
  display: flex; justify-content: space-between; margin-bottom: 6px;
}
body.mp-v3 .auth3-group .auth3-label-link {
  font-size: 12px; color: var(--mp-accent); text-decoration: none; font-weight: 600;
}
body.mp-v3 .auth3-input {
  width: 100%; padding: 14px 16px; font-size: 15px;
  border: 1.5px solid var(--mp-border); border-radius: 10px;
  background: #fff; font-family: var(--mp-font-body); outline: none;
  transition: border-color 0.2s;
}
body.mp-v3 .auth3-input:focus { border-color: var(--mp-accent); }
body.mp-v3 .auth3-pw-wrap { position: relative; }
body.mp-v3 .auth3-pw-wrap .auth3-input { padding-right: 48px; }
body.mp-v3 .auth3-pw-toggle {
  position: absolute; right: 12px; top: 50%; transform: translateY(-50%);
  background: none; border: none; cursor: pointer; color: var(--mp-muted); display: flex;
}
body.mp-v3 .auth3-submit {
  width: 100%; background: var(--mp-accent); color: #fff; border: none;
  border-radius: 10px; padding: 16px; font-size: 16px; font-weight: 700;
  cursor: pointer; font-family: var(--mp-font-head);
  display: flex; align-items: center; justify-content: center; gap: 8px;
  transition: all 0.25s; margin-top: 4px;
}
body.mp-v3 .auth3-submit:hover { background: var(--mp-accent-hover); transform: translateY(-1px); }
body.mp-v3 .auth3-footer {
  text-align: center; margin-top: 32px;
  font-size: 14px; color: var(--mp-muted);
}
body.mp-v3 .auth3-footer a { color: var(--mp-accent); text-decoration: none; font-weight: 600; }
body.mp-v3 .auth3-divider {
  border-top: 1px solid var(--mp-border); margin-top: 32px;
  padding-top: 24px; text-align: center;
}
body.mp-v3 .auth3-divider a {
  font-size: 13px; color: var(--mp-muted); text-decoration: none;
  display: inline-flex; align-items: center; gap: 6px;
}
body.mp-v3 .auth3-divider a span { color: var(--mp-accent); font-weight: 600; }

/* Auth form cards and grid */
body.mp-v3 .auth3-card {
  background: #fff; border: 1px solid var(--mp-border);
  border-radius: 14px; padding: 24px; margin-bottom: 16px;
}
body.mp-v3 .auth3-card__title {
  font-family: var(--mp-font-head); font-weight: 700; font-size: 16px;
  margin-bottom: 16px;
}
body.mp-v3 .auth3-grid-2 {
  display: grid; grid-template-columns: 1fr 1fr; gap: 14px;
}
body.mp-v3 .auth3-checkbox-card {
  display: flex; align-items: center; gap: 8px;
  padding: 12px 14px; border: 1.5px solid var(--mp-border);
  border-radius: 10px; cursor: pointer; font-size: 14px;
  transition: all 0.15s;
}
body.mp-v3 .auth3-checkbox-card:hover { border-color: var(--mp-accent); }
body.mp-v3 .auth3-checkbox-card input { width: 16px; height: 16px; accent-color: var(--mp-accent); }
body.mp-v3 .auth3-checkbox-card:has(input:checked) {
  border-color: var(--mp-accent); background: var(--mp-accent-soft);
}

/* Auth topbar (standalone pages like reg-installatore) */
body.mp-v3 .auth3-topbar {
  display: flex; align-items: center; justify-content: space-between;
  padding: 16px 32px; border-bottom: 1px solid var(--mp-border);
  background: var(--mp-surface);
}
body.mp-v3 .auth3-topbar__logo {
  display: flex; align-items: center; gap: 8px; text-decoration: none;
}
body.mp-v3 .auth3-topbar__back {
  font-size: 13px; color: var(--mp-muted); text-decoration: none; font-weight: 500;
}

/* Auth section cards */
body.mp-v3 .auth3-section-card {
  background: #fff; border: 1px solid var(--mp-border);
  border-radius: 14px; padding: 28px 24px; margin-bottom: 16px;
}
body.mp-v3 .auth3-section-title {
  font-family: var(--mp-font-head); font-weight: 700; font-size: 16px;
  margin: 0 0 16px; color: var(--mp-text);
}

/* Auth privacy label */
body.mp-v3 .auth3-privacy-label {
  display: flex; align-items: flex-start; gap: 10px;
  cursor: pointer; font-size: 13px; color: var(--mp-muted); line-height: 1.5;
}
body.mp-v3 .auth3-privacy-label input {
  margin-top: 3px; width: 18px; height: 18px; flex-shrink: 0;
  accent-color: var(--mp-accent);
}
body.mp-v3 .auth3-privacy-label a { color: var(--mp-accent); }

/* Auth message states */
body.mp-v3 .auth3-msg {
  padding: 12px 16px; border-radius: 10px;
  font-size: 14px; line-height: 1.5; margin-bottom: 16px;
}
body.mp-v3 .auth3-msg--error {
  background: rgba(192,57,43,0.08); color: #c0392b;
  border: 1px solid rgba(192,57,43,0.15);
}
body.mp-v3 .auth3-msg--success {
  background: rgba(45,184,127,0.1); color: #166534;
  border: 1px solid rgba(45,184,127,0.2);
}

/* Legal pages — wrap */
body.mp-v3 .legal3-wrap {
  max-width: 720px; margin: 0 auto;
}

/* Installatore public profile — v3 overrides */

/* Fix: gq-toast visible when empty (translateX(120%) not enough for small element) */
body.mp-v3 .gq-toast { opacity: 0; transition: transform .4s cubic-bezier(.4,0,.2,1), opacity .3s; }
body.mp-v3 .gq-toast.show { opacity: 1; }

body.mp-v3 .inst-hero {
  background: linear-gradient(170deg, var(--mp-dark) 0%, var(--mp-dark-mid) 50%, #0A3550 100%);
  padding: 120px 40px 80px;
}
body.mp-v3 .inst-hero__content { max-width: 800px; margin: 0 auto; }
body.mp-v3 .inst-hero__avatar {
  background: linear-gradient(135deg, var(--mp-accent), #D4802E);
  font-family: var(--mp-font-head);
}
body.mp-v3 .inst-hero__badge {
  background: rgba(45,184,127,0.12); color: var(--mp-verify);
  border-radius: 100px; font-size: 13px; font-weight: 600;
}
body.mp-v3 .inst-hero__title {
  font-family: var(--mp-font-head); color: var(--mp-on-dark);
}
body.mp-v3 .inst-cta-card {
  background: var(--mp-dark); border: 1px solid rgba(255,255,255,0.08);
  border-radius: 16px;
}
body.mp-v3 .inst-cta-card__btn {
  background: var(--mp-accent); border-radius: 10px;
  font-family: var(--mp-font-head); font-weight: 700;
}
body.mp-v3 .inst-cta-card__btn:hover { background: var(--mp-accent-hover); }
body.mp-v3 .detail-card {
  border: 1px solid var(--mp-border); border-radius: 14px;
}

/* Legal pages */
body.mp-v3 .legal3-header {
  padding: 120px 40px 60px; text-align: center;
  background: var(--mp-surface-alt);
}
body.mp-v3 .legal3-header__tag {
  display: inline-block; font-size: 11px; font-weight: 700;
  letter-spacing: 0.1em; text-transform: uppercase;
  color: var(--mp-accent); margin-bottom: 12px;
}
body.mp-v3 .legal3-header h1 {
  font-family: var(--mp-font-head); font-weight: 800; font-size: 32px;
  letter-spacing: -0.02em; margin-bottom: 8px;
}
body.mp-v3 .legal3-header p {
  color: var(--mp-muted); font-size: 14px;
}
body.mp-v3 .legal3-body {
  max-width: 720px; margin: 0 auto; padding: 56px 24px 80px;
}
body.mp-v3 .legal3-body p {
  font-size: 15px; line-height: 1.8; color: var(--mp-muted);
  margin-bottom: 16px;
}
body.mp-v3 .legal3-body h2 {
  font-family: var(--mp-font-head); font-weight: 700; font-size: 20px;
  margin: 36px 0 12px; color: var(--mp-text);
}
body.mp-v3 .legal3-body ul {
  margin: 0 0 16px 20px; color: var(--mp-muted);
  font-size: 15px; line-height: 1.8;
}
body.mp-v3 .legal3-body a { color: var(--mp-accent); }
body.mp-v3 .legal3-body strong { color: var(--mp-text); }

/* Error + success states */
body.mp-v3 .auth3-errors { margin-bottom: 24px; }
body.mp-v3 .auth3-error {
  background: rgba(192,57,43,0.08); border: 1px solid rgba(192,57,43,0.15);
  border-radius: 10px; padding: 12px 16px;
  font-size: 14px; color: #c0392b; line-height: 1.5; margin-bottom: 8px;
}
body.mp-v3 .auth3-success {
  text-align: center; padding: 20px 0;
}
body.mp-v3 .auth3-success__icon { font-size: 48px; margin-bottom: 16px; }
body.mp-v3 .auth3-success h3 {
  font-family: var(--mp-font-head); font-weight: 700; font-size: 22px;
  margin-bottom: 8px;
}
body.mp-v3 .auth3-success p { color: var(--mp-muted); font-size: 15px; line-height: 1.6; margin-bottom: 24px; }
body.mp-v3 .auth3-success .auth3-submit { display: inline-flex; width: auto; padding: 14px 32px; }

/* Mobile header */
body.mp-v3 .auth3-mobile-header {
  display: none;
}

@media (max-width: 768px) {
  body.mp-v3 .auth3-brand { display: none; }
  body.mp-v3 .auth3-form-side { padding: 0; min-height: auto; }
  body.mp-v3 .auth3-form-wrap { padding: 40px 24px; }
  body.mp-v3 .auth3-form-header h2 { font-size: 26px; }
  body.mp-v3 .auth3-mobile-header {
    display: flex; width: 100%; padding: 16px 20px;
    align-items: center; justify-content: space-between;
    border-bottom: 1px solid var(--mp-border);
    background: var(--mp-surface);
  }
  body.mp-v3 .auth3-mobile-header__logo {
    display: flex; align-items: center; gap: 8px; text-decoration: none;
  }
  body.mp-v3 .auth3-mobile-header__back {
    font-size: 13px; color: var(--mp-muted); text-decoration: none; font-weight: 500;
  }
  body.mp-v3 .auth3-grid-2 { grid-template-columns: 1fr; }
  body.mp-v3 .auth3-topbar { padding: 14px 20px; }
  body.mp-v3 .auth3-section-card { padding: 20px 16px; }
  body.mp-v3 .legal3-header { padding: 100px 24px 40px; }
  body.mp-v3 .legal3-header h1 { font-size: 26px; }
  body.mp-v3 .inst-hero { padding: 100px 20px 60px; }
}

/* ============================================================
   PRIVATE AREAS — inst-* v3 overrides
   Sidebar, buttons, badges, cards, forms for body.mp-v3
   ============================================================ */

/* Sidebar */
body.mp-v3 .inst-sidebar {
  background: var(--mp-dark);
  font-family: var(--mp-font-body);
}
body.mp-v3 .inst-sidebar__logo {
  font-family: var(--mp-font-head); font-weight: 700;
  letter-spacing: -0.02em; color: var(--mp-on-dark);
}
body.mp-v3 .inst-sidebar__logo span { color: var(--mp-accent); }
body.mp-v3 .inst-sidebar__company { color: var(--mp-on-dark); }
body.mp-v3 .inst-sidebar__link.active::before { background: var(--mp-accent); }
body.mp-v3 .inst-sidebar__badge {
  background: var(--mp-accent); color: #fff;
}

/* Layout */
body.mp-v3 .inst-layout { font-family: var(--mp-font-body); }
body.mp-v3 .inst-topbar__title {
  font-family: var(--mp-font-head); font-weight: 700;
  letter-spacing: -0.02em; color: var(--mp-dark);
}

/* Buttons */
body.mp-v3 .inst-btn--teal {
  background: var(--mp-accent); color: #fff;
}
body.mp-v3 .inst-btn--teal:hover {
  background: var(--mp-accent-hover);
  box-shadow: 0 4px 12px rgba(232,145,58,0.25);
}

/* Cards */
body.mp-v3 .inst-card {
  border: 1px solid var(--mp-border); border-radius: var(--mp-radius-lg);
}
body.mp-v3 .inst-card__title {
  font-family: var(--mp-font-head); font-weight: 700;
  color: var(--mp-dark);
}

/* KPI */
body.mp-v3 .inst-kpi {
  border: 1px solid var(--mp-border); border-radius: var(--mp-radius-md);
}
body.mp-v3 .inst-kpi__value {
  font-family: var(--mp-font-head); font-weight: 800;
  color: var(--mp-dark);
}

/* Alerts */
body.mp-v3 .inst-alert--green {
  background: var(--mp-verify-soft); color: #166534;
  border-color: rgba(45,184,127,0.2);
}
body.mp-v3 .inst-alert--teal {
  background: var(--mp-accent-soft); color: var(--mp-accent-hover);
  border-color: rgba(232,145,58,0.2);
}

/* Badges — keep existing colors for status, override for accent */
body.mp-v3 .inst-badge--green { background: var(--mp-verify-soft); color: #166534; }

/* Forms */
body.mp-v3 .inst-form-label {
  font-weight: 600; color: var(--mp-text); font-size: 13px;
}
body.mp-v3 .inst-form-input:focus {
  border-color: var(--mp-accent);
  box-shadow: 0 0 0 3px var(--mp-accent-soft);
}

/* ============================================================
   REVEAL ANIMATION
   ============================================================ */
body.mp-v3 .reveal3 {
  opacity: 0; transform: translateY(30px);
  transition: opacity 0.7s cubic-bezier(0.16,1,0.3,1),
              transform 0.7s cubic-bezier(0.16,1,0.3,1);
}
body.mp-v3 .reveal3.visible {
  opacity: 1; transform: translateY(0);
}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 768px) {
  body.mp-v3 .nav-wrapper { left: 12px; right: 12px; top: 8px; }
  body.mp-v3 .nav-wrapper .nav { padding: 0 16px; border-radius: 12px; height: 50px; }
  body.mp-v3 .nav__links { display: none; }
  body.mp-v3 .nav__link-inst { display: none; }
  body.mp-v3 .nav__sep { display: none; }

  body.mp-v3 .hero-v3 { padding: 80px 16px 40px; min-height: auto; display: block; }
  body.mp-v3 .hero-v3__dual {
    display: flex; flex-direction: column; gap: 24px;
    grid-template-columns: none;
  }
  body.mp-v3 .hero-v3__left { text-align: center; }
  body.mp-v3 .hero-v3__right { padding-left: 0; }
  body.mp-v3 .hero-v3__badge { margin-bottom: 16px; padding: 5px 12px; }
  body.mp-v3 .hero-v3__badge-dot { width: 6px; height: 6px; }
  body.mp-v3 .hero-v3__badge span { font-size: 10px; letter-spacing: 0.08em; }
  body.mp-v3 .hero-v3__title { font-size: 32px; margin-bottom: 10px; }
  body.mp-v3 .hero-v3__sub { font-size: 14px; margin-bottom: 20px; max-width: none; }
  body.mp-v3 .hero-v3__tabs { display: flex; width: 100%; margin-bottom: 16px; }
  body.mp-v3 .hero-v3__tab { flex: 1; padding: 12px 16px; font-size: 15px; justify-content: center; }
  body.mp-v3 .hero-v3__trust--desktop { display: none; }
  body.mp-v3 .hero-v3__trust--mobile { display: flex; justify-content: center; flex-wrap: wrap; gap: 14px; font-size: 12px; padding-top: 8px; }
  body.mp-v3 .hero-v3__card { border-radius: 20px; padding: 20px; }
  body.mp-v3 .hero-v3__card-title { font-size: 20px; }
  body.mp-v3 .hero-v3__card-badge { display: none; }
  body.mp-v3 .hero-v3__card-desc { font-size: 13px; margin-bottom: 16px; }
  body.mp-v3 .hero-v3__card-box { border-radius: 14px; padding: 14px; }
  body.mp-v3 .hero-v3__ppl-btn { width: 38px; height: 38px; font-size: 13px; }
  body.mp-v3 .hero-v3__size-btn { font-size: 13px; padding: 10px 8px; }
  body.mp-v3 .hero-v3__card-notes { font-size: 11px; }
  body.mp-v3 .hero-v3__card-loading { padding: 36px 0; }
  body.mp-v3 .hero-v3__result-num { font-size: 36px; }
  body.mp-v3 .hero-v3__result-unit { font-size: 16px; }
  body.mp-v3 .hero-v3__result-stats { gap: 6px; }
  body.mp-v3 .hero-v3__result-stat { padding: 10px 6px; }
  body.mp-v3 .hero-v3__result-stat-label { font-size: 9px; }
  body.mp-v3 .hero-v3__result-stat-val { font-size: 15px; }
  body.mp-v3 .hero-v3__result-note { font-size: 11px; }
  body.mp-v3 .hero-v3__card-btn--cta { padding: 14px 20px; font-size: 15px; }

  /* Mobile installer strip — fixed bottom bar */
  body.mp-v3 .nav-inst-strip {
    display: block; position: fixed; bottom: 0; left: 0; right: 0;
    z-index: 19;
    background: var(--mp-dark-mid);
    border-top: 1px solid rgba(255,255,255,0.08);
    padding: 10px 16px;
    text-align: center;
  }
  body.mp-v3 .nav-inst-strip__link {
    color: var(--mp-muted-dark); font-size: 13px;
    text-decoration: none; font-weight: 500;
  }
  body.mp-v3 .nav-inst-strip__cta {
    color: var(--mp-accent); font-weight: 700;
    margin-left: 4px;
  }
  body.mp-v3 .footer { padding-bottom: 60px; }

  body.mp-v3 .s3 { padding: 80px 20px; }
  body.mp-v3 .s3__title { font-size: 28px; }

  body.mp-v3 .grid3-2,
  body.mp-v3 .grid3-3,
  body.mp-v3 .steps3 { grid-template-columns: 1fr; }
  body.mp-v3 .steps3__line { display: none; }

  body.mp-v3 .card3--trust { flex-direction: column; gap: 12px; }
  body.mp-v3 .card3--trust-icon { min-width: 42px; width: 42px; height: 42px; }

  body.mp-v3 .analisi3 { padding: 28px 20px; margin-top: 32px; }
  body.mp-v3 .analisi3__inner { flex-direction: column; gap: 16px; }
  body.mp-v3 .analisi3__icon { min-width: 44px; width: 44px; height: 44px; }
  body.mp-v3 .analisi3__title { font-size: 20px; }
  body.mp-v3 .analisi3__text { font-size: 14px; }
  body.mp-v3 .analisi3__checks { gap: 14px; }
  body.mp-v3 .analisi3__check { font-size: 13px; }

  body.mp-v3 .inst3 { flex-direction: column; text-align: center; }

  body.mp-v3 .hero-v3--page { padding: 100px 20px 60px; }
  body.mp-v3 .hero-v3__title--page { font-size: 32px; }
  body.mp-v3 .inst-steps__item { gap: 16px; padding-bottom: 32px; }
  body.mp-v3 .inst-steps__line { left: 19px; }
  body.mp-v3 .inst-steps__num { min-width: 40px; width: 40px; height: 40px; font-size: 16px; }
  body.mp-v3 .inst-steps__title { font-size: 18px; }
  body.mp-v3 .inst-faq__q { font-size: 15px; }

  body.mp-v3 .cf-timeline__item { gap: 16px; margin-bottom: 32px; }
  body.mp-v3 .cf-timeline__line { left: 19px; }
  body.mp-v3 .cf-timeline__num { min-width: 40px; width: 40px; height: 40px; font-size: 16px; }
  body.mp-v3 .cf-timeline__card { padding: 20px; }
  body.mp-v3 .cf-timeline__title { font-size: 18px; }
  body.mp-v3 .cf-timeline__dual { grid-template-columns: 1fr; }
  body.mp-v3 .cf-scheda { padding: 24px 20px; }
  body.mp-v3 .cf-scheda__body { padding: 16px; font-size: 13px; line-height: 2.2; }
  body.mp-v3 .cf-scheda__row { flex-direction: column; gap: 2px; padding-bottom: 8px; }
  body.mp-v3 .cf-scheda__row span:last-child { text-align: left; }
  body.mp-v3 .cf-analysis-list { gap: 12px; }
  body.mp-v3 .cf-analysis-item { padding: 16px; }
  body.mp-v3 .qa-dark-card { flex-direction: column; gap: 12px; }
  body.mp-v3 .chi-story { flex-direction: column; gap: 24px; align-items: center; text-align: center; }
  body.mp-v3 .chi-story__text .s3__label { text-align: center; }
  body.mp-v3 .chi-story__text .inst-quote { text-align: left; }
  body.mp-v3 .chi-contact { grid-template-columns: 1fr; gap: 48px; }
  body.mp-v3 .chi-contact__title { font-size: 28px; }
  body.mp-v3 .chi-contact__form { padding: 24px 20px; }

  body.mp-v3 .cta3__title { font-size: 28px; }
  body.mp-v3 .cta3__btn { padding: 16px 32px; font-size: 15px; }

  body.mp-v3 .footer__top { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 480px) {
  body.mp-v3 .hero-v3__title { font-size: 28px; }
  body.mp-v3 .hero-v3__tab { font-size: 14px; padding: 11px 12px; }
  body.mp-v3 .footer__top { grid-template-columns: 1fr 1fr; gap: 24px 20px; }
}

/* ============================================================
   REDUCED MOTION
   ============================================================ */
@media (prefers-reduced-motion: reduce) {
  body.mp-v3 .reveal3 { transition: none; opacity: 1; transform: none; }
  body.mp-v3 .analisi3__dot { animation: none; }
  body.mp-v3 .hero-v3__spinner { animation: none; }
}
