
/* Huroos Manufacturing landing - scoped only. No global html/body/header rules. */
.hm-landing-page {
  --hm: #2A84BB;
  --hm-dark: #1F6C9D;
  --hm-deep: #103E57;
  --hm-tint: #BFE0F2;
  --hm-mint: #D6ECDF;
  --hm-sky: #EAF4FB;
  --hm-ink: #0b1220;
  --hm-ink-soft: #1d2632;
  --hm-meta: #6e7785;
  --hm-divider: rgba(11,18,32,0.08);
  --hm-font: "Poppins", "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
  --hm-ease: cubic-bezier(0.16, 1, 0.3, 1);
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
  overflow-y: visible;
  position: relative;
  color: var(--hm-ink);
  background: #fff;
}
.hm-landing-page,
.hm-landing-page * { box-sizing: border-box; }
.hm-landing-page img,
.hm-landing-page svg,
.hm-landing-page video,
.hm-landing-page iframe { max-width: 100%; }
.hm-landing-page section { position: relative; width: 100%; max-width: 100%; }
.hm-landing-page .wrap,
.hm-landing-page .wrap-w,
.hm-landing-page .wrap-n {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-left: clamp(24px, 4vw, 72px);
  padding-right: clamp(24px, 4vw, 72px);
}
.hm-landing-page .wrap { max-width: 1480px; }
.hm-landing-page .wrap-w { max-width: 1540px; }
.hm-landing-page .wrap-n { max-width: 1120px; }

/* Safe Odoo-style animations: visible by default, animated only once JS is ready. */
.hm-landing-page.hm-js .o_animate {
  opacity: 0 !important;
  transform: translateY(24px);
  transition: opacity 680ms var(--hm-ease), transform 680ms var(--hm-ease);
  transition-delay: var(--hm-delay, 0s);
  visibility: visible !important;
}
.hm-landing-page.hm-js .o_anim_from_left { transform: translateX(-28px); }
.hm-landing-page.hm-js .o_anim_from_right { transform: translateX(28px); }
.hm-landing-page.hm-js .o_animate.hm-inview {
  opacity: 1 !important;
  transform: none;
}
@media (prefers-reduced-motion: reduce) {
  .hm-landing-page.hm-js .o_animate { opacity: 1 !important; transform: none !important; transition: none !important; }
}

/* HERO */
.hm-landing-page .hero {
  min-height: calc(100vh - 88px);
  display: flex;
  align-items: center;
  padding: 56px 0 76px;
  isolation: isolate;
  overflow: hidden;
}
.hm-landing-page .hero__bg {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(38% 50% at 86% 24%, rgba(42,132,187,0.14), transparent 70%),
    radial-gradient(36% 48% at 3% 78%, rgba(42,132,187,0.06), transparent 70%);
  z-index: -1;
}
.hm-landing-page .hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 0.92fr) minmax(620px, 1.08fr);
  gap: clamp(48px, 5vw, 86px);
  align-items: center;
}
.hm-landing-page .hero__copy {
  width: 100%;
  max-width: 790px;
}
.hm-landing-page .hero__tile {
  width: 108px;
  height: 108px;
  object-fit: contain;
  display: block;
  margin: 0 0 44px;
  filter: drop-shadow(0 14px 28px rgba(42,132,187,0.14));
}
.hm-landing-page .hero__title {
  margin: 0 0 30px;
  max-width: 790px;
  font-family: var(--hm-font);
  font-size: clamp(46px, 4.05vw, 66px);
  line-height: 1.02;
  font-weight: 800;
  letter-spacing: -0.045em;
  color: var(--hm-ink);
  text-wrap: balance;
}
.hm-landing-page .hero__title em {
  display: inline-block;
  font-style: normal;
  color: var(--hm);
}
.hm-landing-page .hl-marker {
  position: relative;
  display: inline-block;
  z-index: 0;
  white-space: nowrap;
}
.hm-landing-page .hl-marker::after {
  content: "";
  position: absolute;
  left: -0.14em;
  right: -0.14em;
  bottom: 0.06em;
  height: 0.48em;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(191,224,242,.96), rgba(127,186,218,.88));
  z-index: -1;
  transform: rotate(-1.6deg) skewX(-6deg);
}
.hm-landing-page .hero__lead {
  max-width: 54ch;
  margin: 0 0 36px;
  font-size: 18px;
  line-height: 1.6;
  color: var(--hm-meta);
}
.hm-landing-page .hero__cta {
  display: flex;
  flex-wrap: wrap;
  gap: 22px;
  align-items: center;
}
.hm-landing-page .btn-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 52px;
  padding: 0 28px;
  border-radius: 999px;
  text-decoration: none;
  font-weight: 700;
  font-size: 15px;
  border: 0;
  transition: transform 220ms var(--hm-ease), box-shadow 220ms var(--hm-ease), color 220ms, background 220ms;
}
.hm-landing-page .btn-pill--primary {
  color: #fff;
  background: var(--hm);
  box-shadow: 0 16px 34px -18px rgba(42,132,187,.62);
}
.hm-landing-page .btn-pill--primary:hover { transform: translateY(-2px); color: #fff; background: var(--hm-dark); }
.hm-landing-page .btn-pill--link { color: var(--hm-ink); background: transparent; padding-left: 4px; padding-right: 4px; }
.hm-landing-page .btn-pill--link:hover { color: var(--hm); }
.hm-landing-page .hero__visual { width: 100%; min-width: 0; }
.hm-landing-page .hero__visual svg { display: block; width: 100%; height: auto; overflow: visible; }

/* PILLARS */
.hm-landing-page .pillars-section { padding: 90px 0 72px; }
.hm-landing-page .pillars-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px; }
.hm-landing-page .pillar-title__eyebrow,
.hm-landing-page .claim__eyebrow,
.hm-landing-page .func-head__eyebrow,
.hm-landing-page .hub__eyebrow { color: var(--hm); font-weight: 800; font-size: 16px; margin-bottom: 10px; }
.hm-landing-page .pillar-title__h,
.hm-landing-page .func-head__h,
.hm-landing-page .hub__title,
.hm-landing-page .timeline__title { margin: 0; font-family: var(--hm-font); font-weight: 800; color: var(--hm-ink); letter-spacing: -0.035em; line-height: 1.05; }
.hm-landing-page .pillar-title__h { font-size: 30px; }
.hm-landing-page .pillar-card {
  min-height: 240px;
  padding: 28px 24px;
  border-radius: 22px;
  border: 1px solid rgba(42,132,187,.18);
  background: linear-gradient(180deg,#fff,#f7fbfe);
  box-shadow: 0 24px 60px -44px rgba(11,30,55,.32);
}
.hm-landing-page .pillar-card:nth-child(3) { background: linear-gradient(180deg,#fff,#f3fbf6); }
.hm-landing-page .pillar-card:nth-child(4) { background: linear-gradient(180deg,#fff,#fffaf3); }
.hm-landing-page .pillar-card__ico { width: 56px; height: 56px; border-radius: 14px; display: flex; align-items: center; justify-content: center; background: var(--hm-sky); color: var(--hm); margin-bottom: 18px; }
.hm-landing-page .pillar-card__ico svg { width: 26px; height: 26px; }
.hm-landing-page .pillar-card__h { margin: 0 0 10px; font-size: 20px; font-weight: 800; color: var(--hm-ink); line-height: 1.2; }
.hm-landing-page .pillar-card__p { margin: 0; font-size: 14.5px; line-height: 1.55; color: var(--hm-meta); }

/* CLAIM */
.hm-landing-page .claim { padding: 86px 0 68px; text-align: center; }
.hm-landing-page .claim .wrap-n {
  max-width: 1180px;
  padding-top: 54px;
  padding-bottom: 54px;
  border-radius: 32px;
  background: linear-gradient(135deg, rgba(234,244,251,.96), rgba(255,255,255,.96) 54%, rgba(214,236,223,.78));
  border: 1px solid rgba(42,132,187,.14);
  box-shadow: 0 18px 54px -42px rgba(11,30,55,.28);
}
.hm-landing-page .claim__h { max-width: 29ch; margin: 0 auto; font-size: clamp(28px, 3.2vw, 42px); line-height: 1.1; font-weight: 800; }
.hm-landing-page .claim__highlight { position: relative; display: inline-block; white-space: nowrap; }
.hm-landing-page .claim__highlight::after { content: ""; position: absolute; inset: 65% -8% -12% -8%; background: var(--hm-tint); border-radius: 999px; z-index: -1; }
.hm-landing-page .claim__lead { max-width: 820px; margin: 22px auto 0; color: var(--hm-ink-soft); line-height: 1.65; font-size: 16px; }

/* FUNCTION CARDS */
.hm-landing-page .func-head { padding: 104px 0 30px; }
.hm-landing-page .func-head__h { font-size: clamp(38px, 4.4vw, 58px); }
.hm-landing-page .func-head__lead { max-width: 620px; margin: 16px 0 0; font-size: 17px; line-height: 1.58; color: var(--hm-meta); }
.hm-landing-page .func-row { padding: 34px 0; overflow: visible; }
.hm-landing-page .func-row__grid { display: grid; gap: 28px; width: 100%; }
.hm-landing-page .func-row__grid--7-5 { grid-template-columns: minmax(0, 1.42fr) minmax(0, 1fr); }
.hm-landing-page .func-row__grid--5-7 { grid-template-columns: minmax(0, 1fr) minmax(0, 1.42fr); }
.hm-landing-page .func-card {
  min-height: 500px;
  display: flex;
  flex-direction: column;
  padding: 36px 36px 32px;
  border-radius: 30px;
  position: relative;
  overflow: visible;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.36);
}
.hm-landing-page .func-card--tint { background: var(--hm-tint); }
.hm-landing-page .func-card--mint { background: var(--hm-mint); }
.hm-landing-page .func-card__media { flex: 1; min-height: 280px; display: flex; align-items: center; justify-content: center; margin: 0 0 26px; padding: 10px; }
.hm-landing-page .func-card__media svg { width: 100%; height: auto; max-height: 100%; display: block; filter: drop-shadow(0 18px 22px rgba(42,132,187,.12)); }
.hm-landing-page .func-card__tag { align-self: flex-start; margin-bottom: 12px; padding: 6px 13px; border-radius: 999px; background: rgba(255,255,255,.62); color: var(--hm-deep); font-weight: 800; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; }
.hm-landing-page .func-card__h { margin: 0 0 10px; color: var(--hm-ink); font-size: 25px; line-height: 1.18; font-weight: 800; letter-spacing: -0.02em; }
.hm-landing-page .func-card__p { margin: 0; color: var(--hm-ink-soft); font-size: 15px; line-height: 1.55; }

/* HUB */
.hm-landing-page .hub { padding: 130px 0 108px; overflow: hidden; }
.hm-landing-page .hub::before { content: ""; position: absolute; inset: 0; background: radial-gradient(45% 60% at 50% 50%, rgba(42,132,187,.08), transparent 70%); z-index: 0; pointer-events: none; }
.hm-landing-page .hub .wrap { position: relative; z-index: 1; }
.hm-landing-page .hub__head { max-width: 780px; margin: 0 auto 56px; text-align: center; }
.hm-landing-page .hub__title { font-size: clamp(42px, 5vw, 66px); }
.hm-landing-page .hub__title em { font-style: normal; color: var(--hm); }
.hm-landing-page .hub__lead { max-width: 720px; margin: 18px auto 0; color: var(--hm-meta); font-size: 17px; line-height: 1.6; }
.hm-landing-page .hub__stage { max-width: 880px; margin: 0 auto; aspect-ratio: 1 / 1; }
.hm-landing-page .hub__stage svg { width: 100%; height: 100%; display: block; overflow: visible; }
.hm-landing-page .hub__stage .hub-node__fill { animation: hmHubFortune 6.2s ease-in-out infinite; animation-delay: var(--hubd, 0s); }
.hm-landing-page .hub__stage .hub-node__icon { animation: hmHubIconPulse 6.2s ease-in-out infinite; animation-delay: var(--hubd, 0s); transform-origin: center; transform-box: fill-box; }
@keyframes hmHubFortune { 0%,8%,100%{fill-opacity:0} 12%,18%{fill-opacity:.16} 22%{fill-opacity:.08} 26%,100%{fill-opacity:0} }
@keyframes hmHubIconPulse { 0%,8%,100%{scale:1} 14%{scale:1.08} 20%{scale:1} }

/* CAROUSEL */
.hm-landing-page .carousel-section { padding: 104px 0 70px; overflow: hidden; }
.hm-landing-page .carousel-section__head { display: flex; justify-content: space-between; align-items: flex-end; gap: 32px; margin-bottom: 36px; }
.hm-landing-page .carousel-title { color: var(--hm-ink); background: none; text-decoration: none; }
.hm-landing-page .carousel__nav { display: flex; gap: 12px; flex: none; }
.hm-landing-page .carousel__btn { width: 52px; height: 52px; border-radius: 999px; border: 1px solid var(--hm-divider); background: #fff; color: var(--hm-ink); display: flex; align-items: center; justify-content: center; cursor: pointer; }
.hm-landing-page .carousel__btn svg { width: 22px; height: 22px; }
.hm-landing-page .carousel__track {
  width: 100%;
  max-width: 100%;
  display: flex;
  align-items: flex-start;
  gap: 34px;
  overflow-x: auto;
  overflow-y: visible;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  padding: 48px clamp(24px, 5vw, 88px) 88px;
  scrollbar-width: none;
  overscroll-behavior-x: contain;
}
.hm-landing-page .carousel__track::-webkit-scrollbar { display: none; }
.hm-landing-page .carousel__card {
  flex: 0 0 min(642px, 72vw);
  scroll-snap-align: center;
  background: #fff;
  border-radius: 26px;
  overflow: hidden;
  border: 1px solid rgba(42,132,187,.12);
  transform: scale(.84);
  opacity: .62;
  box-shadow: 0 24px 60px -34px rgba(11,30,55,.20), 0 10px 22px -16px rgba(11,30,55,.10);
  transition: transform 420ms var(--hm-ease), opacity 420ms var(--hm-ease), box-shadow 420ms var(--hm-ease);
}
.hm-landing-page .carousel__card.is-active { transform: scale(1.06); opacity: 1; z-index: 4; box-shadow: 0 52px 110px -52px rgba(11,30,55,.34), 0 24px 48px -24px rgba(11,30,55,.16); }
.hm-landing-page .carousel__chrome { display: flex; align-items: center; gap: 6px; padding: 14px 16px; background: #F7F9FC; border-bottom: 1px solid var(--hm-divider); }
.hm-landing-page .carousel__dot { width: 10px; height: 10px; border-radius: 999px; background: #DDE3EB; }
.hm-landing-page .carousel__dot:nth-child(1) { background: #FF5F57; }
.hm-landing-page .carousel__dot:nth-child(2) { background: #FFBD2E; }
.hm-landing-page .carousel__dot:nth-child(3) { background: #28CA42; }
.hm-landing-page .carousel__url { margin-left: 16px; font-size: 12px; color: var(--hm-meta); background: #fff; border: 1px solid var(--hm-divider); border-radius: 7px; padding: 4px 12px; }
.hm-landing-page .carousel__media { position: relative; aspect-ratio: 16 / 10; background: #f8fbfd; overflow: hidden; }
.hm-landing-page .carousel__media--screenshot { padding: 0; }
.hm-landing-page .carousel__media--screenshot img { width: 100%; height: 100%; object-fit: cover; object-position: center top; display: block; }
.hm-landing-page .carousel__caption { min-height: 128px; padding: 24px 28px 28px; border-top: 1px solid var(--hm-divider); background: linear-gradient(180deg,#fff,#f8fbfd); }
.hm-landing-page .carousel__caption h3 { margin: 0 0 7px; font-size: 22px; font-weight: 800; color: var(--hm-ink); letter-spacing: -.02em; }
.hm-landing-page .carousel__caption p { margin: 0; color: var(--hm-meta); font-size: 15px; line-height: 1.5; }

/* VIDEO + CTA */
.hm-landing-page .video-section { padding: 68px 0 72px; background: #fff; }
.hm-landing-page .video-section__head { max-width: 900px; margin: 0 0 42px; }
.hm-landing-page .video-showcase { position: relative; border-radius: 36px; overflow: hidden; aspect-ratio: 16 / 9; background: #0b1220; box-shadow: 0 34px 110px -72px rgba(11,30,55,.42); }
.hm-landing-page .video-showcase iframe,
.hm-landing-page .video-showcase video { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; display: block; object-fit: cover; }
.hm-landing-page .cta-band { padding: 82px 0 128px; }
.hm-landing-page .cta-card { position: relative; padding: 78px 58px; border-radius: 34px; overflow: hidden; text-align: center; background: linear-gradient(135deg,#EAF4FB,#D6ECDF 60%,#BFE0F2); box-shadow: 0 28px 80px -58px rgba(11,30,55,.35); }
.hm-landing-page .cta-card h2 { max-width: 860px; margin: 0 auto 18px; font-size: clamp(34px, 4vw, 56px); line-height: 1.05; font-weight: 800; letter-spacing: -.025em; color: var(--hm-ink); }
.hm-landing-page .cta-card h2 em { font-style: normal; color: var(--hm); }
.hm-landing-page .cta-card p { max-width: 62ch; margin: 0 auto 34px; font-size: 17px; line-height: 1.6; color: var(--hm-ink-soft); }
.hm-landing-page .cta-card .btn-pill { background: var(--hm); color: #fff; }

/* Decorative blobs */
.hm-landing-page .cta-blob { position: absolute; border-radius: 999px; pointer-events: none; z-index: 0; opacity: .65; }
.hm-landing-page .cta-blob--a { width: 300px; height: 300px; top: -120px; right: -80px; background: rgba(42,132,187,.12); }
.hm-landing-page .cta-blob--b { width: 220px; height: 220px; bottom: -100px; left: 8%; background: rgba(30,151,89,.14); }
.hm-landing-page .cta-card > *:not(.cta-blob) { position: relative; z-index: 1; }

@media (max-width: 1180px) {
  .hm-landing-page .hero { min-height: auto; }
  .hm-landing-page .hero__grid { grid-template-columns: 1fr; }
  .hm-landing-page .hero__copy { max-width: 840px; }
  .hm-landing-page .hero__title { max-width: 820px; }
  .hm-landing-page .hero__visual { max-width: 820px; margin: 0 auto; }
  .hm-landing-page .pillars-grid { grid-template-columns: 1fr 1fr; }
  .hm-landing-page .pillar-title { grid-column: 1 / -1; }
  .hm-landing-page .func-row__grid--7-5,
  .hm-landing-page .func-row__grid--5-7 { grid-template-columns: 1fr; }
  .hm-landing-page .carousel-section__head { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 640px) {
  .hm-landing-page .wrap,
  .hm-landing-page .wrap-w,
  .hm-landing-page .wrap-n { padding-left: 20px; padding-right: 20px; }
  .hm-landing-page .hero { padding-top: 44px; padding-bottom: 58px; }
  .hm-landing-page .hero__tile { width: 82px; height: 82px; margin-bottom: 28px; }
  .hm-landing-page .hero__title { font-size: clamp(36px, 10.5vw, 50px); max-width: 100%; }
  .hm-landing-page .hero__lead { font-size: 16px; }
  .hm-landing-page .pillars-grid { grid-template-columns: 1fr; }
  .hm-landing-page .claim .wrap-n { border-radius: 24px; padding-top: 36px; padding-bottom: 36px; }
  .hm-landing-page .func-card { min-height: 0; padding: 28px 22px; border-radius: 24px; }
  .hm-landing-page .func-card__media { min-height: 230px; }
  .hm-landing-page .carousel__track { gap: 18px; padding: 26px 20px 54px; }
  .hm-landing-page .carousel__card,
  .hm-landing-page .carousel__card.is-active { flex-basis: 86vw; transform: none; opacity: 1; }
  .hm-landing-page .video-showcase { border-radius: 24px; }
  .hm-landing-page .cta-card { padding: 52px 26px; border-radius: 26px; }
}


/* ============================================================
   REVISIONE 6 — hero + animazioni Accounting-like + scrollbar fix
   ============================================================ */

/* Nessun impatto su header/menu del sito: il font viene applicato solo
   ai blocchi interni della landing, non al wrapper #wrap. */
.hm-landing-page section,
.hm-landing-page section * {
  font-family: var(--hm-font);
}

/* Evita doppio scroll verticale e overflow orizzontali interni. */
.hm-landing-page {
  height: auto !important;
  min-height: 0 !important;
  overflow: visible !important;
  overflow-x: clip !important;
}
.hm-landing-page .carousel-section,
.hm-landing-page .carousel__track,
.hm-landing-page .hero,
.hm-landing-page .hub {
  max-width: 100%;
}
.hm-landing-page .carousel__track {
  overflow-x: hidden !important;
  overflow-y: visible !important;
}

/* Hero più vicina all'header, allineata al container del sito e meno schiacciata. */
.hm-landing-page .wrap-w {
  max-width: 1320px !important;
  padding-left: 16px !important;
  padding-right: 16px !important;
}
.hm-landing-page .hero {
  min-height: calc(100vh - 86px);
  align-items: center;
  padding: clamp(28px, 4.8vh, 54px) 0 clamp(58px, 7vh, 88px) !important;
}
.hm-landing-page .hero__grid {
  grid-template-columns: minmax(640px, 0.98fr) minmax(520px, 1.02fr) !important;
  gap: clamp(56px, 6vw, 104px) !important;
  align-items: center;
}
.hm-landing-page .hero__copy {
  max-width: 720px !important;
}
.hm-landing-page .hero__tile {
  width: 96px !important;
  height: 96px !important;
  margin-bottom: 34px !important;
}
.hm-landing-page .hero__title {
  max-width: 720px !important;
  font-size: clamp(38px, 3.28vw, 56px) !important;
  line-height: 1.05 !important;
  letter-spacing: -0.038em !important;
  text-wrap: normal !important;
  margin-bottom: 26px !important;
}
.hm-landing-page .hero__title br {
  display: block;
}
.hm-landing-page .hero__title em {
  display: block !important;
  white-space: nowrap;
}
.hm-landing-page .hero__lead {
  max-width: 62ch !important;
}

/* Animazioni in stile Accounting/Odoo: classi o_animate sempre visibili,
   poi JS aggiunge hm-inview per una transizione morbida allo scroll. */
.hm-landing-page.hm-js .o_animate {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  transition: none !important;
}
.hm-landing-page .o_animate.hm-ready {
  opacity: 0 !important;
  transform: translateY(24px) scale(.992) !important;
  transition:
    opacity 720ms cubic-bezier(.16,1,.3,1),
    transform 720ms cubic-bezier(.16,1,.3,1) !important;
  transition-delay: var(--hm-delay, 0s) !important;
}
.hm-landing-page .o_animate.o_anim_from_left.hm-ready {
  transform: translateX(-30px) scale(.995) !important;
}
.hm-landing-page .o_animate.o_anim_from_right.hm-ready {
  transform: translateX(30px) scale(.995) !important;
}
.hm-landing-page .o_animate.o_anim_zoom_in.hm-ready,
.hm-landing-page .o_animate.o_anim_rotate_in.hm-ready {
  transform: scale(.96) !important;
}
.hm-landing-page .o_animate.hm-ready.hm-inview {
  opacity: 1 !important;
  transform: none !important;
}

/* La hero non deve arrivare in ritardo: visibile subito, animazione leggera. */
.hm-landing-page .hero .o_animate.hm-ready {
  transition-duration: 520ms !important;
}
.hm-landing-page .hero__visual.o_animate.hm-ready {
  transition-delay: .08s !important;
}

@media (max-width: 1180px) {
  .hm-landing-page .hero__grid {
    grid-template-columns: 1fr !important;
    gap: 44px !important;
  }
  .hm-landing-page .hero__copy {
    max-width: 760px !important;
  }
  .hm-landing-page .hero__title {
    max-width: 760px !important;
  }
}
@media (max-width: 640px) {
  .hm-landing-page .wrap-w {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
  .hm-landing-page .hero {
    min-height: auto;
    padding-top: 42px !important;
  }
  .hm-landing-page .hero__title {
    font-size: clamp(34px, 10vw, 46px) !important;
  }
  .hm-landing-page .hero__title em {
    white-space: normal;
  }
}


/* ============================================================
   REVISIONE 7 — hero image larger + motion restore
   ============================================================ */
.hm-landing-page .hero__visual {
  transform-origin: center;
}
.hm-landing-page .hero__visual svg {
  width: 119% !important;
  max-width: none !important;
  margin-left: -7%;
  animation: hmHeroFloat 7.5s ease-in-out infinite;
  transform-origin: center;
}
.hm-landing-page .hero__visual svg .svg-drift,
.hm-landing-page .hero__visual svg .svg-drift-2 {
  animation-play-state: running !important;
}

@keyframes hmHeroFloat {
  0%, 100% { transform: translate3d(0, 0, 0) scale(1); }
  50% { transform: translate3d(0, -10px, 0) scale(1.018); }
}

/* Ripristina animazioni SVG interne: il reset precedente di o_animate non deve
   bloccare le classi svg-pulse/svg-flow/svg-rise/svg-pop. */
.hm-landing-page .svg-pulse  { animation: svgPulse 2400ms ease-in-out infinite !important; transform-origin: center; transform-box: fill-box; }
.hm-landing-page .svg-fade   { animation: svgFade 3200ms ease-in-out infinite !important; }
.hm-landing-page .svg-rise-1 { animation: svgRise 1400ms var(--hm-ease) 0.10s both !important; transform-origin: bottom; transform-box: fill-box; }
.hm-landing-page .svg-rise-2 { animation: svgRise 1400ms var(--hm-ease) 0.25s both !important; transform-origin: bottom; transform-box: fill-box; }
.hm-landing-page .svg-rise-3 { animation: svgRise 1400ms var(--hm-ease) 0.40s both !important; transform-origin: bottom; transform-box: fill-box; }
.hm-landing-page .svg-rise-4 { animation: svgRise 1400ms var(--hm-ease) 0.55s both !important; transform-origin: bottom; transform-box: fill-box; }
.hm-landing-page .svg-rise-5 { animation: svgRise 1400ms var(--hm-ease) 0.70s both !important; transform-origin: bottom; transform-box: fill-box; }
.hm-landing-page .svg-rise-6 { animation: svgRise 1400ms var(--hm-ease) 0.85s both !important; transform-origin: bottom; transform-box: fill-box; }
.hm-landing-page .svg-rise-7 { animation: svgRise 1400ms var(--hm-ease) 1.00s both !important; transform-origin: bottom; transform-box: fill-box; }
.hm-landing-page .svg-rise-8 { animation: svgRise 1400ms var(--hm-ease) 1.15s both !important; transform-origin: bottom; transform-box: fill-box; }
.hm-landing-page .svg-pop-1  { animation: svgPop 700ms var(--hm-ease) 0.20s both, hmNodeBreathe 5.4s ease-in-out 1.2s infinite !important; transform-origin: center; transform-box: fill-box; }
.hm-landing-page .svg-pop-2  { animation: svgPop 700ms var(--hm-ease) 0.35s both, hmNodeBreathe 5.4s ease-in-out 1.7s infinite !important; transform-origin: center; transform-box: fill-box; }
.hm-landing-page .svg-pop-3  { animation: svgPop 700ms var(--hm-ease) 0.50s both, hmNodeBreathe 5.4s ease-in-out 2.2s infinite !important; transform-origin: center; transform-box: fill-box; }
.hm-landing-page .svg-pop-4  { animation: svgPop 700ms var(--hm-ease) 0.65s both, hmNodeBreathe 5.4s ease-in-out 2.7s infinite !important; transform-origin: center; transform-box: fill-box; }
.hm-landing-page .svg-pop-5  { animation: svgPop 700ms var(--hm-ease) 0.80s both, hmNodeBreathe 5.4s ease-in-out 3.2s infinite !important; transform-origin: center; transform-box: fill-box; }
.hm-landing-page .svg-pop-6  { animation: svgPop 700ms var(--hm-ease) 0.95s both, hmNodeBreathe 5.4s ease-in-out 3.7s infinite !important; transform-origin: center; transform-box: fill-box; }
.hm-landing-page .svg-flow   { stroke-dasharray: 6 6; animation: svgFlow 1400ms linear infinite !important; }
.hm-landing-page .svg-blink  { animation: svgBlink 1600ms ease-in-out infinite !important; }
.hm-landing-page .svg-drift  { animation: svgDrift 6000ms ease-in-out infinite !important; }
.hm-landing-page .svg-drift-2 { animation: svgDrift 7000ms ease-in-out infinite 1s !important; }

/* Re-enable block reveal effect with safe classes. */
.hm-landing-page .o_animate.hm-ready {
  opacity: 0 !important;
  transform: translateY(28px) scale(.992) !important;
  transition:
    opacity 760ms cubic-bezier(.16,1,.3,1),
    transform 760ms cubic-bezier(.16,1,.3,1) !important;
  transition-delay: var(--hm-delay, 0s) !important;
}
.hm-landing-page .o_animate.o_anim_from_left.hm-ready,
.hm-landing-page .o_animate.reveal-l.hm-ready {
  transform: translateX(-34px) scale(.992) !important;
}
.hm-landing-page .o_animate.o_anim_from_right.hm-ready,
.hm-landing-page .o_animate.reveal-r.hm-ready {
  transform: translateX(34px) scale(.992) !important;
}
.hm-landing-page .o_animate.hm-ready.hm-inview {
  opacity: 1 !important;
  transform: none !important;
}

/* Hero: entrance immediata, poi continua il float dello SVG. */
.hm-landing-page .hero .o_animate.hm-ready {
  transition-duration: 520ms !important;
}
.hm-landing-page .hero__visual.o_animate.hm-ready.hm-inview {
  transform: none !important;
}

@keyframes hmNodeBreathe {
  0%, 100% { scale: 1; }
  50% { scale: 1.018; }
}
@keyframes svgPulse {
  0%, 100% { scale: 1; opacity: 0.85; }
  50% { scale: 1.10; opacity: 1; }
}
@keyframes svgFade {
  0%, 100% { opacity: 0.4; }
  50% { opacity: 1; }
}
@keyframes svgRise {
  from { scale: 1 0.04; opacity: 0; }
  to { scale: 1 1; opacity: 1; }
}
@keyframes svgPop {
  from { scale: 0.2; opacity: 0; }
  to { scale: 1; opacity: 1; }
}
@keyframes svgFlow {
  from { stroke-dashoffset: 0; }
  to { stroke-dashoffset: -24; }
}
@keyframes svgBlink {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.45; }
}
@keyframes svgDrift {
  0%, 100% { translate: 0 0; }
  50% { translate: 0 -8px; }
}

@media (max-width: 1180px) {
  .hm-landing-page .hero__visual svg {
    width: 100% !important;
    margin-left: 0;
  }
}
@media (prefers-reduced-motion: reduce) {
  .hm-landing-page .hero__visual svg,
  .hm-landing-page [class*="svg-"] {
    animation: none !important;
  }
}


/* ============================================================
   REVISIONE 8 — hero svg +10%
   ============================================================ */
.hm-landing-page .hero__visual svg {
  width: 119% !important;
  max-width: none !important;
  margin-left: -7% !important;
}
@media (max-width: 1180px) {
  .hm-landing-page .hero__visual svg {
    width: 100% !important;
    margin-left: 0 !important;
  }
}


/* ============================================================
   REVISIONE 9 — richieste landing manufacturing
   Hero full-page, visual più grande, card flat e animazioni coerenti
   ============================================================ */
.hm-landing-page .hero {
  min-height: 100vh !important;
  padding-top: clamp(34px, 5vh, 68px) !important;
  padding-bottom: clamp(54px, 7vh, 96px) !important;
}
.hm-landing-page .hero__bg {
  background: #ffffff !important;
}
.hm-landing-page .hero__visual svg {
  width: 132% !important;
  margin-left: -12% !important;
}
.hm-landing-page .hl-marker::after {
  background: #EAF4FB !important;
}
.hm-landing-page .pillar-card,
.hm-landing-page .func-card,
.hm-landing-page .carousel__card,
.hm-landing-page .claim .wrap-n,
.hm-landing-page .cta-card {
  background: #ffffff !important;
  border: 1px solid rgba(11,18,32,.08) !important;
  box-shadow: 0 22px 60px -48px rgba(11,30,55,.32) !important;
}
.hm-landing-page .pillar-card:nth-child(3),
.hm-landing-page .pillar-card:nth-child(4),
.hm-landing-page .func-card--tint,
.hm-landing-page .func-card--mint,
.hm-landing-page .carousel__caption {
  background: #ffffff !important;
}
.hm-landing-page .pillar-card__ico,
.hm-landing-page .func-card__tag {
  background: #F4F8FB !important;
}
.hm-landing-page .func-card__media {
  border-radius: 24px;
  background: #F8FAFC;
  border: 1px solid rgba(11,18,32,.06);
}
.hm-landing-page .hub::before {
  background: #ffffff !important;
}
.hm-landing-page .cta-card::before,
.hm-landing-page .cta-card::after,
.hm-landing-page .cta-blob {
  display: none !important;
}
.hm-landing-page .video-section__head .func-head__h {
  font-size: clamp(38px, 4.4vw, 58px);
  line-height: 1.05;
  letter-spacing: -0.035em;
}
@media (max-width: 1180px) {
  .hm-landing-page .hero { min-height: auto !important; }
  .hm-landing-page .hero__visual svg { width: 100% !important; margin-left: 0 !important; }
}


/* ============================================================
   REVISIONE 10 — correzioni richieste
   - funzionalità colorate come prima
   - carosello ripristinato nello stile originale
   - titolo video non corsivo con parte colorata
   - animazioni scroll robuste
   ============================================================ */
.hm-landing-page .func-card.func-card--tint {
  background: var(--hm-tint) !important;
  border: 0 !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.36) !important;
}
.hm-landing-page .func-card.func-card--mint {
  background: var(--hm-mint) !important;
  border: 0 !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.36) !important;
}
.hm-landing-page .func-card__media {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
}
.hm-landing-page .func-card__tag {
  background: rgba(255,255,255,.62) !important;
  color: var(--hm-deep) !important;
}
.hm-landing-page .carousel__card {
  background: #fff !important;
  border: 1px solid var(--hm-divider) !important;
  border-radius: 34px !important;
  box-shadow: 0 28px 72px -50px rgba(11,30,55,.34) !important;
}
.hm-landing-page .carousel__card.is-active {
  transform: scale(1.06) !important;
  opacity: 1 !important;
  z-index: 4 !important;
  box-shadow: 0 52px 110px -52px rgba(11,30,55,.34), 0 24px 48px -24px rgba(11,30,55,.16) !important;
}
.hm-landing-page .carousel__caption {
  background: linear-gradient(180deg,#fff,#f8fbfd) !important;
}
.hm-landing-page .carousel__chrome {
  background: #F7F9FC !important;
}
.hm-landing-page .video-title em,
.hm-landing-page .video-title span {
  font-style: normal !important;
  color: var(--hm) !important;
}
.hm-landing-page .video-title {
  color: var(--hm-ink) !important;
}
.hm-landing-page.hm-js .o_animate.hm-ready {
  will-change: opacity, transform;
}
.hm-landing-page .o_animate.o_anim_from_bottom.hm-ready,
.hm-landing-page .o_animate.o_anim_slide_in.hm-ready:not(.o_anim_from_left):not(.o_anim_from_right) {
  transform: translateY(34px) scale(.992) !important;
}
@media (max-width: 640px) {
  .hm-landing-page .carousel__card.is-active { transform: none !important; }
}
