/* ——— Palette ufficiale iMEDIA HUB ——— */
:root {
  --purple: #8f00ff;
  --gray-light: #cdcccc;
  --gray-dark: #343434;
  --acid: #e5ff39;
  --white: #ffffff;
  --black: #0e0e0e;
  --ecosystem-bg: #0a0a0a;

  --font-impact: Impact, Haettenschweiler, "Franklin Gothic Heavy",
    "Arial Black", sans-serif;
  --font-body: "Source Sans 3", system-ui, -apple-system, sans-serif;

  --header-h: 6.25rem;
  --nav-break: 1180px;
  --radius-pill: 999px;
  --ease-out: cubic-bezier(0.22, 1, 0.36, 1);
  --transition: 0.3s var(--ease-out);
}

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

html {
  scroll-behavior: smooth;
  scroll-padding-top: var(--header-h);
  overflow-x: clip;
}

body {
  font-family: var(--font-body);
  font-size: 1rem;
  line-height: 1.6;
  color: var(--white);
  background: var(--purple);
  -webkit-font-smoothing: antialiased;
  overflow-x: clip;
  text-rendering: optimizeLegibility;
}

body.nav-open {
  overflow: hidden;
}

img {
  display: block;
  max-width: 100%;
  height: auto;
  content-visibility: auto;
}

picture {
  display: block;
  max-width: 100%;
}

a {
  color: inherit;
  text-decoration: none;
}

strong {
  color: var(--acid);
  font-weight: 600;
}

/* ——— Header ——— */
.site-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  min-height: var(--header-h);
  padding: 0.5rem clamp(1rem, 3vw, 2.5rem);
  background: linear-gradient(
    180deg,
    rgba(18, 18, 18, 0.96) 0%,
    rgba(18, 18, 18, 0.88) 52%,
    rgba(18, 18, 18, 0.52) 78%,
    rgba(18, 18, 18, 0) 100%
  );
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

.logo {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
}

.logo__image {
  width: clamp(148px, 16vw, 228px);
  height: auto;
}

.site-header__panel {
  display: flex;
  align-items: center;
  gap: clamp(0.75rem, 2vw, 1.75rem);
  margin-left: auto;
}

.site-nav {
  display: flex;
  align-items: center;
  gap: clamp(0.55rem, 1.4vw, 1.35rem);
}

.site-nav__link {
  font-family: var(--font-impact);
  font-size: clamp(0.62rem, 0.72vw, 0.72rem);
  font-weight: 400;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--gray-light);
  white-space: nowrap;
  transition: color var(--transition);
}

.site-nav__link:hover,
.site-nav__link.is-active {
  color: var(--acid);
}

.site-lang {
  display: inline-flex;
  align-items: center;
  gap: 0.2rem;
  padding: 0.2rem;
  border: 1px solid rgba(205, 204, 204, 0.28);
  border-radius: var(--radius-pill);
  background: rgba(14, 14, 14, 0.35);
}

.site-lang__btn {
  min-width: 2.1rem;
  padding: 0.38rem 0.55rem;
  border: none;
  border-radius: var(--radius-pill);
  background: transparent;
  color: var(--gray-light);
  font-family: var(--font-impact);
  font-size: clamp(0.58rem, 0.66vw, 0.68rem);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  cursor: pointer;
  transition:
    color var(--transition),
    background var(--transition);
}

.site-lang__btn:hover,
.site-lang__btn.is-active {
  color: var(--black);
  background: var(--acid);
}

.site-nav__item--has-dropdown {
  position: relative;
}

.site-nav__item-row {
  display: flex;
  align-items: center;
  gap: 0.2rem;
}

.site-nav__dropdown-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.35rem;
  height: 1.35rem;
  padding: 0;
  border: none;
  background: transparent;
  color: var(--gray-light);
  cursor: pointer;
  transition: color var(--transition);
}

.site-nav__dropdown-toggle:hover,
.site-nav__item--has-dropdown.is-open .site-nav__dropdown-toggle {
  color: var(--acid);
}

.site-nav__dropdown-caret {
  display: block;
  width: 0;
  height: 0;
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-top: 5px solid currentColor;
  transition: transform var(--transition);
}

.site-nav__item--has-dropdown.is-open .site-nav__dropdown-caret {
  transform: rotate(180deg);
}

.site-nav__dropdown-menu {
  list-style: none;
  margin: 0;
  padding: 0;
}

.site-nav__dropdown-link {
  display: block;
  font-family: var(--font-impact);
  font-size: 0.62rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--gray-light);
  white-space: nowrap;
  transition:
    color var(--transition),
    background var(--transition);
}

.site-nav__dropdown-link:hover,
.site-nav__dropdown-link.is-active {
  color: var(--acid);
}

@media (min-width: 1181px) {
  .site-nav__item--has-dropdown::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;
    height: 0.65rem;
  }

  .site-nav__dropdown-menu {
    position: absolute;
    top: calc(100% + 0.55rem);
    left: 50%;
    transform: translateX(-50%) translateY(8px);
    min-width: 19rem;
    padding: 0.45rem 0;
    background: rgba(20, 20, 20, 0.98);
    border: 1px solid rgba(229, 255, 57, 0.32);
    border-radius: 0.7rem;
    box-shadow: 0 18px 44px rgba(0, 0, 0, 0.48);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition:
      opacity var(--transition),
      transform var(--transition),
      visibility var(--transition);
    z-index: 1002;
  }

  .site-nav__item--has-dropdown:hover .site-nav__dropdown-menu,
  .site-nav__item--has-dropdown:focus-within .site-nav__dropdown-menu,
  .site-nav__item--has-dropdown.is-open .site-nav__dropdown-menu {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateX(-50%) translateY(0);
  }

  .site-nav__item--has-dropdown.is-hover .site-nav__dropdown-menu {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateX(-50%) translateY(0);
  }

  .site-nav__dropdown-link {
    padding: 0.55rem 1rem;
  }

  .site-nav__dropdown-link:hover {
    background: rgba(229, 255, 57, 0.08);
  }
}

.nav-cta {
  flex-shrink: 0;
  padding: 0.72rem 1.15rem;
  font-size: 0.68rem;
  letter-spacing: 0.08em;
  white-space: nowrap;
}

/* ——— Buttons ——— */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 1rem 1.75rem;
  font-family: var(--font-impact);
  font-size: 0.8rem;
  font-weight: 400;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  border-radius: var(--radius-pill);
  border: 2px solid transparent;
  transition:
    transform var(--transition),
    box-shadow var(--transition),
    background var(--transition),
    border-color var(--transition),
    color var(--transition);
}

.btn--primary {
  color: var(--gray-dark);
  background: var(--acid);
}

.btn--primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 28px rgba(229, 255, 57, 0.4);
}

.btn--ghost {
  color: var(--white);
  background: transparent;
  border-color: var(--white);
}

.btn--ghost:hover {
  border-color: var(--acid);
  color: var(--acid);
  transform: translateY(-2px);
}

.btn:focus-visible {
  outline: 2px solid var(--acid);
  outline-offset: 3px;
}

.hero__actions .btn--primary {
  animation: cta-glow 3s ease-in-out infinite;
}

/* ——— Nav toggle ——— */
.nav-toggle {
  display: none;
  position: relative;
  z-index: 1001;
  flex-direction: column;
  justify-content: center;
  gap: 7px;
  width: 2.75rem;
  height: 2.75rem;
  min-width: 44px;
  min-height: 44px;
  padding: 0;
  border: 1px solid var(--gray-light);
  border-radius: 8px;
  background: transparent;
  cursor: pointer;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
}

.nav-toggle span {
  display: block;
  width: 18px;
  height: 2px;
  margin: 0 auto;
  background: var(--white);
  transition: transform var(--transition), opacity var(--transition);
}

.nav-toggle[aria-expanded="true"] span:first-child {
  transform: translateY(4.5px) rotate(45deg);
}

.nav-toggle[aria-expanded="true"] span:last-child {
  transform: translateY(-4.5px) rotate(-45deg);
}

/* ——— Mobile menu ——— */
@media (max-width: 1180px) {
  :root {
    --header-h: 5.5rem;
  }

  .nav-toggle {
    display: flex;
  }

  .logo__image {
    width: clamp(128px, 38vw, 168px);
  }

  .site-header__panel {
    position: fixed;
    top: var(--header-h);
    right: 0;
    left: 0;
    z-index: 999;
    display: block;
    margin: 0;
    padding: 0;
    pointer-events: none;
  }

  .site-nav {
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    padding: 1rem 1.25rem 1.5rem;
    background: var(--gray-dark);
    border-bottom: 2px solid var(--acid);
    transform: translateY(-120%);
    opacity: 0;
    transition:
      transform var(--transition),
      opacity var(--transition);
  }

  .site-header__panel.is-open .site-nav {
    transform: translateY(0);
    opacity: 1;
    pointer-events: auto;
  }

  .site-nav__link {
    padding: 0.9rem 0;
    font-size: 0.78rem;
    border-bottom: 1px solid rgba(205, 204, 204, 0.2);
  }

  .site-nav__item--has-dropdown {
    border-bottom: 1px solid rgba(205, 204, 204, 0.2);
  }

  .site-nav__item-row {
    justify-content: space-between;
    padding-top: 0.9rem;
  }

  .site-nav__item-row .site-nav__link {
    padding: 0;
    border-bottom: none;
  }

  .site-nav__dropdown-menu {
    display: none;
    padding: 0 0 0.85rem 0.75rem;
  }

  .site-nav__item--has-dropdown.is-open .site-nav__dropdown-menu {
    display: grid;
    gap: 0.15rem;
  }

  .site-nav__dropdown-link {
    padding: 0.55rem 0;
    font-size: 0.72rem;
    border-bottom: 1px solid rgba(205, 204, 204, 0.12);
  }

  .site-nav__dropdown-link:last-child {
    border-bottom: none;
  }

  .nav-cta {
    display: flex;
    width: 100%;
    margin-top: 1.25rem;
    padding: 1.05rem 1.25rem;
    font-size: 0.82rem;
    letter-spacing: 0.07em;
    text-align: center;
    border: none;
  }
}

@media (max-width: 390px) {
  .site-header {
    padding-inline: 0.85rem;
  }

  .logo__image {
    width: clamp(118px, 42vw, 150px);
  }
}

/* ——— Hero ——— */
.hero {
  position: relative;
  min-height: 100svh;
  background-color: #8f00ff;
  overflow: hidden;
}

.hero__layout {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1fr;
  align-items: center;
  min-height: 100svh;
  max-width: 1440px;
  margin: 0 auto;
  padding: calc(var(--header-h) + 1.5rem) clamp(1.25rem, 4vw, 3.5rem)
    clamp(2.5rem, 6vh, 4rem);
}

@media (min-width: 960px) {
  .hero__layout {
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
    column-gap: clamp(1.5rem, 3vw, 3rem);
    padding-top: calc(var(--header-h) + 2rem);
  }
}

.hero__copy {
  position: relative;
  z-index: 5;
  width: 100%;
  max-width: 38rem;
}

@media (min-width: 960px) {
  .hero__copy {
    grid-column: 1;
    max-width: 100%;
    padding-right: 0.5rem;
  }
}

.hero__ribbon {
  display: inline-flex;
  align-items: flex-start;
  gap: 0.6rem;
  max-width: 100%;
  margin-bottom: 1.25rem;
  padding: 0.45rem 0.9rem;
  font-family: var(--font-impact);
  font-size: clamp(0.62rem, 1.1vw, 0.72rem);
  line-height: 1.35;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--gray-dark);
  background: var(--acid);
  border-left: 4px solid var(--white);
}

.hero__ribbon-dot {
  width: 7px;
  height: 7px;
  margin-top: 0.35em;
  border-radius: 50%;
  background: var(--purple);
  flex-shrink: 0;
  animation: pulse-dot 2s ease-in-out infinite;
}

.hero__headline {
  margin-bottom: clamp(1.25rem, 2.5vh, 1.75rem);
}

.hero__h1-seo {
  display: block;
  font-family: var(--font-source);
  font-size: clamp(0.68rem, 1.35vw, 0.82rem);
  font-weight: 600;
  letter-spacing: 0.14em;
  line-height: 1.35;
  text-transform: uppercase;
  color: var(--color-acid);
  margin-bottom: 0.75em;
}

.bestia-contact__h1-seo {
  display: block;
  font-family: var(--font-source);
  font-size: clamp(0.68rem, 1.35vw, 0.82rem);
  font-weight: 600;
  letter-spacing: 0.12em;
  line-height: 1.35;
  text-transform: uppercase;
  color: rgba(229, 255, 57, 0.92);
  margin-bottom: 0.65em;
}

.section__heading-seo {
  display: block;
  font-family: var(--font-source);
  font-size: clamp(0.62rem, 1.2vw, 0.78rem);
  font-weight: 600;
  letter-spacing: 0.13em;
  line-height: 1.35;
  text-transform: uppercase;
  color: var(--color-acid);
  margin-bottom: 0.7em;
}

.section__heading-seo--panel {
  font-size: clamp(0.58rem, 1.05vw, 0.72rem);
  letter-spacing: 0.11em;
  margin-bottom: 0.45em;
  opacity: 0.92;
}

.section__h3-kw {
  font-family: var(--font-source);
  font-size: 0.55em;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--color-acid);
  vertical-align: middle;
}

.bestia-contact__title .section__heading-seo,
.bestia-contact__title .bestia-contact__h1-seo {
  margin-bottom: 0.55em;
}

.hero__line {
  display: block;
  font-family: var(--font-impact);
  font-size: clamp(1.75rem, 4.8vw, 3.5rem);
  font-weight: 400;
  line-height: 0.95;
  letter-spacing: 0.01em;
  text-transform: uppercase;
  color: var(--acid);
}

.hero__line--accent {
  margin-top: 0.12em;
}

.hero__inline-mobile {
  display: inline;
}

.hero__line--desktop-row {
  display: none;
}

.kw {
  color: transparent;
  -webkit-text-stroke: 2px var(--acid);
  paint-order: stroke fill;
  filter: drop-shadow(0 0 10px rgba(229, 255, 57, 0.35));
}

@supports not (-webkit-text-stroke: 1px #e5ff39) {
  .kw {
    color: var(--purple);
    -webkit-text-stroke: 0;
    outline: 1px solid var(--acid);
    outline-offset: 2px;
  }
}

.hero__lead,
.hero__body {
  font-size: clamp(0.95rem, 1.25vw, 1.0625rem);
  color: var(--white);
  margin-bottom: 0.85rem;
}

.hero__body:last-of-type {
  margin-bottom: 1.5rem;
}

.hero__line--reveal {
  opacity: 0;
  transform: translateY(24px);
  animation: reveal-up 0.85s var(--ease-out) forwards;
  animation-delay: var(--d, 0s);
}

.hero__actions {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.85rem;
}

@media (min-width: 480px) {
  .hero__actions {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 1rem;
  }
}

/* ——— Colonna visiva (gorilla + grafica) ——— */
.hero__visual {
  position: relative;
  width: 100%;
  min-height: 320px;
  margin-top: 2rem;
  isolation: isolate;
}

@media (min-width: 960px) {
  .hero__visual {
    grid-column: 2;
    margin-top: 0;
    min-height: calc(100svh - var(--header-h) - 4rem);
    display: flex;
    align-items: flex-end;
    justify-content: center;
  }

  .hero__inline-mobile {
    display: none;
  }

  .hero__line--desktop-row {
    display: block;
  }

  .hero__line--accent.hero__line--desktop-row {
    margin-top: 0;
  }

  .hero__line--reveal {
    animation-name: hero-line-in;
  }

  .hero__graphics--reveal {
    opacity: 0;
    animation: hero-gfx-in 0.95s var(--ease-out) 0.5s forwards;
  }

  .hero__figure--reveal .hero__video-wrap {
    opacity: 0;
    animation: hero-gorilla-in 1.05s var(--ease-out) 0.38s forwards;
  }

  .hero__figure--reveal .hero__image {
    opacity: 0;
    animation: hero-gorilla-in 1.05s var(--ease-out) 0.38s forwards;
  }

  .hero__visual:hover .hero__video-wrap {
    box-shadow:
      0 28px 64px rgba(0, 0, 0, 0.42),
      0 0 48px rgba(229, 255, 57, 0.18);
    transition: box-shadow 0.45s var(--ease-out);
  }

  .hero__visual:hover .hero__image {
    filter: drop-shadow(0 20px 48px rgba(229, 255, 57, 0.22))
      drop-shadow(0 16px 40px rgba(52, 52, 52, 0.55));
    transition: filter 0.45s var(--ease-out);
  }
}

.hero__graphics {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
}

.gfx--grid {
  position: absolute;
  inset: 5% 0 10% 10%;
  background-image:
    linear-gradient(rgba(229, 255, 57, 0.14) 1px, transparent 1px),
    linear-gradient(90deg, rgba(229, 255, 57, 0.14) 1px, transparent 1px);
  background-size: 48px 48px;
  mask-image: radial-gradient(ellipse 80% 80% at 60% 50%, black 20%, transparent 75%);
  animation: grid-pulse 6s ease-in-out infinite;
}

.gfx--ring {
  position: absolute;
  border-radius: 50%;
  border: 2px dashed var(--acid);
}

.gfx--ring-1 {
  width: clamp(200px, 28vw, 320px);
  height: clamp(200px, 28vw, 320px);
  top: 8%;
  right: 5%;
  animation: spin 24s linear infinite;
}

.gfx--ring-2 {
  width: clamp(100px, 14vw, 160px);
  height: clamp(100px, 14vw, 160px);
  bottom: 22%;
  left: 8%;
  border-color: var(--gray-light);
  opacity: 0.85;
  animation: spin 18s linear infinite reverse;
}

.gfx--stamp {
  position: absolute;
  top: 10%;
  right: 2%;
  padding: 0.6rem 1rem;
  font-family: var(--font-impact);
  font-size: clamp(0.85rem, 1.5vw, 1.1rem);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--purple);
  background: var(--acid);
  border: 3px solid var(--gray-light);
  transform: rotate(-8deg);
  box-shadow: 6px 6px 0 rgba(52, 52, 52, 0.35);
  animation: stamp-pulse 4s ease-in-out infinite;
}

.gfx--plus {
  position: absolute;
  width: 32px;
  height: 32px;
}

.gfx--plus::before,
.gfx--plus::after {
  content: "";
  position: absolute;
  background: var(--acid);
}

.gfx--plus::before {
  top: 50%;
  left: 0;
  width: 100%;
  height: 3px;
  transform: translateY(-50%);
}

.gfx--plus::after {
  left: 50%;
  top: 0;
  width: 3px;
  height: 100%;
  transform: translateX(-50%);
}

.gfx--plus-1 {
  top: 18%;
  left: 20%;
  animation: float-y 7s ease-in-out infinite;
}

.gfx--plus-2 {
  bottom: 35%;
  right: 12%;
  width: 24px;
  height: 24px;
  animation: float-y 9s ease-in-out infinite 1s;
}

.gfx--plus-2::before {
  height: 2px;
}

.gfx--plus-2::after {
  width: 2px;
}

.gfx--square {
  position: absolute;
  width: 56px;
  height: 56px;
  top: 42%;
  right: 28%;
  border: 2px solid var(--acid);
  transform: rotate(15deg);
  animation: spin-slow 12s ease-in-out infinite;
}

.gfx--line {
  position: absolute;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--acid), transparent);
}

.gfx--line-1 {
  width: 120px;
  top: 30%;
  left: 5%;
  animation: line-slide 5s ease-in-out infinite;
}

.gfx--line-2 {
  width: 80px;
  bottom: 18%;
  right: 20%;
  animation: line-slide 4s ease-in-out infinite 0.8s reverse;
}

.gfx--dot {
  position: absolute;
  border-radius: 50%;
  background: var(--acid);
  box-shadow: 0 0 16px var(--acid);
}

.gfx--dot-1 {
  width: 12px;
  height: 12px;
  top: 12%;
  left: 45%;
  animation: pulse-dot 2.5s ease-in-out infinite;
}

.gfx--dot-2 {
  width: 8px;
  height: 8px;
  top: 55%;
  right: 8%;
  animation: pulse-dot 2.5s ease-in-out infinite 0.6s;
}

.gfx--dot-3 {
  width: 14px;
  height: 14px;
  bottom: 8%;
  left: 30%;
  background: var(--white);
  box-shadow: 0 0 12px var(--white);
  animation: pulse-dot 3s ease-in-out infinite 1.2s;
}

.gfx--pill {
  position: absolute;
  padding: 0.35rem 0.75rem;
  font-family: var(--font-impact);
  font-size: 0.65rem;
  font-weight: 800;
  letter-spacing: 0.15em;
  color: var(--gray-dark);
  background: var(--acid);
  border-radius: var(--radius-pill);
  top: 62%;
  right: 0;
  animation: float-y 8s ease-in-out infinite;
}

.gfx--pill-2 {
  top: 24%;
  left: 0;
  background: transparent;
  color: var(--acid);
  border: 2px solid var(--acid);
  animation-delay: 1.5s;
}

.hero__figure {
  position: relative;
  z-index: 2;
  margin: 0;
  display: flex;
  justify-content: center;
  align-items: flex-end;
  width: 100%;
}

.hero__video-link {
  display: block;
  text-decoration: none;
  color: inherit;
}

.hero__video-wrap {
  position: relative;
  width: min(100%, 420px);
  max-height: min(65vh, 720px);
  aspect-ratio: 4 / 5;
  border-radius: 1rem;
  overflow: hidden;
  border: 2px solid rgba(229, 255, 57, 0.35);
  box-shadow:
    0 24px 56px rgba(0, 0, 0, 0.35),
    0 0 40px rgba(143, 0, 255, 0.2);
  will-change: transform;
  animation: gorilla-float 6s ease-in-out infinite;
}

.hero__video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  background: #120818;
}

.hero__video--desktop {
  display: none;
}

@media (min-width: 960px) {
  .hero__video--mobile {
    display: none;
  }

  .hero__video--desktop {
    display: block;
  }

  .hero__video-wrap {
    aspect-ratio: 16 / 10;
  }
}

.hero__video-scrim {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(8, 4, 18, 0.15) 0%, rgba(8, 4, 18, 0.35) 45%, rgba(8, 4, 18, 0.82) 100%),
    linear-gradient(90deg, rgba(143, 0, 255, 0.12), transparent 55%);
  pointer-events: none;
}

.hero__video-title {
  position: absolute;
  inset: auto 0 0 0;
  z-index: 2;
  padding: clamp(1rem, 3vw, 1.35rem);
  pointer-events: none;
}

.hero__video-title-line {
  display: block;
  font-family: var(--font-impact);
  font-size: clamp(1.15rem, 3.2vw, 1.75rem);
  line-height: 0.95;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: #fff;
  text-shadow: 0 4px 24px rgba(0, 0, 0, 0.45);
}

.hero__video-title-line--accent {
  margin-top: 0.2em;
  color: var(--acid);
}

.hero__video-title .kw {
  -webkit-text-stroke: 1.5px var(--acid);
}

.hero__image {
  width: min(100%, 420px);
  max-height: min(65vh, 720px);
  object-fit: contain;
  object-position: bottom center;
  filter: drop-shadow(0 16px 40px rgba(52, 52, 52, 0.55));
  will-change: transform;
}

@media (min-width: 960px) {
  .hero__video-wrap {
    width: 100%;
    max-width: 520px;
    max-height: min(78vh, 860px);
  }

  .hero__image {
    width: 100%;
    max-width: 520px;
    max-height: min(78vh, 860px);
  }
}

@media (max-width: 959px) {
  .hero__layout {
    display: flex;
    flex-direction: column;
  }

  .hero__visual {
    order: -1;
    margin-top: 0;
    margin-bottom: 1rem;
    min-height: auto;
  }

  .hero__figure {
    justify-content: center;
  }

  .hero__video-wrap {
    width: min(86vw, 378px);
    max-height: min(48vh, 483px);
  }

  .hero__image {
    width: min(86vw, 378px);
    max-height: min(48vh, 483px);
  }

  .gfx--ring-1 {
    width: 180px;
    height: 180px;
    right: 0;
    top: 0;
  }

  .hero__line {
    font-size: clamp(1.58rem, 10vw, 2.1rem);
  }

  .hero__actions {
    width: 100%;
  }

  .hero__actions .btn {
    width: 100%;
    text-align: center;
  }
}

@media (max-width: 390px) {
  .hero__video-wrap {
    width: min(89vw, 336px);
    max-height: min(45vh, 420px);
  }

  .hero__image {
    width: min(89vw, 336px);
    max-height: min(45vh, 420px);
  }

  .hero__line {
    font-size: clamp(1.44rem, 9.4vw, 1.9rem);
  }
}

@media (prefers-reduced-motion: reduce) {
  .hero__video-wrap {
    animation: none;
  }

  .hero__video--mobile,
  .hero__video--desktop {
    display: none;
  }
}

/* ——— Keyframes ——— */
@keyframes reveal-up {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes hero-line-in {
  from {
    opacity: 0;
    transform: translateY(28px);
    filter: blur(3px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
    filter: blur(0);
  }
}

@keyframes hero-gfx-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes hero-gorilla-in {
  from {
    opacity: 0;
    transform: translateY(36px) scale(0.97);
    filter: blur(4px);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
    filter: blur(0);
  }
}

@keyframes stamp-pulse {
  0%,
  100% {
    transform: rotate(-8deg) scale(1);
  }
  50% {
    transform: rotate(-6deg) scale(1.04);
  }
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

@keyframes spin-slow {
  0%,
  100% {
    transform: rotate(15deg);
  }
  50% {
    transform: rotate(30deg) scale(1.05);
  }
}

@keyframes float-y {
  0%,
  100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-14px);
  }
}

@keyframes pulse-dot {
  0%,
  100% {
    transform: scale(1);
    opacity: 0.85;
  }
  50% {
    transform: scale(1.3);
    opacity: 1;
  }
}

@keyframes line-slide {
  0%,
  100% {
    transform: translateX(0);
    opacity: 0.5;
  }
  50% {
    transform: translateX(20px);
    opacity: 1;
  }
}

@keyframes grid-pulse {
  0%,
  100% {
    opacity: 0.6;
  }
  50% {
    opacity: 1;
  }
}

@keyframes gorilla-float {
  0%,
  100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-8px);
  }
}

@keyframes cta-glow {
  0%,
  100% {
    box-shadow: 0 4px 20px rgba(229, 255, 57, 0.3);
  }
  50% {
    box-shadow: 0 4px 32px rgba(229, 255, 57, 0.55);
  }
}

/* ——— Sezione problema ——— */
.section {
  position: relative;
  background: var(--gray-light);
  color: var(--gray-dark);
  overflow: hidden;
}

.section__inner {
  position: relative;
  z-index: 2;
  width: min(1120px, 100% - 2.5rem);
  margin: 0 auto;
  padding: clamp(4rem, 8vw, 6rem) 0;
}

.section__head {
  margin-bottom: 1.35rem;
}

.section__title {
  font-family: var(--font-impact);
  font-size: clamp(2rem, 5.2vw, 4.2rem);
  line-height: 0.94;
  letter-spacing: 0.01em;
  text-transform: uppercase;
  color: var(--purple);
  max-width: 16ch;
}

.section__title-line {
  display: block;
}

.section-kw {
  color: transparent;
  -webkit-text-stroke: 2px var(--purple);
  filter: drop-shadow(0 0 10px rgba(143, 0, 255, 0.15));
}

.intro-kw {
  color: var(--purple);
  font-weight: 600;
}

.section__intro {
  max-width: 74ch;
  font-size: clamp(1.02rem, 1.8vw, 1.18rem);
  margin-bottom: 1rem;
}

.section__close {
  margin-top: 1.35rem;
  font-family: var(--font-impact);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--purple);
}

.section--problem {
  min-height: min(100svh, 920px);
  background: var(--gray-light);
}

.problem__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.problem__bg-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center left;
}

.problem__veil {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(
    90deg,
    rgba(205, 204, 204, 0.08) 0%,
    rgba(205, 204, 204, 0.45) 42%,
    rgba(205, 204, 204, 0.9) 58%,
    #cdcccc 72%
  );
}

.section--problem .section__inner {
  width: min(1320px, calc(100% - 2.5rem));
  padding-top: 0;
  padding-bottom: 0;
}

.problem__layout {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  min-height: min(100svh, 920px);
}

.problem__content {
  position: relative;
  z-index: 2;
  width: min(100%, 620px);
  margin-left: auto;
  padding: clamp(4rem, 8vw, 6rem) 0;
}

.pain-flow {
  list-style: none;
  margin: 1.4rem 0 0;
  padding: 0;
  display: grid;
  gap: 0.72rem;
  max-width: 620px;
}

.pain-flow__item {
  position: relative;
  padding-left: 1.75rem;
}

.pain-flow__item::before {
  content: "";
  position: absolute;
  left: 0.15rem;
  top: 0.88rem;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--acid);
  box-shadow: 0 0 14px rgba(229, 255, 57, 0.55);
}

.pain-flow__item::after {
  content: "";
  position: absolute;
  left: 0.53rem;
  top: 1.55rem;
  width: 1px;
  height: calc(100% + 0.42rem);
  background: linear-gradient(180deg, rgba(143, 0, 255, 0.45), rgba(143, 0, 255, 0));
}

.pain-flow__item:last-child::after {
  display: none;
}

.pain-flow__item span {
  display: inline-block;
  padding: 0.58rem 0.9rem 0.62rem;
  border: 1px solid rgba(143, 0, 255, 0.24);
  border-radius: 0.65rem;
  background: rgba(255, 255, 255, 0.5);
  font-size: 1rem;
  backdrop-filter: blur(2px);
  transition:
    transform var(--transition),
    border-color var(--transition),
    box-shadow var(--transition);
}

.pain-flow__item:hover span {
  transform: translateX(6px);
  border-color: rgba(143, 0, 255, 0.42);
  box-shadow: 0 10px 18px rgba(143, 0, 255, 0.12);
}

/* ——— Sezione soluzione ——— */
.section--solution .section__inner {
  width: min(1240px, calc(100% - 2.5rem));
}

.section--solution .solution__inner {
  padding-bottom: clamp(0.5rem, 1.5vw, 0.85rem);
}

.section--solution .solution__footer {
  padding: 0 0 clamp(3rem, 6vw, 5rem);
}

.solution__inner {
  text-align: center;
}

.solution__header {
  margin-bottom: clamp(2rem, 5vw, 3.5rem);
}

.section__title--center {
  max-width: 22ch;
  margin-inline: auto;
  text-align: center;
}

.solution__intro {
  max-width: 72ch;
  margin: 1rem auto 0;
}

.solution__intro .section__intro {
  margin-bottom: 0.85rem;
}

.solution__intro .section__intro:last-child {
  margin-bottom: 0;
}

.solution-flow {
  position: relative;
  display: flex;
  align-items: stretch;
  justify-content: center;
  gap: clamp(0.5rem, 2vw, 1.25rem);
  width: 100%;
  margin: 0 auto 0;
  padding: 0 clamp(0.25rem, 2vw, 1rem);
}

.solution-flow::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 8%;
  right: 8%;
  height: 2px;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(143, 0, 255, 0.35) 12%,
    rgba(143, 0, 255, 0.35) 88%,
    transparent
  );
  transform: translateY(-50%);
  z-index: 0;
}

.solution-flow__step {
  position: relative;
  z-index: 1;
  flex: 1 1 0;
  max-width: 320px;
  min-height: 210px;
  padding: 1.35rem 1.1rem 1.2rem;
  border: 2px solid rgba(143, 0, 255, 0.45);
  border-radius: 1rem;
  background: rgba(255, 255, 255, 0.55);
  box-shadow: 0 12px 28px rgba(52, 52, 52, 0.1);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  text-decoration: none;
  color: inherit;
  cursor: pointer;
  transition:
    transform var(--transition),
    border-color var(--transition),
    box-shadow var(--transition);
}

.solution-flow__step:hover {
  transform: translateY(-4px);
  border-color: var(--purple);
  box-shadow: 0 16px 34px rgba(143, 0, 255, 0.16);
}

.solution-flow__num {
  font-family: var(--font-impact);
  font-size: 0.72rem;
  letter-spacing: 0.14em;
  color: var(--acid);
  background: var(--gray-dark);
  padding: 0.2rem 0.55rem;
  border-radius: var(--radius-pill);
}

.solution-flow__verb {
  font-family: var(--font-impact);
  font-size: clamp(1.35rem, 2.4vw, 1.85rem);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--purple);
  line-height: 1;
}

.solution-flow__text {
  font-size: clamp(0.95rem, 1.5vw, 1.05rem);
  color: var(--gray-dark);
  max-width: 22ch;
}

.solution-flow__connector {
  position: relative;
  z-index: 2;
  align-self: center;
  width: clamp(28px, 4vw, 48px);
  height: clamp(28px, 4vw, 48px);
  flex-shrink: 0;
  border-radius: 50%;
  background: var(--acid);
  box-shadow: 0 0 18px rgba(229, 255, 57, 0.45);
}

.solution-flow__connector::before {
  content: "";
  position: absolute;
  inset: 0;
  margin: auto;
  width: 35%;
  height: 35%;
  border-top: 3px solid var(--gray-dark);
  border-right: 3px solid var(--gray-dark);
  transform: rotate(45deg) translate(-12%, 12%);
}

.solution__punchline-wrap {
  width: 100%;
  margin: clamp(0.25rem, 0.8vw, 0.5rem) 0 clamp(0.4rem, 1vw, 0.65rem);
  padding: 0 clamp(1.25rem, 4vw, 3.5rem);
}

.solution__punchline {
  width: 100%;
  margin: 0;
  padding: 0;
  font-family: var(--font-impact);
  font-size: clamp(0.5rem, 4vw, 3rem);
  line-height: 1;
  letter-spacing: 0.01em;
  text-transform: uppercase;
  text-align: left;
  color: var(--purple);
  white-space: nowrap;
}

.solution__punchline .section-kw {
  -webkit-text-stroke: clamp(1px, 0.08em, 2px) var(--purple);
}

.solution__cta-wrap {
  display: flex;
  justify-content: center;
  margin-top: 0;
}

.solution__cta-wrap .btn--primary {
  animation: cta-glow 3s ease-in-out infinite;
}

.section__cta {
  margin-top: 0;
}

/* ——— Sezione ecosistema ——— */
.section--ecosystem {
  background: var(--ecosystem-bg);
  color: var(--acid);
}

.ecosystem__hero {
  position: relative;
  width: 100%;
  min-height: min(48svh, 520px);
  max-height: min(62svh, 620px);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.ecosystem__visual-link {
  position: absolute;
  inset: 0;
  z-index: 0;
  display: block;
  text-decoration: none;
  color: inherit;
  transition: filter var(--transition);
}

.ecosystem__visual-link:hover {
  filter: brightness(1.06);
}

.ecosystem__visual {
  position: absolute;
  inset: 0;
  margin: 0;
  line-height: 0;
}

.ecosystem__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.ecosystem__hero-veil {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(
    180deg,
    rgba(10, 10, 10, 0.5) 0%,
    rgba(10, 10, 10, 0.38) 50%,
    rgba(10, 10, 10, 0.52) 100%
  );
}

.ecosystem__hero-content {
  position: relative;
  z-index: 2;
  width: 100%;
  padding: clamp(1.75rem, 4vw, 2.75rem) clamp(1.25rem, 4vw, 3.5rem);
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.ecosystem__title {
  font-family: var(--font-impact);
  font-size: clamp(1.75rem, 4.2vw, 3.25rem);
  line-height: 0.95;
  letter-spacing: 0.01em;
  text-transform: uppercase;
  color: var(--acid);
  margin: 0 auto;
  max-width: none;
  width: 100%;
  text-align: center;
}

.ecosystem__title-line {
  display: block;
}

.ecosystem-kw {
  color: transparent;
  -webkit-text-stroke: 2px var(--acid);
  paint-order: stroke fill;
  filter: drop-shadow(0 0 12px rgba(229, 255, 57, 0.2));
}

a.ecosystem-kw--link {
  text-decoration: none;
  transition: filter var(--transition);
}

a.ecosystem-kw--link:hover {
  filter: drop-shadow(0 0 16px rgba(229, 255, 57, 0.45));
}

.ecosystem__cta {
  margin: 1.35rem 0 0;
}

.ecosystem__body {
  background: var(--ecosystem-bg);
  padding: clamp(2.25rem, 5vw, 3.5rem) 0 clamp(3rem, 6vw, 4.5rem);
}

.section--ecosystem .ecosystem__body .section__inner {
  width: 100%;
  padding: 0 clamp(1.25rem, 4vw, 3.5rem);
}

.ecosystem__copy {
  width: 100%;
  max-width: none;
  text-align: center;
}

.ecosystem__text {
  font-size: clamp(1.02rem, 1.8vw, 1.18rem);
  line-height: 1.65;
  color: var(--acid);
  margin-bottom: 1rem;
}

.ecosystem__close {
  margin-top: clamp(1rem, 2.5vw, 1.5rem);
  font-family: var(--font-impact);
  font-size: clamp(1.15rem, 2.4vw, 1.65rem);
  line-height: 1.15;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: var(--acid);
}

.ecosystem__close-line {
  display: block;
}

@media (max-width: 860px) {
  .ecosystem__hero {
    min-height: min(42svh, 380px);
    max-height: min(52svh, 440px);
  }

  .ecosystem__hero-veil {
    background: linear-gradient(
      180deg,
      rgba(10, 10, 10, 0.62) 0%,
      rgba(10, 10, 10, 0.48) 50%,
      rgba(10, 10, 10, 0.58) 100%
    );
  }
}

/* ——— Divider marketing ——— */
.marketing-divider {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(0.65rem, 2vw, 1.1rem);
  width: 100%;
  padding: clamp(2rem, 5vw, 3.25rem) clamp(1.25rem, 4vw, 3.5rem);
  background: linear-gradient(
    180deg,
    var(--ecosystem-bg) 0%,
    var(--gray-light) 100%
  );
}

.marketing-divider__line {
  flex: 1;
  height: 2px;
  max-width: 280px;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(143, 0, 255, 0.55) 35%,
    rgba(229, 255, 57, 0.65) 65%,
    transparent
  );
}

.marketing-divider__dot {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--acid);
  box-shadow: 0 0 14px rgba(229, 255, 57, 0.55);
  flex-shrink: 0;
}

.marketing-divider__plus {
  position: relative;
  width: 14px;
  height: 14px;
  flex-shrink: 0;
}

.marketing-divider__plus::before,
.marketing-divider__plus::after {
  content: "";
  position: absolute;
  background: var(--purple);
}

.marketing-divider__plus::before {
  top: 50%;
  left: 0;
  width: 100%;
  height: 2px;
  transform: translateY(-50%);
}

.marketing-divider__plus::after {
  left: 50%;
  top: 0;
  width: 2px;
  height: 100%;
  transform: translateX(-50%);
}

.marketing-divider__label {
  font-family: var(--font-impact);
  font-size: clamp(0.78rem, 1.5vw, 0.95rem);
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--acid);
  white-space: nowrap;
}

/* ——— Sezione sistemi hub ——— */
.section--systems {
  background: linear-gradient(
    180deg,
    var(--gray-light) 0%,
    #2a2a2a 42%,
    var(--ecosystem-bg) 100%
  );
  color: var(--acid);
}

.section--systems .section__inner {
  width: min(1320px, calc(100% - 2.5rem));
  padding: 0 0 clamp(4rem, 8vw, 6rem);
}

.systems__header {
  text-align: center;
  margin-bottom: clamp(2rem, 5vw, 3.5rem);
}

.systems__title {
  font-family: var(--font-impact);
  font-size: clamp(1.85rem, 4.8vw, 3.5rem);
  line-height: 0.95;
  letter-spacing: 0.01em;
  text-transform: uppercase;
  color: var(--purple);
  margin-bottom: 1rem;
}

.systems__title-line {
  display: block;
}

.systems-kw {
  color: transparent;
  -webkit-text-stroke: 2px var(--purple);
  paint-order: stroke fill;
}

.systems__intro {
  max-width: 62ch;
  margin: 0 auto;
  font-size: clamp(1.02rem, 1.8vw, 1.15rem);
  line-height: 1.65;
  color: var(--acid);
}

.systems__cta {
  margin: clamp(1.5rem, 3vw, 2.25rem) auto 0;
  text-align: center;
}

.systems-pyramid {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0;
}

.systems-pyramid__apex {
  width: 100%;
  display: flex;
  justify-content: center;
}

.systems-pyramid__bridge {
  position: relative;
  width: min(92%, 1180px);
  height: clamp(1.75rem, 4vw, 2.75rem);
  margin: 0.25rem 0 0.5rem;
}

.systems-pyramid__stem {
  position: absolute;
  left: 50%;
  top: 0;
  width: 2px;
  height: 55%;
  transform: translateX(-50%);
  background: linear-gradient(
    180deg,
    var(--acid),
    rgba(143, 0, 255, 0.65)
  );
}

.systems-pyramid__beam {
  position: absolute;
  left: 2%;
  right: 2%;
  bottom: 0;
  height: 2px;
  background: linear-gradient(
    90deg,
    rgba(143, 0, 255, 0.15),
    rgba(143, 0, 255, 0.55) 20%,
    rgba(143, 0, 255, 0.55) 80%,
    rgba(143, 0, 255, 0.15)
  );
}

.systems-pyramid__row {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: clamp(0.55rem, 1vw, 0.9rem);
  width: 100%;
  align-items: stretch;
}

.systems-pyramid__row .systems-card--module {
  min-height: 100%;
}

.systems-card {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  border-radius: 1rem;
  padding: clamp(1rem, 2.2vw, 1.35rem);
  text-decoration: none;
  color: inherit;
  transition:
    transform 0.35s var(--ease-out),
    border-color 0.35s var(--ease-out),
    background 0.35s var(--ease-out),
    box-shadow 0.35s var(--ease-out);
}

.systems-card--hub {
  width: min(100%, 560px);
  text-align: center;
  border: 2px solid var(--acid);
  background: linear-gradient(
    165deg,
    rgba(229, 255, 57, 0.14) 0%,
    rgba(10, 10, 10, 0.94) 58%
  );
  box-shadow:
    0 0 0 1px rgba(229, 255, 57, 0.25),
    0 18px 42px rgba(229, 255, 57, 0.12);
  padding: clamp(1.35rem, 3vw, 2rem);
}

.systems-card--hub:hover {
  transform: translateY(-4px);
  box-shadow:
    0 0 0 1px rgba(229, 255, 57, 0.45),
    0 22px 48px rgba(229, 255, 57, 0.2);
}

.systems-card--module {
  cursor: pointer;
  border: 2px solid var(--purple);
  background: linear-gradient(
    165deg,
    rgba(143, 0, 255, 0.16) 0%,
    rgba(10, 10, 10, 0.96) 62%
  );
  box-shadow: 0 12px 28px rgba(143, 0, 255, 0.12);
  outline: none;
}

.systems-card--module:hover,
.systems-card--module:focus-visible,
.systems-card--module.is-active {
  transform: translateY(-6px);
  border-color: var(--acid);
  background: linear-gradient(
    165deg,
    rgba(229, 255, 57, 0.14) 0%,
    rgba(10, 10, 10, 0.94) 62%
  );
  box-shadow:
    0 0 0 1px rgba(229, 255, 57, 0.3),
    0 18px 40px rgba(229, 255, 57, 0.16);
}

.systems-card__badge {
  display: inline-block;
  align-self: center;
  margin-bottom: 0.65rem;
  font-family: var(--font-impact);
  font-size: 0.68rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--gray-dark);
  background: var(--acid);
  padding: 0.2rem 0.6rem;
  border-radius: var(--radius-pill);
}

.systems-card__title {
  font-family: var(--font-impact);
  font-size: clamp(1rem, 1.8vw, 1.22rem);
  line-height: 1.05;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: var(--acid);
  margin-bottom: 0.55rem;
}

.systems-card--hub .systems-card__title {
  font-size: clamp(1.45rem, 3vw, 2.1rem);
  margin-bottom: 0.25rem;
}

.systems-card__hub-sub {
  font-family: var(--font-impact);
  font-size: clamp(0.9rem, 1.6vw, 1.1rem);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--purple);
  margin-bottom: 0.85rem;
}

.systems-card__hub-text {
  font-size: clamp(0.95rem, 1.5vw, 1.05rem);
  line-height: 1.6;
  color: var(--gray-light);
}

.systems-card__tagline {
  font-family: var(--font-impact);
  font-size: clamp(0.82rem, 1.4vw, 0.95rem);
  line-height: 1.2;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: var(--purple);
  margin-bottom: 0.65rem;
}

.systems-card__text,
.systems-card__helps {
  font-size: clamp(0.92rem, 1.45vw, 1rem);
  line-height: 1.58;
  color: var(--gray-light);
  margin-bottom: 0.65rem;
}

.systems-card__solves {
  margin-top: auto;
  padding-top: 0.75rem;
  border-top: 1px solid rgba(143, 0, 255, 0.35);
  font-size: clamp(0.88rem, 1.35vw, 0.96rem);
  line-height: 1.5;
  color: var(--gray-light);
  transition: border-color 0.35s var(--ease-out);
}

.systems-card--module:hover .systems-card__solves,
.systems-card--module:focus-visible .systems-card__solves,
.systems-card--module.is-active .systems-card__solves {
  border-top-color: rgba(229, 255, 57, 0.35);
}

.systems-card__solves span {
  font-family: var(--font-impact);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--acid);
}

@media (max-width: 1100px) {
  .systems-pyramid__row {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 768px) {
  .systems-pyramid__row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .systems-pyramid__bridge {
    display: none;
  }
}

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

  .systems-card--hub {
    width: 100%;
  }

  .marketing-divider__line {
    max-width: 72px;
  }
}

/* ——— Sezione origine VRC ——— */
.section--origin {
  background: var(--gray-light);
  color: var(--gray-dark);
}

.origin__banner {
  width: 100%;
  min-height: min(100svh, 920px);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: clamp(4rem, 8vw, 6.5rem) clamp(1.25rem, 4vw, 3.5rem);
}

.origin__title {
  width: 100%;
  max-width: none;
  margin: 0 auto clamp(2rem, 5vw, 3.25rem);
  font-family: var(--font-impact);
  font-size: clamp(2rem, 5.5vw, 4.5rem);
  line-height: 0.94;
  letter-spacing: 0.01em;
  text-transform: uppercase;
  color: var(--purple);
}

.origin__title-line {
  display: block;
}

.origin-kw {
  color: transparent;
  -webkit-text-stroke: 2px var(--purple);
  paint-order: stroke fill;
  filter: drop-shadow(0 0 10px rgba(143, 0, 255, 0.15));
}

.origin__body {
  width: 100%;
  max-width: min(78ch, 100%);
  margin: 0 auto;
}

.origin__text {
  font-size: clamp(1.02rem, 1.8vw, 1.18rem);
  line-height: 1.65;
  color: var(--gray-dark);
  margin-bottom: 1rem;
}

.origin-text-kw {
  font-weight: 600;
  color: var(--purple);
}

a.origin-text-kw--link {
  text-decoration: underline;
  text-decoration-color: rgba(143, 0, 255, 0.35);
  text-underline-offset: 0.15em;
  transition:
    color var(--transition),
    text-decoration-color var(--transition);
}

a.origin-text-kw--link:hover {
  color: var(--acid);
  text-decoration-color: rgba(229, 255, 57, 0.65);
}

.origin__text:last-of-type {
  margin-bottom: 0;
}

.origin__cta-wrap {
  display: flex;
  justify-content: center;
  margin-top: clamp(2rem, 4vw, 2.75rem);
}

.origin__cta {
  animation: cta-glow 3s ease-in-out infinite;
}

@media (max-width: 640px) {
  .origin__title {
    font-size: clamp(1.65rem, 8.5vw, 2.35rem);
  }
}

/* ——— Sezione target aziende ——— */
.section--targets {
  background: var(--purple);
  color: var(--acid);
}

.section--targets .section__inner {
  width: min(1320px, calc(100% - 2.5rem));
  padding: clamp(4rem, 8vw, 6.5rem) 0 clamp(1.5rem, 3vw, 2rem);
}

.section--targets .targets__inner:last-of-type {
  padding-top: 0;
  padding-bottom: clamp(4rem, 8vw, 6.5rem);
}

.targets__hero {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  gap: clamp(1.5rem, 4vw, 3rem);
  align-items: center;
  margin-bottom: clamp(2rem, 5vw, 3rem);
}

.targets__visual {
  margin: 0;
  line-height: 0;
  border-radius: 1.15rem;
  overflow: hidden;
  border: 2px solid rgba(229, 255, 57, 0.35);
  box-shadow: 0 20px 48px rgba(0, 0, 0, 0.35);
}

.targets__image {
  display: block;
  width: 100%;
  height: 100%;
  min-height: clamp(220px, 32vw, 420px);
  object-fit: cover;
  object-position: center;
}

.targets__title {
  font-family: var(--font-impact);
  font-size: clamp(1.85rem, 4.5vw, 3.35rem);
  line-height: 0.95;
  letter-spacing: 0.01em;
  text-transform: uppercase;
  color: var(--acid);
  margin-bottom: 1.15rem;
}

.targets__title .targets-kw {
  -webkit-text-stroke: clamp(1.5px, 0.12vw, 2.5px) var(--acid);
}

.targets__subtitle {
  font-size: clamp(1.02rem, 1.8vw, 1.18rem);
  line-height: 1.65;
  color: var(--gray-light);
  max-width: 52ch;
}

.targets__bridge-wrap {
  width: 100%;
  margin-bottom: clamp(2rem, 5vw, 3rem);
  padding: 0 clamp(1.25rem, 4vw, 3.5rem);
}

.targets__bridge {
  width: 100%;
  margin: 0;
  text-align: center;
  font-family: var(--font-impact);
  font-size: clamp(1.45rem, 4.8vw, 2.65rem);
  line-height: 1.05;
  letter-spacing: 0.015em;
  text-transform: uppercase;
  color: var(--acid);
}

.targets__bridge-line {
  display: block;
}

.targets-kw {
  color: transparent;
  -webkit-text-stroke: clamp(1.5px, 0.12vw, 2.5px) var(--acid);
  paint-order: stroke fill;
  filter: drop-shadow(0 0 10px rgba(229, 255, 57, 0.15));
}

.targets__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(0.75rem, 1.6vw, 1.1rem);
  margin-bottom: clamp(2rem, 5vw, 3rem);
}

.target-card {
  display: block;
  text-decoration: none;
  color: inherit;
  padding: clamp(0.95rem, 2vw, 1.2rem) clamp(1rem, 2vw, 1.25rem);
  border-radius: 0.85rem;
  background: rgba(0, 0, 0, 0.42);
  border: 2px solid rgba(229, 255, 57, 0.28);
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.22);
  transition:
    transform var(--transition),
    border-color var(--transition),
    box-shadow var(--transition);
}

.target-card:hover {
  transform: translateY(-4px);
  border-color: rgba(229, 255, 57, 0.55);
  box-shadow: 0 16px 32px rgba(0, 0, 0, 0.32);
}

.target-card__title {
  font-family: var(--font-impact);
  font-size: clamp(0.88rem, 1.5vw, 1.02rem);
  line-height: 1.1;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--acid);
  margin-bottom: 0.45rem;
}

.target-card__line {
  font-size: clamp(0.88rem, 1.35vw, 0.96rem);
  line-height: 1.5;
  color: var(--gray-light);
}

.targets__cta-wrap {
  display: flex;
  justify-content: center;
}

.targets__cta {
  animation: cta-glow 3s ease-in-out infinite;
}

@media (max-width: 1024px) {
  .targets__hero {
    grid-template-columns: 1fr;
  }

  .targets__subtitle {
    max-width: none;
  }

  .targets__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

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

  .targets__cta-wrap .btn {
    width: 100%;
    text-align: center;
  }
}

/* ——— Sezione Perché non è la solita AI ——— */
.section--ai {
  position: relative;
  min-height: min(100svh, 920px);
  background: #1a1a1a;
  overflow: hidden;
}

.ai__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.ai__bg-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 52% center;
  filter: brightness(1.14) contrast(1.08) saturate(1.06);
}

.ai__veil {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(
    90deg,
    rgba(12, 12, 12, 0.78) 0%,
    rgba(20, 20, 20, 0.58) 22%,
    rgba(52, 52, 52, 0.24) 40%,
    rgba(205, 204, 204, 0.06) 62%,
    rgba(205, 204, 204, 0) 76%
  );
}

.section--ai .section__inner {
  width: min(1320px, calc(100% - 2.5rem));
  padding-top: 0;
  padding-bottom: 0;
}

.ai__layout {
  display: flex;
  align-items: center;
  min-height: min(100svh, 920px);
}

.ai__content {
  position: relative;
  z-index: 2;
  width: min(100%, 520px);
  padding: clamp(4rem, 8vw, 6rem) 0;
}

.ai__title {
  font-family: var(--font-impact);
  font-size: clamp(2.2rem, 5.8vw, 4.5rem);
  line-height: 0.94;
  letter-spacing: 0.01em;
  text-transform: uppercase;
  text-align: left;
  color: var(--acid);
  margin-bottom: clamp(1.25rem, 3vw, 2rem);
}

.ai__title-line {
  display: block;
}

.ai-kw {
  color: transparent;
  -webkit-text-stroke: 2px var(--acid);
  paint-order: stroke fill;
}

.ai__copy {
  display: grid;
  gap: 0.85rem;
}

.ai__text {
  font-size: clamp(1.02rem, 1.8vw, 1.15rem);
  line-height: 1.65;
  color: #f1efef;
  max-width: 52ch;
  margin: 0;
}

.text-kw {
  font-weight: 600;
  color: var(--acid);
}

@media (max-width: 860px) {
  .section--ai {
    min-height: auto;
  }

  .ai__layout {
    min-height: auto;
  }

  .ai__content {
    width: 100%;
    padding: clamp(3rem, 10vw, 4.5rem) 0;
  }

  .ai__bg-image {
    object-position: 50% 35%;
    filter: brightness(1.18) contrast(1.08) saturate(1.06);
  }

  .ai__veil {
    background: linear-gradient(
      180deg,
      rgba(12, 12, 12, 0.72) 0%,
      rgba(20, 20, 20, 0.5) 26%,
      rgba(52, 52, 52, 0.24) 42%,
      rgba(205, 204, 204, 0.08) 60%,
      transparent 72%
    );
  }
}

/* ——— Scroll reveal ——— */
.scroll-reveal {
  opacity: 0;
  transform: translateY(36px);
  transition:
    opacity 0.75s var(--ease-out),
    transform 0.75s var(--ease-out);
  transition-delay: var(--d, 0s);
}

.scroll-reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.pain-flow__item.scroll-reveal {
  transform: translateX(28px);
  opacity: 0;
}

.pain-flow__item.scroll-reveal.is-visible {
  transform: translateX(0);
  opacity: 1;
}

.scroll-reveal--pop {
  transform: scale(0.35);
}

.scroll-reveal--pop.is-visible {
  transform: scale(1);
}

.solution-flow.scroll-reveal.is-visible::before {
  animation: flow-line-draw 1.1s var(--ease-out) forwards;
  animation-delay: calc(var(--d, 0s) + 0.1s);
}

.solution-flow.scroll-reveal::before {
  transform: translateY(-50%) scaleX(0);
  transform-origin: left center;
}

.solution-flow__step.scroll-reveal {
  transform: translateY(40px) scale(0.94);
  opacity: 0;
}

.solution-flow__step.scroll-reveal.is-visible {
  transform: translateY(0) scale(1);
  opacity: 1;
}

@keyframes flow-line-draw {
  to {
    transform: translateY(-50%) scaleX(1);
  }
}

@media (max-width: 860px) {
  .section--problem {
    min-height: auto;
  }

  .problem__layout {
    min-height: auto;
    justify-content: center;
  }

  .problem__content {
    width: 100%;
    margin-left: 0;
    padding: clamp(3rem, 10vw, 4.5rem) 0;
  }

  .problem__bg-image {
    object-position: center 20%;
  }

  .problem__veil {
    background: linear-gradient(
      180deg,
      rgba(205, 204, 204, 0.2) 0%,
      rgba(205, 204, 204, 0.88) 45%,
      #cdcccc 62%
    );
  }

  .solution-flow {
    flex-direction: column;
    align-items: center;
    gap: 0.85rem;
    max-width: 380px;
    margin-inline: auto;
  }

  .solution-flow::before {
    top: 8%;
    bottom: 8%;
    left: 50%;
    right: auto;
    width: 2px;
    height: auto;
    transform: translateX(-50%);
    background: linear-gradient(
      180deg,
      transparent,
      rgba(143, 0, 255, 0.35) 12%,
      rgba(143, 0, 255, 0.35) 88%,
      transparent
    );
  }

  .solution-flow.scroll-reveal::before {
    transform: translateX(-50%) scaleY(0);
    transform-origin: top center;
  }

  @keyframes flow-line-draw {
    to {
      transform: translateX(-50%) scaleY(1);
    }
  }

  .solution-flow__step {
    width: 100%;
    max-width: none;
    min-height: auto;
  }

  .solution-flow__connector {
    transform: rotate(90deg);
  }

  .solution__cta-wrap .btn {
    width: 100%;
    text-align: center;
  }
}

@media (prefers-reduced-motion: reduce) {
  .hero__line--reveal {
    opacity: 1;
    transform: none;
    animation: none;
    filter: none;
  }

  .hero__graphics--reveal,
  .hero__figure--reveal .hero__image {
    opacity: 1;
    transform: none;
    animation: none !important;
    filter: none;
  }

  .gfx,
  .hero__figure,
  .hero__ribbon-dot,
  .hero__actions .btn--primary,
  .solution__cta-wrap .btn--primary,
  .origin__cta,
  .targets__cta,
  .bestia-how__cta {
    animation: none !important;
  }

  .scroll-reveal {
    opacity: 1;
    transform: none;
    transition: none;
  }

  .solution-flow.scroll-reveal::before {
    transform: translateY(-50%) scaleX(1);
  }
}

/* ——— Pagina La Bestia ——— */
.hero--bestia {
  min-height: 100svh;
  background-color: #07060b;
  background-image:
    radial-gradient(
      ellipse 72% 58% at 68% 42%,
      rgba(143, 0, 255, 0.42) 0%,
      rgba(90, 0, 160, 0.18) 38%,
      transparent 72%
    ),
    radial-gradient(
      ellipse 40% 32% at 18% 88%,
      rgba(143, 0, 255, 0.14) 0%,
      transparent 70%
    ),
    linear-gradient(155deg, #040308 0%, #0c0016 38%, #12001f 62%, #06050a 100%);
  overflow: hidden;
}

.hero--bestia::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(143, 0, 255, 0.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(143, 0, 255, 0.08) 1px, transparent 1px);
  background-size: 56px 56px;
  mask-image: linear-gradient(
    180deg,
    transparent 0%,
    rgba(0, 0, 0, 0.35) 55%,
    black 100%
  );
  opacity: 0.55;
}

.hero--bestia::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 42%;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(229, 255, 57, 0.09) 1px, transparent 1px),
    linear-gradient(90deg, rgba(229, 255, 57, 0.09) 1px, transparent 1px);
  background-size: 48px 48px;
  transform: perspective(520px) rotateX(68deg);
  transform-origin: center bottom;
  mask-image: linear-gradient(180deg, transparent 0%, black 45%);
  opacity: 0.45;
}

.hero__layout--bestia {
  position: relative;
  z-index: 2;
  min-height: 100svh;
  max-width: 1560px;
  align-items: center;
  padding-bottom: clamp(2.5rem, 5vh, 4rem);
}

@media (min-width: 960px) {
  .hero__layout--bestia {
    grid-template-columns: minmax(0, 0.88fr) minmax(0, 1.12fr);
    column-gap: clamp(0.75rem, 2vw, 1.5rem);
  }
}

.hero__copy--bestia {
  max-width: none;
}

.hero__headline--bestia {
  margin-bottom: clamp(0.75rem, 1.8vh, 1.1rem);
}

.hero__title-mega {
  display: block;
  font-family: var(--font-impact);
  font-size: clamp(2.75rem, 8.5vw, 6.75rem);
  line-height: 0.92;
  letter-spacing: 0.01em;
  text-transform: uppercase;
  color: var(--acid);
  white-space: nowrap;
}

.hero__title-mega .kw {
  -webkit-text-stroke: clamp(2px, 0.1em, 3px) var(--acid);
}

.hero__ribbon--bestia {
  display: inline-flex;
  max-width: 100%;
  margin-bottom: clamp(1.35rem, 2.8vh, 1.85rem);
  padding: 0.55rem 1rem;
  font-size: clamp(0.72rem, 1.35vw, 0.92rem);
  line-height: 1.3;
  letter-spacing: 0.07em;
}

.hero-text-kw {
  color: var(--acid);
  font-weight: 600;
}

.hero__visual--bestia {
  position: relative;
  width: 100%;
  min-height: clamp(300px, 48vw, 560px);
  margin-top: clamp(1.5rem, 4vw, 2rem);
  isolation: isolate;
}

@media (min-width: 960px) {
  .hero__visual--bestia {
    grid-column: 2;
    margin-top: 0;
    min-height: calc(100svh - var(--header-h) - 2.5rem);
    display: flex;
    align-items: center;
    justify-content: center;
  }
}

.hero__figure--bestia {
  position: relative;
  width: 100%;
  max-width: 860px;
  margin: 0 auto;
  line-height: 0;
  overflow: hidden;
  border-radius: 0.25rem;
}

@media (min-width: 960px) {
  .hero__figure--bestia {
    max-width: none;
    width: 112%;
  }
}

.hero__scene-image {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
  object-position: center;
}

@media (max-width: 959px) {
  .hero__layout--bestia {
    min-height: auto;
  }

  .hero__title-mega {
    font-size: clamp(2.35rem, 12.5vw, 3.75rem);
    white-space: normal;
  }
}

.section--bestia-how {
  position: relative;
  overflow: hidden;
  background-color: #07060b;
  background-image:
    radial-gradient(
      ellipse 65% 50% at 50% 0%,
      rgba(143, 0, 255, 0.28) 0%,
      transparent 68%
    ),
    linear-gradient(180deg, #0a0014 0%, #06050a 55%, #0c0018 100%);
  color: var(--white);
}

.section--bestia-how::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(143, 0, 255, 0.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(143, 0, 255, 0.06) 1px, transparent 1px);
  background-size: 52px 52px;
  mask-image: linear-gradient(180deg, black 0%, transparent 88%);
  opacity: 0.5;
}

.bestia-how__inner {
  position: relative;
  z-index: 1;
  width: min(1360px, calc(100% - 2.5rem));
  padding: clamp(4rem, 8vw, 6.5rem) 0;
}

.bestia-how__header {
  text-align: center;
  margin-bottom: clamp(2.5rem, 5vw, 3.75rem);
}

.bestia-how__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  margin-bottom: 1.1rem;
  padding: 0.42rem 0.95rem;
  font-family: var(--font-impact);
  font-size: clamp(0.62rem, 1.1vw, 0.74rem);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--gray-dark);
  background: var(--acid);
  border: 1px solid rgba(229, 255, 57, 0.45);
  border-radius: var(--radius-pill);
}

.bestia-how__eyebrow-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--purple);
  flex-shrink: 0;
}

.bestia-how__title {
  font-family: var(--font-impact);
  font-size: clamp(2rem, 5.2vw, 3.85rem);
  line-height: 0.95;
  letter-spacing: 0.01em;
  text-transform: uppercase;
  color: var(--acid);
  max-width: 18ch;
  margin-inline: auto;
}

.bestia-how__track {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(1.25rem, 3vw, 1.75rem);
}

@media (min-width: 1080px) {
  .bestia-how__track {
    flex-direction: row;
    align-items: stretch;
    justify-content: center;
    gap: 0;
  }
}

.bestia-card {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 380px;
  min-height: 100%;
  padding: clamp(1.1rem, 2vw, 1.35rem);
  border: 2px solid rgba(143, 0, 255, 0.45);
  border-radius: 1rem;
  background: rgba(8, 4, 14, 0.72);
  box-shadow:
    0 0 0 1px rgba(143, 0, 255, 0.12) inset,
    0 20px 40px rgba(0, 0, 0, 0.35);
}

@media (min-width: 1080px) {
  .bestia-card {
    flex: 1 1 0;
    max-width: none;
  }
}

.bestia-card__num {
  display: block;
  font-family: var(--font-impact);
  font-size: clamp(2.25rem, 3.5vw, 3rem);
  line-height: 1;
  letter-spacing: 0.02em;
  color: var(--acid);
  margin-bottom: 0.55rem;
}

.bestia-card__visual {
  margin: 0 0 0.85rem;
  line-height: 0;
  border-radius: 0.65rem;
  overflow: hidden;
  border: 1px solid rgba(143, 0, 255, 0.28);
  background: rgba(0, 0, 0, 0.35);
}

.bestia-card__image {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 282 / 118;
  object-fit: cover;
  object-position: center;
}

.bestia-card__tags {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin: 0 0 1rem;
  padding: 0;
}

.bestia-card__tags li {
  padding: 0.28rem 0.55rem;
  font-family: var(--font-impact);
  font-size: 0.58rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--acid);
  border: 1px solid rgba(143, 0, 255, 0.55);
  border-radius: 0.35rem;
  background: rgba(143, 0, 255, 0.1);
}

.bestia-card__body {
  display: grid;
  gap: 0.65rem;
  margin-top: auto;
}

.bestia-card__title {
  font-family: var(--font-impact);
  font-size: clamp(1.05rem, 1.8vw, 1.25rem);
  line-height: 1.1;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--acid);
}

.bestia-card__text {
  font-size: clamp(0.88rem, 1.35vw, 0.98rem);
  line-height: 1.58;
  color: rgba(255, 255, 255, 0.88);
}

.bestia-how__connector {
  position: relative;
  flex-shrink: 0;
  width: clamp(28px, 4vw, 40px);
  height: clamp(28px, 4vw, 40px);
  border-radius: 50%;
  background: var(--acid);
  box-shadow: 0 0 18px rgba(229, 255, 57, 0.4);
  align-self: center;
}

.bestia-how__connector::before {
  content: "";
  position: absolute;
  inset: 0;
  margin: auto;
  width: 32%;
  height: 32%;
  border-top: 3px solid var(--gray-dark);
  border-right: 3px solid var(--gray-dark);
  transform: rotate(45deg) translate(-12%, 12%);
}

@media (min-width: 1080px) {
  .bestia-how__connector {
    margin: 0 0.35rem;
    align-self: center;
  }
}

@media (max-width: 1079px) {
  .bestia-how__connector {
    transform: rotate(90deg);
  }
}

.bestia-how__cta-wrap {
  display: flex;
  justify-content: center;
  margin-top: clamp(2rem, 4vw, 3rem);
}

.bestia-how__cta {
  animation: cta-glow 3s ease-in-out infinite;
}

/* ——— Pagina La Bestia: hover ——— */
.page-bestia .logo__image {
  transition: filter var(--transition), transform var(--transition);
}

.page-bestia .logo:hover .logo__image {
  filter: drop-shadow(0 0 14px rgba(229, 255, 57, 0.35));
  transform: scale(1.02);
}

.page-bestia .site-nav__link,
.page-bestia .nav-cta {
  transition:
    color var(--transition),
    transform var(--transition),
    box-shadow var(--transition),
    border-color var(--transition);
}

.page-bestia .site-nav__link:hover {
  transform: translateY(-1px);
}

.page-bestia .nav-cta:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 28px rgba(229, 255, 57, 0.38);
}

.page-bestia .hero__ribbon--bestia,
.page-bestia .bestia-how__eyebrow {
  transition:
    transform var(--transition),
    box-shadow var(--transition);
}

.page-bestia .hero__ribbon--bestia:hover,
.page-bestia .bestia-how__eyebrow:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 22px rgba(229, 255, 57, 0.28);
}

.page-bestia .hero__title-mega .kw {
  transition: filter var(--transition);
}

.page-bestia .hero__headline--bestia:hover .kw {
  filter: drop-shadow(0 0 16px rgba(229, 255, 57, 0.55));
}

.page-bestia .hero-text-kw {
  transition:
    color var(--transition),
    text-shadow var(--transition);
}

.page-bestia .hero-text-kw:hover {
  text-shadow: 0 0 14px rgba(229, 255, 57, 0.5);
}

.page-bestia .hero__figure--bestia {
  transition: transform 0.45s var(--ease-out);
}

.page-bestia .hero__figure--bestia:hover {
  transform: scale(1.02);
}

.page-bestia .hero__scene-image {
  transition: filter 0.45s var(--ease-out);
}

.page-bestia .hero__figure--bestia:hover .hero__scene-image {
  filter: drop-shadow(0 0 32px rgba(143, 0, 255, 0.45));
}

.page-bestia .hero--bestia .btn--primary,
.page-bestia .hero--bestia .btn--ghost,
.page-bestia .bestia-how__cta {
  transition:
    transform var(--transition),
    box-shadow var(--transition),
    border-color var(--transition),
    color var(--transition);
}

.page-bestia .hero--bestia .btn--ghost:hover {
  border-color: var(--acid);
  color: var(--acid);
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(229, 255, 57, 0.18);
}

.page-bestia .bestia-how__title {
  transition: text-shadow var(--transition);
}

.page-bestia .bestia-how__header:hover .bestia-how__title {
  text-shadow: 0 0 24px rgba(229, 255, 57, 0.22);
}

.page-bestia .bestia-card {
  transition:
    transform 0.35s var(--ease-out),
    border-color var(--transition),
    box-shadow var(--transition);
}

.page-bestia .bestia-card:hover {
  transform: translateY(-6px);
  border-color: rgba(143, 0, 255, 0.72);
  box-shadow:
    0 0 0 1px rgba(143, 0, 255, 0.2) inset,
    0 26px 50px rgba(143, 0, 255, 0.18);
}

.page-bestia .bestia-card__num {
  transition:
    transform var(--transition),
    text-shadow var(--transition);
}

.page-bestia .bestia-card:hover .bestia-card__num {
  transform: translateX(4px);
  text-shadow: 0 0 18px rgba(229, 255, 57, 0.45);
}

.page-bestia .bestia-card__image {
  transition: transform 0.5s var(--ease-out);
}

.page-bestia .bestia-card:hover .bestia-card__image {
  transform: scale(1.06);
}

.page-bestia .bestia-card__tags li {
  transition:
    transform var(--transition),
    border-color var(--transition),
    background var(--transition),
    color var(--transition);
  cursor: default;
}

.page-bestia .bestia-card__tags li:hover {
  transform: translateY(-2px);
  border-color: rgba(229, 255, 57, 0.65);
  background: rgba(143, 0, 255, 0.24);
  color: var(--white);
}

.page-bestia .bestia-card__title {
  transition: text-shadow var(--transition);
}

.page-bestia .bestia-card:hover .bestia-card__title {
  text-shadow: 0 0 16px rgba(229, 255, 57, 0.35);
}

.page-bestia .bestia-how__connector {
  transition:
    transform var(--transition),
    box-shadow var(--transition);
}

.page-bestia .bestia-how__connector:hover {
  transform: scale(1.12);
  box-shadow: 0 0 26px rgba(229, 255, 57, 0.62);
}

@media (max-width: 1079px) {
  .page-bestia .bestia-how__connector:hover {
    transform: rotate(90deg) scale(1.12);
  }
}

.page-bestia .site-footer a,
.page-bestia .social-icon {
  transition:
    color var(--transition),
    transform var(--transition),
    border-color var(--transition),
    box-shadow var(--transition);
}

.page-bestia .site-footer__contacts a:hover,
.page-bestia .site-footer__nav a:hover {
  transform: translateX(3px);
}

.page-bestia .social-icon:hover {
  transform: translateY(-3px) scale(1.05);
}

/* ——— Sezione struttura operativa (La Bestia) ——— */
.section--bestia-structure {
  background: var(--gray-light);
  color: var(--gray-dark);
}

.bestia-structure__inner {
  width: min(1240px, calc(100% - 2.5rem));
  padding: clamp(4rem, 8vw, 6.5rem) 0;
}

.bestia-structure__inner:first-of-type {
  padding-bottom: clamp(1rem, 2.5vw, 1.5rem);
}

.bestia-structure__punchline-band + .bestia-structure__inner {
  padding-top: clamp(1.5rem, 3.5vw, 2.25rem);
  padding-bottom: 0;
}

.bestia-structure__hero {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(2rem, 4vw, 3rem);
  align-items: start;
  margin-bottom: 0;
}

@media (min-width: 960px) {
  .bestia-structure__hero {
    grid-template-columns: minmax(0, 1.05fr) minmax(280px, 0.95fr);
    gap: clamp(2rem, 4vw, 3.5rem);
  }
}

.bestia-structure__title {
  font-family: var(--font-impact);
  font-size: clamp(1.85rem, 4.2vw, 3.25rem);
  line-height: 0.95;
  letter-spacing: 0.01em;
  text-transform: uppercase;
  color: var(--purple);
  margin-bottom: clamp(1.25rem, 2.5vw, 1.75rem);
  max-width: 22ch;
}

.bestia-structure__title .section-kw,
.bestia-structure__lead .section-kw,
.bestia-area__title .section-kw {
  paint-order: stroke fill;
}

.bestia-structure__intro {
  display: grid;
  gap: 0.75rem;
}

.bestia-structure__text {
  font-size: clamp(1rem, 1.7vw, 1.12rem);
  line-height: 1.65;
  color: var(--gray-dark);
}

.bestia-structure__lead {
  font-family: var(--font-impact);
  font-size: clamp(1.1rem, 2vw, 1.45rem);
  line-height: 1.15;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: var(--purple);
}

.bestia-text-kw {
  font-weight: 600;
  color: var(--purple);
}

.bestia-structure__visual {
  margin: 0;
  line-height: 0;
  border-radius: 1rem;
  overflow: hidden;
  border: 2px solid rgba(143, 0, 255, 0.32);
  box-shadow: 0 20px 44px rgba(52, 52, 52, 0.16);
}

@media (min-width: 960px) {
  .bestia-structure__visual {
    position: sticky;
    top: calc(var(--header-h) + 1.5rem);
  }
}

.bestia-structure__image {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
}

.bestia-structure__punchline-band {
  width: 100%;
  min-height: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: clamp(1rem, 2.5vw, 1.5rem) clamp(1.25rem, 4vw, 3.5rem);
}

.bestia-structure__punchline-band--close {
  min-height: auto;
  padding: clamp(0.75rem, 2vw, 1.25rem) clamp(1.25rem, 4vw, 3.5rem)
    clamp(2.5rem, 5vw, 3.5rem);
}

.bestia-structure__punchline {
  width: 100%;
  max-width: min(1320px, 100%);
  margin: 0;
  font-family: var(--font-impact);
  font-size: clamp(1.35rem, 4.2vw, 3.15rem);
  line-height: 1.02;
  letter-spacing: 0.01em;
  text-transform: uppercase;
  color: var(--purple);
}

.bestia-structure__punchline--close {
  font-size: clamp(1.05rem, 2.85vw, 2.15rem);
  line-height: 1.05;
}

.bestia-structure__punchline-line {
  display: block;
}

.bestia-structure__punchline .section-kw {
  -webkit-text-stroke: clamp(1px, 0.08em, 2px) var(--purple);
  paint-order: stroke fill;
}

.bestia-structure__cta {
  margin: clamp(1rem, 2vw, 1.35rem) 0 0;
  text-align: center;
}

.bestia-structure__close-intro {
  margin-bottom: clamp(0.65rem, 1.5vw, 0.9rem);
}

.bestia-structure__close-line {
  font-size: clamp(1rem, 1.7vw, 1.12rem);
  line-height: 1.6;
  color: var(--gray-dark);
  margin: 0;
}

.bestia-areas__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(0.85rem, 1.8vw, 1.15rem);
  margin-bottom: 0;
}

@media (min-width: 700px) {
  .bestia-areas__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.bestia-area {
  display: block;
  text-decoration: none;
  color: inherit;
  padding: clamp(1.1rem, 2vw, 1.35rem) clamp(1.15rem, 2.2vw, 1.4rem);
  border-radius: 0.9rem;
  background: rgba(255, 255, 255, 0.52);
  border: 2px solid rgba(143, 0, 255, 0.32);
  box-shadow: 0 10px 24px rgba(52, 52, 52, 0.08);
  transition:
    transform 0.35s var(--ease-out),
    border-color var(--transition),
    box-shadow var(--transition);
}

.bestia-area--wide {
  grid-column: 1 / -1;
}

.bestia-area__title {
  font-family: var(--font-impact);
  font-size: clamp(1rem, 1.8vw, 1.15rem);
  line-height: 1.1;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--purple);
  margin-bottom: 0.65rem;
}

.bestia-area__text {
  font-size: clamp(0.92rem, 1.45vw, 1.02rem);
  line-height: 1.58;
  color: var(--gray-dark);
  margin-bottom: 0.55rem;
}

.bestia-area__text:last-child {
  margin-bottom: 0;
}

/* ——— La Bestia: È adatta + Costo caos ——— */
.bestia-pop-kw {
  color: var(--acid);
  font-weight: 600;
}

.bestia-kw {
  color: transparent;
  -webkit-text-stroke: clamp(1.5px, 0.08em, 2.5px) var(--acid);
  paint-order: stroke fill;
  filter: drop-shadow(0 0 14px rgba(229, 255, 57, 0.22));
}

.section--bestia-fit {
  background: var(--purple);
  color: var(--gray-light);
  padding: 0;
}

.bestia-fit__hero {
  position: relative;
  width: 100%;
  min-height: 100svh;
  height: 100svh;
  display: flex;
  align-items: stretch;
  justify-content: flex-end;
  overflow: hidden;
}

.bestia-cost__hero {
  position: relative;
  width: 100%;
  min-height: min(52svh, 560px);
  max-height: min(72svh, 720px);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.bestia-fit__visual,
.bestia-cost__visual {
  position: absolute;
  inset: 0;
  margin: 0;
  line-height: 0;
}

.bestia-fit__visual {
  background: #0e0e12;
}

.bestia-fit__hero-image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 36%;
}

.bestia-cost__hero-image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.bestia-fit__hero-veil {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(
    90deg,
    rgba(18, 18, 24, 0.15) 0%,
    rgba(18, 18, 24, 0.2) 35%,
    rgba(52, 52, 52, 0.55) 62%,
    rgba(143, 0, 255, 0.42) 100%
  );
}

.bestia-fit__hero-content {
  position: absolute;
  inset: 0;
  z-index: 2;
  width: 100%;
  padding: clamp(2rem, 5vw, 4rem) clamp(1.25rem, 5vw, 4.5rem);
  display: flex;
  align-items: center;
  justify-content: flex-end;
  text-align: right;
  pointer-events: none;
}

.bestia-cost__hero-content {
  position: relative;
  z-index: 2;
  width: 100%;
  padding: clamp(2rem, 5vw, 3.5rem) clamp(1.25rem, 4vw, 3.5rem);
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.bestia-fit__title {
  font-family: var(--font-impact);
  font-size: clamp(2.35rem, 6.5vw, 5.25rem);
  line-height: 0.92;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--white);
  margin: 0;
  max-width: min(12ch, 90vw);
  text-align: right;
  text-shadow: 0 8px 28px rgba(0, 0, 0, 0.45);
}

.bestia-fit__title-line {
  display: block;
}

.bestia-fit__body {
  width: 100%;
  min-height: 100svh;
  margin: 0 auto;
  padding: clamp(3rem, 7vw, 5rem) clamp(1.25rem, 4vw, 3.5rem) 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  background: var(--purple);
}

.bestia-fit__intro {
  font-size: clamp(1.08rem, 2vw, 1.28rem);
  line-height: 1.65;
  margin: 0 auto clamp(2rem, 4vw, 2.75rem);
  max-width: min(72ch, 92vw);
  color: var(--gray-light);
}

.bestia-fit__checks-wrap {
  width: min(1100px, calc(100% - 2.5rem));
  margin: 0 auto 0;
  padding: clamp(1.5rem, 3vw, 2rem) clamp(1.25rem, 3vw, 2rem);
  border-radius: 1rem;
  background: var(--gray-light);
  border: 2px solid rgba(143, 0, 255, 0.28);
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.18);
  text-align: left;
}

.bestia-fit__checks-title {
  font-family: var(--font-impact);
  font-size: clamp(1.1rem, 2.2vw, 1.45rem);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--purple);
  margin: 0 0 clamp(1rem, 2vw, 1.35rem);
}

.bestia-fit__checks {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.65rem 1.5rem;
}

@media (min-width: 720px) {
  .bestia-fit__checks {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.bestia-fit__checks li {
  position: relative;
  padding-left: 1.35rem;
  font-size: clamp(0.95rem, 1.55vw, 1.05rem);
  line-height: 1.5;
  color: var(--gray-dark);
}

.bestia-fit__checks li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.55em;
  width: 0.45rem;
  height: 0.45rem;
  border-radius: 50%;
  background: var(--acid);
  box-shadow: 0 0 8px rgba(229, 255, 57, 0.45);
}

.bestia-fit__close-band {
  width: 100%;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding-top: 0;
  padding-bottom: clamp(2rem, 4.5vw, 3rem);
  padding-inline: clamp(1.25rem, 4vw, 3.5rem);
  background: var(--purple);
  text-align: center;
}

.bestia-fit__close {
  display: grid;
  gap: clamp(0.75rem, 1.6vw, 1rem);
  width: 100%;
  max-width: min(1320px, 100%);
  margin: 0 auto;
  justify-items: center;
  text-align: center;
}

.bestia-fit__punchline-wrap {
  width: 100%;
  margin-top: clamp(0.35rem, 1vw, 0.65rem);
}

.bestia-fit__text {
  font-size: clamp(1.05rem, 2.2vw, 1.35rem);
  line-height: 1.55;
  margin: 0;
  color: var(--gray-light);
  max-width: min(68ch, 100%);
  text-align: center;
}

.bestia-fit__punchline {
  margin: 0;
  width: 100%;
  font-family: var(--font-impact);
  font-size: clamp(1.05rem, 2.85vw, 2.15rem);
  line-height: 1.05;
  letter-spacing: 0.01em;
  text-transform: uppercase;
  color: var(--gray-light);
}

.bestia-fit__punchline-line {
  display: block;
}

.section--bestia-cost {
  background: #0f0f0f;
  color: var(--gray-light);
  padding: 0 0 clamp(3.5rem, 7vw, 5rem);
}

.bestia-cost__hero-veil {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(
    180deg,
    rgba(0, 0, 0, 0.55) 0%,
    rgba(0, 0, 0, 0.35) 42%,
    rgba(0, 0, 0, 0.65) 100%
  );
}

.bestia-cost__title {
  font-family: var(--font-impact);
  font-size: clamp(1.65rem, 4.5vw, 3.5rem);
  line-height: 1;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--white);
  margin: 0 auto;
  max-width: 18ch;
}

.bestia-cost__title-line {
  display: block;
}

.bestia-cost__title-line + .bestia-cost__title-line {
  margin-top: 0.2em;
}

.bestia-cost__split {
  width: min(1240px, calc(100% - 2.5rem));
  margin: clamp(2.5rem, 5vw, 3.5rem) auto 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
}

@media (min-width: 900px) {
  .bestia-cost__split {
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: stretch;
    gap: 0;
  }
}

.bestia-cost__panel {
  padding: clamp(1.75rem, 3.5vw, 2.5rem) clamp(1.25rem, 3vw, 2rem);
  border-radius: 1rem;
}

.bestia-cost__panel--problem {
  background: linear-gradient(
    160deg,
    rgba(52, 52, 52, 0.95) 0%,
    rgba(30, 30, 30, 0.98) 100%
  );
  border: 2px solid rgba(205, 204, 204, 0.15);
}

.bestia-cost__panel--solution {
  background: linear-gradient(
    160deg,
    rgba(143, 0, 255, 0.18) 0%,
    rgba(20, 20, 20, 0.95) 55%
  );
  border: 2px solid rgba(143, 0, 255, 0.45);
  box-shadow: 0 0 40px rgba(143, 0, 255, 0.12);
}

@media (min-width: 900px) {
  .bestia-cost__panel--problem {
    border-radius: 1rem 0 0 1rem;
    border-right: none;
  }

  .bestia-cost__panel--solution {
    border-radius: 0 1rem 1rem 0;
    border-left: none;
  }
}

.bestia-cost__label {
  font-family: var(--font-impact);
  font-size: clamp(0.85rem, 1.5vw, 1rem);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(205, 204, 204, 0.7);
  margin: 0 0 clamp(1rem, 2vw, 1.35rem);
  padding-bottom: 0.65rem;
  border-bottom: 2px solid rgba(205, 204, 204, 0.2);
}

.bestia-cost__label--solution {
  color: var(--acid);
  border-bottom-color: rgba(229, 255, 57, 0.35);
}

.bestia-cost__panel-copy {
  display: grid;
  gap: clamp(0.85rem, 1.5vw, 1.1rem);
}

.bestia-cost__text {
  font-size: clamp(0.98rem, 1.6vw, 1.08rem);
  line-height: 1.62;
  color: var(--gray-light);
  margin: 0;
}

.bestia-cost__divider {
  display: none;
}

@media (min-width: 900px) {
  .bestia-cost__divider {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    width: 3.5rem;
    background: #0f0f0f;
    position: relative;
    z-index: 2;
  }

  .bestia-cost__divider-line {
    display: block;
    width: 2px;
    flex: 1;
    background: linear-gradient(
      180deg,
      transparent,
      rgba(229, 255, 57, 0.5),
      transparent
    );
  }

  .bestia-cost__divider-icon {
    display: block;
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 50%;
    border: 2px solid var(--acid);
    background: #0f0f0f;
    box-shadow: 0 0 16px rgba(229, 255, 57, 0.35);
    position: relative;
  }

  .bestia-cost__divider-icon::after {
    content: "→";
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--font-impact);
    font-size: 1rem;
    color: var(--acid);
    line-height: 1;
  }
}

@media (max-width: 899px) {
  .bestia-cost__panel--problem {
    border-radius: 1rem 1rem 0 0;
    margin-bottom: 0;
  }

  .bestia-cost__panel--solution {
    border-radius: 0 0 1rem 1rem;
    margin-top: -2px;
  }
}

.bestia-cost__cta-wrap {
  width: min(1240px, calc(100% - 2.5rem));
  margin: clamp(2.5rem, 5vw, 3.5rem) auto 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 1rem 1.25rem;
}

.bestia-cost__cta,
.bestia-cost__cta-ghost {
  min-width: min(100%, 280px);
  text-align: center;
}

/* ——— La Bestia: FAQ ——— */
.section--bestia-faq {
  background: #0f0f0f;
  color: var(--gray-light);
  border-top: 2px solid var(--acid);
  padding: clamp(1.75rem, 4vw, 2.5rem) clamp(1.25rem, 3vw, 2.5rem)
    clamp(2rem, 4.5vw, 3rem);
}

.bestia-faq__inner {
  width: min(760px, 100%);
  margin: 0 auto;
  text-align: center;
}

.bestia-faq__title {
  font-family: var(--font-impact);
  font-size: clamp(1.35rem, 3vw, 2rem);
  line-height: 1;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--acid);
  margin: 0 0 clamp(1.25rem, 2.5vw, 1.75rem);
}

.bestia-faq__list {
  display: grid;
  gap: 0;
}

.bestia-faq__item {
  padding: clamp(0.55rem, 1.1vw, 0.75rem) 0;
  border-bottom: 1px solid rgba(205, 204, 204, 0.14);
  transition: border-color var(--transition);
}

.bestia-faq__item:first-child {
  border-top: 1px solid rgba(205, 204, 204, 0.14);
}

.bestia-faq__question {
  font-family: var(--font-impact);
  font-size: clamp(0.82rem, 1.55vw, 1.02rem);
  line-height: 1.2;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: var(--gray-light);
  margin: 0;
  cursor: default;
  outline: none;
  transition:
    color var(--transition),
    text-shadow var(--transition);
}

.bestia-faq__answer {
  display: grid;
  grid-template-rows: 0fr;
  opacity: 0;
  transition:
    grid-template-rows 0.45s var(--ease-out),
    opacity 0.35s var(--ease-out);
}

.bestia-faq__item:hover .bestia-faq__answer,
.bestia-faq__item:focus-within .bestia-faq__answer {
  grid-template-rows: 1fr;
  opacity: 1;
}

.bestia-faq__answer-inner {
  overflow: hidden;
}

.bestia-faq__answer-inner p {
  font-size: clamp(0.8rem, 1.25vw, 0.92rem);
  line-height: 1.55;
  color: rgba(205, 204, 204, 0.9);
  margin: 0 auto 0.5rem;
  max-width: 54ch;
}

.bestia-faq__answer-inner p:last-child {
  margin-bottom: 0;
}

.bestia-faq__item:hover .bestia-faq__answer-inner,
.bestia-faq__item:focus-within .bestia-faq__answer-inner {
  padding-top: clamp(0.45rem, 1vw, 0.65rem);
}

.bestia-faq__item:hover .bestia-faq__question,
.bestia-faq__item:focus-within .bestia-faq__question {
  color: var(--acid);
  text-shadow: 0 0 18px rgba(229, 255, 57, 0.22);
}

.bestia-faq__item:hover,
.bestia-faq__item:focus-within {
  border-bottom-color: rgba(229, 255, 57, 0.28);
}

@media (prefers-reduced-motion: reduce) {
  .bestia-faq__answer {
    transition: none;
  }
}

/* ——— La Bestia: Contatti ——— */
.section--bestia-contact {
  background: var(--purple);
  color: var(--white);
  border-top: 2px solid var(--acid);
}

.bestia-contact__inner {
  width: min(1240px, calc(100% - 2.5rem));
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(2rem, 4.5vw, 3rem);
  align-items: start;
  padding: clamp(2.5rem, 6vw, 4rem) 0 clamp(3rem, 7vw, 4.5rem);
}

@media (min-width: 960px) {
  .bestia-contact__inner {
    grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
    gap: clamp(2.5rem, 5vw, 4rem);
    align-items: center;
  }
}

.bestia-contact__intro {
  text-align: left;
}

.bestia-contact__title {
  font-family: var(--font-impact);
  font-size: clamp(1.65rem, 3.8vw, 2.75rem);
  line-height: 0.98;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--acid);
  margin: 0 0 clamp(1rem, 2vw, 1.35rem);
  max-width: 16ch;
}

.bestia-contact-kw {
  color: transparent;
  -webkit-text-stroke: clamp(1px, 0.08em, 2px) var(--acid);
  paint-order: stroke fill;
}

.bestia-contact__lead {
  font-size: clamp(1rem, 1.75vw, 1.15rem);
  font-weight: 600;
  line-height: 1.55;
  color: var(--white);
  margin: 0 0 0.85rem;
  max-width: 42ch;
}

.bestia-contact__text {
  font-size: clamp(0.95rem, 1.45vw, 1.05rem);
  line-height: 1.6;
  color: var(--gray-light);
  margin: 0;
  max-width: 44ch;
}

.bestia-contact__form {
  width: 100%;
  background: rgba(0, 0, 0, 0.32);
  border: 2px solid rgba(229, 255, 57, 0.35);
  border-radius: 1.15rem;
  padding: clamp(1.15rem, 2.5vw, 1.75rem);
  display: grid;
  gap: 0.85rem;
}

.bestia-contact__honeypot {
  position: absolute;
  left: -9999px;
  opacity: 0;
  pointer-events: none;
}

.bestia-contact__field {
  display: grid;
  gap: 0.35rem;
}

.bestia-contact__field label,
.bestia-contact__label {
  font-family: var(--font-impact);
  font-size: 0.68rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--gray-light);
}

.bestia-contact__field input,
.bestia-contact__field textarea {
  width: 100%;
  padding: 0.75rem 0.9rem;
  font-family: var(--font-body);
  font-size: 0.95rem;
  color: var(--white);
  background: rgba(52, 52, 52, 0.65);
  border: 1px solid rgba(205, 204, 204, 0.35);
  border-radius: 0.5rem;
  resize: vertical;
  min-height: 2.75rem;
  transition:
    border-color var(--transition),
    box-shadow var(--transition);
}

.bestia-contact__field textarea {
  min-height: 5.5rem;
}

.bestia-contact__field input:focus,
.bestia-contact__field textarea:focus {
  outline: none;
  border-color: var(--acid);
  box-shadow: 0 0 0 3px rgba(229, 255, 57, 0.22);
}

.bestia-contact__field input::placeholder,
.bestia-contact__field textarea::placeholder {
  color: rgba(205, 204, 204, 0.5);
}

.bestia-contact__field--consent {
  margin-top: 0.15rem;
}

.bestia-contact__consent {
  display: flex;
  align-items: flex-start;
  gap: 0.65rem;
  font-family: var(--font-body);
  font-size: 0.82rem;
  line-height: 1.45;
  color: rgba(205, 204, 204, 0.92);
  text-transform: none;
  letter-spacing: normal;
  font-weight: 400;
  cursor: pointer;
}

.bestia-contact__consent input[type="checkbox"] {
  width: 1.05rem;
  height: 1.05rem;
  min-height: 0;
  margin-top: 0.15rem;
  flex: 0 0 auto;
  accent-color: var(--acid);
  cursor: pointer;
}

.bestia-contact__consent a {
  color: var(--acid);
  font-weight: 600;
  text-decoration: underline;
}

.bestia-contact__dropdown {
  position: relative;
}

.bestia-contact__dropdown-trigger {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.75rem 0.9rem;
  font-family: var(--font-body);
  font-size: 0.95rem;
  color: var(--white);
  text-align: left;
  background: rgba(52, 52, 52, 0.65);
  border: 1px solid rgba(205, 204, 204, 0.35);
  border-radius: 0.5rem;
  cursor: pointer;
  transition:
    border-color var(--transition),
    box-shadow var(--transition),
    background var(--transition);
}

.bestia-contact__dropdown-value.is-placeholder {
  color: rgba(205, 204, 204, 0.55);
}

.bestia-contact__dropdown-caret {
  flex-shrink: 0;
  width: 0.55rem;
  height: 0.55rem;
  border-right: 2px solid var(--acid);
  border-bottom: 2px solid var(--acid);
  transform: rotate(45deg) translateY(-2px);
  transition: transform var(--transition);
}

.bestia-contact__dropdown:hover .bestia-contact__dropdown-trigger,
.bestia-contact__dropdown.is-open .bestia-contact__dropdown-trigger,
.bestia-contact__dropdown:focus-within .bestia-contact__dropdown-trigger {
  border-color: var(--acid);
  box-shadow: 0 0 0 3px rgba(229, 255, 57, 0.22);
}

.bestia-contact__dropdown:hover .bestia-contact__dropdown-caret,
.bestia-contact__dropdown.is-open .bestia-contact__dropdown-caret {
  transform: rotate(225deg) translateY(1px);
}

.bestia-contact__dropdown-menu {
  position: absolute;
  top: calc(100% + 0.35rem);
  left: 0;
  right: 0;
  z-index: 20;
  list-style: none;
  margin: 0;
  padding: 0.35rem 0;
  background: rgba(30, 30, 30, 0.98);
  border: 1px solid rgba(229, 255, 57, 0.35);
  border-radius: 0.55rem;
  box-shadow: 0 16px 36px rgba(0, 0, 0, 0.35);
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  pointer-events: none;
  transform: translateY(-4px);
  transition:
    max-height 0.35s var(--ease-out),
    opacity 0.28s var(--ease-out),
    transform 0.28s var(--ease-out);
}

.bestia-contact__dropdown:hover .bestia-contact__dropdown-menu,
.bestia-contact__dropdown.is-open .bestia-contact__dropdown-menu,
.bestia-contact__dropdown:focus-within .bestia-contact__dropdown-menu {
  max-height: 18rem;
  opacity: 1;
  overflow: auto;
  pointer-events: auto;
  transform: translateY(0);
}

.bestia-contact__dropdown-menu [role="option"] {
  padding: 0.6rem 0.9rem;
  font-size: 0.92rem;
  line-height: 1.35;
  color: var(--gray-light);
  cursor: pointer;
  transition:
    background var(--transition),
    color var(--transition);
}

.bestia-contact__dropdown-menu [role="option"]:hover,
.bestia-contact__dropdown-menu [role="option"]:focus {
  background: rgba(229, 255, 57, 0.12);
  color: var(--acid);
  outline: none;
}

.bestia-contact__submit {
  width: 100%;
  margin-top: 0.25rem;
}

.bestia-contact__note {
  font-size: 0.84rem;
  line-height: 1.45;
  text-align: center;
  color: var(--gray-light);
  margin: 0;
}

.bestia-contact__note--success {
  color: var(--acid);
  font-weight: 600;
}

.bestia-contact__note--error {
  color: #ffb4b4;
  font-weight: 600;
}

@media (max-width: 959px) {
  .bestia-contact__intro {
    text-align: center;
  }

  .bestia-contact__title,
  .bestia-contact__lead,
  .bestia-contact__text {
    max-width: none;
    margin-inline: auto;
  }
}

@media (prefers-reduced-motion: reduce) {
  .bestia-contact__dropdown-menu {
    transition: none;
  }
}

@media (max-width: 860px) {
  .bestia-fit__hero {
    min-height: 100svh;
    height: 100svh;
  }

  .bestia-fit__hero-image {
    object-position: center 30%;
  }

  .bestia-fit__hero-content {
    align-items: flex-end;
    padding-bottom: clamp(2.5rem, 8vw, 4rem);
  }

  .bestia-fit__title {
    font-size: clamp(2rem, 11vw, 3.25rem);
    max-width: 100%;
  }

  .bestia-fit__hero-veil {
    background: linear-gradient(
      180deg,
      rgba(18, 18, 24, 0.1) 0%,
      rgba(52, 52, 52, 0.35) 55%,
      rgba(143, 0, 255, 0.5) 100%
    );
  }

  .bestia-cost__hero {
    min-height: min(44svh, 400px);
    max-height: min(58svh, 480px);
  }

  .bestia-cost__hero-veil {
    background: linear-gradient(
      180deg,
      rgba(0, 0, 0, 0.62) 0%,
      rgba(0, 0, 0, 0.48) 50%,
      rgba(0, 0, 0, 0.58) 100%
    );
  }
}

@media (min-width: 1400px) {
  .bestia-fit__hero-image {
    object-position: center 38%;
  }
}

.page-bestia .bestia-structure__punchline-band {
  transition: background var(--transition);
}

.page-bestia .bestia-structure__punchline:hover {
  text-shadow: 0 0 28px rgba(143, 0, 255, 0.12);
}

.page-bestia .bestia-text-kw {
  transition:
    color var(--transition),
    text-shadow var(--transition);
}

.page-bestia .bestia-text-kw:hover {
  text-shadow: 0 0 12px rgba(143, 0, 255, 0.25);
}

.page-bestia .bestia-structure__visual {
  transition:
    transform 0.45s var(--ease-out),
    box-shadow var(--transition);
}

.page-bestia .bestia-structure__visual:hover {
  transform: translateY(-4px);
  box-shadow: 0 28px 52px rgba(143, 0, 255, 0.18);
}

.page-bestia .bestia-structure__image {
  transition: transform 0.5s var(--ease-out);
}

.page-bestia .bestia-structure__visual:hover .bestia-structure__image {
  transform: scale(1.03);
}

.page-bestia .bestia-area:hover {
  transform: translateY(-4px);
  border-color: rgba(143, 0, 255, 0.55);
  box-shadow: 0 16px 34px rgba(143, 0, 255, 0.12);
}

.page-bestia .bestia-area__title {
  transition: text-shadow var(--transition);
}

.page-bestia .bestia-area:hover .bestia-area__title {
  text-shadow: 0 0 14px rgba(143, 0, 255, 0.2);
}

.page-bestia .bestia-fit__hero-image,
.page-bestia .bestia-cost__hero-image {
  transition: transform 0.6s var(--ease-out);
}

.page-bestia .bestia-fit__hero:hover .bestia-fit__hero-image,
.page-bestia .bestia-cost__hero:hover .bestia-cost__hero-image {
  transform: scale(1.04);
}

.page-bestia .bestia-pop-kw {
  transition:
    color var(--transition),
    text-shadow var(--transition);
}

.page-bestia .bestia-pop-kw:hover {
  text-shadow: 0 0 12px rgba(229, 255, 57, 0.45);
}

.page-bestia .bestia-fit__checks-wrap {
  transition:
    transform 0.35s var(--ease-out),
    border-color var(--transition),
    box-shadow var(--transition);
}

.page-bestia .bestia-fit__checks-wrap:hover {
  transform: translateY(-3px);
  border-color: rgba(143, 0, 255, 0.45);
  box-shadow: 0 18px 40px rgba(143, 0, 255, 0.1);
}

.page-bestia .bestia-cost__panel {
  transition:
    transform 0.35s var(--ease-out),
    border-color var(--transition),
    box-shadow var(--transition);
}

.page-bestia .bestia-cost__panel--problem:hover {
  border-color: rgba(205, 204, 204, 0.28);
}

.page-bestia .bestia-cost__panel--solution:hover {
  transform: translateY(-4px);
  border-color: rgba(143, 0, 255, 0.65);
  box-shadow: 0 20px 48px rgba(143, 0, 255, 0.2);
}

.page-bestia .bestia-cost__cta,
.page-bestia .bestia-cost__cta-ghost {
  transition:
    transform var(--transition),
    box-shadow var(--transition),
    border-color var(--transition);
}

.page-bestia .bestia-cost__cta:hover,
.page-bestia .bestia-cost__cta-ghost:hover {
  transform: translateY(-2px);
}

.page-bestia .bestia-faq__item {
  transition:
    border-color var(--transition),
    background var(--transition);
}

.page-bestia .bestia-faq__item:hover,
.page-bestia .bestia-faq__item:focus-within {
  background: rgba(229, 255, 57, 0.03);
}

.page-bestia .bestia-faq__question {
  transition:
    color var(--transition),
    text-shadow var(--transition);
}

.page-bestia .bestia-contact__form {
  transition:
    transform 0.35s var(--ease-out),
    border-color var(--transition),
    box-shadow var(--transition);
}

.page-bestia .bestia-contact__form:hover {
  transform: translateY(-3px);
  border-color: rgba(229, 255, 57, 0.55);
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.22);
}

.page-bestia .bestia-contact__field input,
.page-bestia .bestia-contact__field textarea,
.page-bestia .bestia-contact__dropdown-trigger {
  transition:
    border-color var(--transition),
    box-shadow var(--transition),
    background var(--transition);
}

.page-bestia .bestia-contact__submit {
  transition:
    transform var(--transition),
    box-shadow var(--transition);
}

.page-bestia .bestia-contact__submit:hover {
  transform: translateY(-2px);
}

@media (prefers-reduced-motion: reduce) {
  .page-bestia .bestia-structure__visual:hover,
  .page-bestia .bestia-structure__visual:hover .bestia-structure__image,
  .page-bestia .bestia-area:hover,
  .page-bestia .bestia-fit__hero:hover .bestia-fit__hero-image,
  .page-bestia .bestia-cost__hero:hover .bestia-cost__hero-image,
  .page-bestia .bestia-fit__checks-wrap:hover,
  .page-bestia .bestia-cost__panel--solution:hover,
  .page-bestia .bestia-cost__cta:hover,
  .page-bestia .bestia-cost__cta-ghost:hover {
    transform: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .page-bestia .logo:hover .logo__image,
  .page-bestia .site-nav__link:hover,
  .page-bestia .nav-cta:hover,
  .page-bestia .hero__ribbon--bestia:hover,
  .page-bestia .bestia-how__eyebrow:hover,
  .page-bestia .hero__figure--bestia:hover,
  .page-bestia .bestia-card:hover,
  .page-bestia .bestia-card:hover .bestia-card__num,
  .page-bestia .bestia-card:hover .bestia-card__image,
  .page-bestia .bestia-card__tags li:hover,
  .page-bestia .bestia-how__connector:hover,
  .page-bestia .site-footer__contacts a:hover,
  .page-bestia .site-footer__nav a:hover,
  .page-bestia .social-icon:hover,
  .page-bestia .hero--bestia .btn--ghost:hover {
    transform: none;
  }
}

/* ——— Pagina Sistemi AI ——— */
body.page-sistemi-ai {
  background: #000;
}

.hero--sistemi {
  position: relative;
  min-height: 100svh;
  background-color: #000;
  overflow: hidden;
}

.hero--sistemi__bg {
  position: absolute;
  inset: 0;
  margin: 0;
  line-height: 0;
}

.hero--sistemi__bg-image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 68% center;
}

.hero--sistemi__veil {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(
    90deg,
    rgba(0, 0, 0, 0.88) 0%,
    rgba(0, 0, 0, 0.72) 34%,
    rgba(0, 0, 0, 0.35) 58%,
    rgba(0, 0, 0, 0.08) 78%,
    transparent 100%
  );
}

.hero__layout--sistemi {
  position: relative;
  z-index: 2;
  min-height: 100svh;
  max-width: 1580px;
  align-items: center;
  grid-template-columns: 1fr;
  padding-bottom: clamp(1.5rem, 3vh, 2.5rem);
}

@media (min-width: 960px) {
  .hero__layout--sistemi {
    grid-template-columns: minmax(0, 0.52fr) minmax(0, 1fr);
    column-gap: 1.5rem;
  }

  .hero--sistemi__bg-image {
    object-position: center center;
  }
}

.hero__copy--sistemi {
  position: relative;
  z-index: 2;
  max-width: min(36rem, 100%);
}

@media (min-width: 960px) {
  .hero__copy--sistemi {
    grid-column: 1;
    align-self: center;
  }
}

.hero__eyebrow--sistemi {
  display: inline-block;
  max-width: 100%;
  margin-bottom: clamp(1rem, 2.2vh, 1.35rem);
  padding: 0.5rem 0.95rem;
  font-family: var(--font-impact);
  font-size: clamp(0.56rem, 1.05vw, 0.7rem);
  line-height: 1.35;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--acid);
  background: transparent;
  border: 1px solid rgba(229, 255, 57, 0.75);
  border-radius: var(--radius-pill);
  box-shadow: 0 0 18px rgba(229, 255, 57, 0.08);
}

.hero__headline--sistemi {
  margin-bottom: clamp(1rem, 2.2vh, 1.45rem);
}

.hero__title-line {
  display: block;
  font-family: var(--font-impact);
  letter-spacing: 0.01em;
  text-transform: uppercase;
  line-height: 0.98;
}

.hero__title-line--white {
  font-size: clamp(1.35rem, 3.1vw, 2.35rem);
  color: var(--white);
  margin-bottom: 0.18em;
}

.hero__title-line--acid {
  font-size: clamp(1.85rem, 4.6vw, 3.65rem);
  color: var(--acid);
}

.hero__headline--sistemi .kw {
  -webkit-text-stroke: clamp(1.5px, 0.08em, 2.5px) var(--acid);
}

.hero__body--sistemi {
  font-size: clamp(0.92rem, 1.45vw, 1.02rem);
  line-height: 1.58;
  color: rgba(205, 204, 204, 0.92);
  margin-bottom: 0.85rem;
  max-width: 34rem;
}

.hero--sistemi .hero-text-kw {
  color: var(--acid);
  font-weight: 600;
}

.hero__body--sistemi:last-of-type {
  margin-bottom: clamp(1.25rem, 2.5vh, 1.65rem);
}

.hero__actions--sistemi {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 0.85rem;
}

.btn--ghost-acid {
  color: var(--acid);
  border-color: rgba(229, 255, 57, 0.85);
  background: transparent;
}

.btn--ghost-acid:hover {
  color: var(--gray-dark);
  background: var(--acid);
  border-color: var(--acid);
}

@media (max-width: 959px) {
  .hero--sistemi__bg-image {
    object-position: 72% center;
  }

  .hero--sistemi__veil {
    background: linear-gradient(
      180deg,
      rgba(0, 0, 0, 0.82) 0%,
      rgba(0, 0, 0, 0.68) 42%,
      rgba(0, 0, 0, 0.45) 100%
    );
  }

  .hero__layout--sistemi {
    min-height: 100svh;
  }

  .hero__title-line--white {
    font-size: clamp(1.2rem, 5.5vw, 1.65rem);
  }

  .hero__title-line--acid {
    font-size: clamp(1.55rem, 7.5vw, 2.35rem);
  }

  .hero__actions--sistemi .btn {
    width: 100%;
    justify-content: center;
  }
}

.page-sistemi-ai .site-nav__link.is-active {
  color: var(--acid);
}

.page-sistemi-ai .logo__image {
  transition: filter var(--transition);
}

.page-sistemi-ai .site-nav__link,
.page-sistemi-ai .nav-cta {
  transition:
    color var(--transition),
    transform var(--transition),
    box-shadow var(--transition);
}

.page-sistemi-ai .hero--sistemi__bg-image {
  transition: transform 0.7s var(--ease-out);
}

.page-sistemi-ai .hero--sistemi:hover .hero--sistemi__bg-image {
  transform: scale(1.03);
}

.page-sistemi-ai .hero-text-kw {
  transition: text-shadow var(--transition);
}

.page-sistemi-ai .hero-text-kw:hover {
  text-shadow: 0 0 12px rgba(229, 255, 57, 0.45);
}

.page-sistemi-ai .hero--sistemi .btn--primary,
.page-sistemi-ai .hero--sistemi .btn--ghost-acid {
  transition:
    transform var(--transition),
    box-shadow var(--transition),
    background var(--transition),
    color var(--transition),
    border-color var(--transition);
}

@media (prefers-reduced-motion: reduce) {
  .page-sistemi-ai .hero--sistemi:hover .hero--sistemi__bg-image {
    transform: none;
  }
}

/* ——— Sistemi AI: ecosistema ——— */
.section--sistemi-ecosystem {
  background: var(--acid);
  color: var(--gray-dark);
}

.sistemi-ecosystem__inner {
  width: min(1320px, calc(100% - 2.5rem));
  margin: 0 auto;
  padding: clamp(2.5rem, 6vw, 4rem) 0 clamp(1.75rem, 3.5vw, 2.5rem);
}

.sistemi-ecosystem__top {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(1.5rem, 3.5vw, 2.25rem);
  align-items: center;
  margin-bottom: clamp(1.5rem, 3.5vw, 2rem);
}

@media (min-width: 960px) {
  .sistemi-ecosystem__top {
    grid-template-columns: minmax(0, 50%) minmax(0, 1fr);
    gap: clamp(0.5rem, 1vw, 0.85rem);
    align-items: center;
  }

  .sistemi-ecosystem__diagram {
    grid-column: 1;
    justify-self: start;
    width: 100%;
    max-width: 100%;
    margin-left: 0;
  }

  .sistemi-ecosystem__intro {
    grid-column: 2;
    align-self: center;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    text-align: right;
    width: 100%;
    min-width: 0;
    padding-left: 0.15rem;
  }
}

.sistemi-ecosystem__intro {
  text-align: left;
}

.sistemi-ecosystem__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  margin-bottom: clamp(0.85rem, 1.8vw, 1.15rem);
  padding: 0.4rem 0.85rem;
  font-family: var(--font-impact);
  font-size: clamp(0.58rem, 1vw, 0.68rem);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--gray-dark);
  border: 1px solid rgba(52, 52, 52, 0.85);
  border-radius: var(--radius-pill);
  background: rgba(255, 255, 255, 0.35);
}

.sistemi-ecosystem__eyebrow-dot {
  width: 0.4rem;
  height: 0.4rem;
  border-radius: 50%;
  background: var(--gray-dark);
  flex-shrink: 0;
}

.sistemi-ecosystem__title {
  font-family: var(--font-impact);
  font-size: clamp(1.85rem, 4.5vw, 3.25rem);
  line-height: 0.96;
  letter-spacing: 0.01em;
  text-transform: uppercase;
  color: var(--gray-dark);
  margin: 0 0 clamp(1rem, 2vw, 1.35rem);
  max-width: 14ch;
  width: 100%;
}

@media (min-width: 960px) {
  .sistemi-ecosystem__title {
    max-width: 16ch;
    margin-left: auto;
    text-align: right;
  }

  .sistemi-ecosystem__title-line {
    text-align: right;
  }
}

.sistemi-ecosystem__title-line {
  display: block;
}

.sistemi-ecosystem-kw-outline {
  color: transparent;
  -webkit-text-stroke: clamp(1.5px, 0.08em, 2.5px) var(--purple);
  paint-order: stroke fill;
  filter: drop-shadow(0 0 10px rgba(143, 0, 255, 0.15));
}

.sistemi-ecosystem__copy {
  display: grid;
  gap: 0.65rem;
  max-width: 40ch;
  width: 100%;
}

@media (min-width: 960px) {
  .sistemi-ecosystem__copy {
    max-width: none;
    text-align: right;
  }

  .sistemi-ecosystem__eyebrow {
    margin-left: auto;
  }
}

.sistemi-ecosystem__text {
  font-size: clamp(0.92rem, 1.45vw, 1.02rem);
  line-height: 1.58;
  color: var(--gray-dark);
  margin: 0;
}

.sistemi-ecosystem-kw {
  color: var(--purple);
  font-weight: 600;
}

.sistemi-ecosystem__diagram {
  display: block;
  margin: 0;
  line-height: 0;
  border-radius: 0.9rem;
  overflow: hidden;
  box-shadow: 0 20px 46px rgba(143, 0, 255, 0.22);
  text-decoration: none;
  color: inherit;
  transition:
    transform 0.45s var(--ease-out),
    box-shadow 0.45s var(--ease-out);
}

.sistemi-ecosystem__diagram-image {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
}

.sistemi-ecosystem__cards {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.85rem;
}

@media (min-width: 640px) {
  .sistemi-ecosystem__cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 1100px) {
  .sistemi-ecosystem__cards {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0.75rem;
  }
}

.sistemi-system-card {
  display: block;
  text-decoration: none;
  color: inherit;
  position: relative;
  border-radius: 0.85rem;
  overflow: hidden;
  background: #0a0810;
  border: 1px solid rgba(143, 0, 255, 0.4);
  box-shadow:
    0 14px 30px rgba(52, 52, 52, 0.18),
    0 0 0 1px rgba(143, 0, 255, 0.08);
  transition:
    transform 0.4s var(--ease-out),
    border-color var(--transition),
    box-shadow 0.4s var(--ease-out);
}

.sistemi-system-card__img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  object-position: top center;
  transition: transform 0.5s var(--ease-out);
}

.page-sistemi-ai .sistemi-ecosystem__diagram:hover {
  transform: translateY(-5px) scale(1.02);
  box-shadow: 0 26px 52px rgba(143, 0, 255, 0.28);
}

.page-sistemi-ai .sistemi-ecosystem__diagram-image {
  transition: transform 0.5s var(--ease-out);
}

.page-sistemi-ai .sistemi-ecosystem__diagram:hover .sistemi-ecosystem__diagram-image {
  transform: scale(1.03);
}

.page-sistemi-ai .sistemi-system-card:hover {
  transform: translateY(-6px);
  border-color: rgba(143, 0, 255, 0.7);
  box-shadow:
    0 22px 44px rgba(143, 0, 255, 0.28),
    0 0 24px rgba(143, 0, 255, 0.2);
}

.page-sistemi-ai .sistemi-system-card:hover .sistemi-system-card__img {
  transform: scale(1.04);
}

.page-sistemi-ai .sistemi-ecosystem-kw {
  transition: text-shadow var(--transition);
}

.page-sistemi-ai .sistemi-ecosystem-kw:hover {
  text-shadow: 0 0 12px rgba(143, 0, 255, 0.25);
}

@media (max-width: 959px) {
  .sistemi-ecosystem__title {
    max-width: none;
  }

  .sistemi-ecosystem__copy {
    max-width: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .page-sistemi-ai .sistemi-ecosystem__diagram:hover,
  .page-sistemi-ai .sistemi-ecosystem__diagram:hover .sistemi-ecosystem__diagram-image,
  .page-sistemi-ai .sistemi-system-card:hover,
  .page-sistemi-ai .sistemi-system-card:hover .sistemi-system-card__img {
    transform: none;
  }
}

/* ——— Sistemi AI: da quale sistema partire ——— */
.section--sistemi-picker {
  position: relative;
  overflow: hidden;
  background: #000;
  color: var(--gray-light);
}

.sistemi-picker__decor {
  position: absolute;
  width: clamp(8rem, 18vw, 14rem);
  height: clamp(8rem, 18vw, 14rem);
  pointer-events: none;
  opacity: 0.55;
}

.sistemi-picker__decor--tl {
  top: 0;
  left: 0;
  border-top: 2px solid rgba(143, 0, 255, 0.45);
  border-left: 2px solid rgba(143, 0, 255, 0.45);
  border-radius: 0 0 1.5rem 0;
  box-shadow:
    inset 0 0 24px rgba(143, 0, 255, 0.12),
    0 0 30px rgba(143, 0, 255, 0.08);
}

.sistemi-picker__decor--tr {
  top: 0;
  right: 0;
  border-top: 2px solid rgba(229, 255, 57, 0.35);
  border-right: 2px solid rgba(229, 255, 57, 0.35);
  border-radius: 0 0 0 1.5rem;
  box-shadow:
    inset 0 0 24px rgba(229, 255, 57, 0.08),
    0 0 30px rgba(229, 255, 57, 0.06);
}

.sistemi-picker__hero {
  position: relative;
  z-index: 1;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: clamp(1.5rem, 3vw, 2.25rem) clamp(1rem, 3vw, 2rem)
    clamp(1.25rem, 2.5vw, 1.75rem);
}

.sistemi-picker__hero-inner {
  width: 100%;
  max-width: none;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.sistemi-picker__inner {
  position: relative;
  z-index: 1;
  width: min(1240px, calc(100% - 2.5rem));
  margin: 0 auto;
  padding: 0 0 clamp(2.75rem, 6vw, 4rem);
}

.sistemi-picker__badge {
  display: inline-block;
  margin-bottom: clamp(0.65rem, 1.5vw, 0.9rem);
  padding: 0.42rem 1rem;
  font-family: var(--font-impact);
  font-size: clamp(0.58rem, 1vw, 0.68rem);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--gray-light);
  border: 1px solid rgba(143, 0, 255, 0.65);
  border-radius: var(--radius-pill);
  background: rgba(143, 0, 255, 0.12);
  box-shadow: 0 0 18px rgba(143, 0, 255, 0.18);
}

.sistemi-picker__title-flag {
  width: 100%;
  display: flex;
  justify-content: center;
  margin-bottom: clamp(0.65rem, 1.4vw, 0.95rem);
}

.sistemi-picker__title {
  font-family: var(--font-impact);
  font-size: clamp(1.05rem, 2.35vw + 0.45rem, 2.65rem);
  line-height: 1;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--gray-light);
  margin: 0;
  transform: skewY(-4deg);
  white-space: nowrap;
}

.sistemi-picker-kw {
  color: var(--acid);
}

.sistemi-picker__subtitle {
  max-width: min(52rem, 94vw);
  font-size: clamp(0.92rem, 1.5vw, 1.05rem);
  line-height: 1.55;
  color: var(--gray-light);
  margin: 0;
}

@media (max-width: 520px) {
  .sistemi-picker__title {
    font-size: clamp(0.92rem, 4.6vw, 1.15rem);
    white-space: normal;
  }
}

.sistemi-picker__compare {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.85rem;
}

@media (min-width: 900px) {
  .sistemi-picker__compare {
    grid-template-columns: minmax(0, 1fr) 2.75rem minmax(0, 1fr);
    gap: 0;
    align-items: stretch;
  }
}

.sistemi-picker__panel {
  border-radius: 1rem;
  padding: clamp(0.85rem, 1.8vw, 1.1rem);
  background: rgba(10, 8, 14, 0.92);
}

.sistemi-picker__panel--problem {
  border: 1px solid rgba(143, 0, 255, 0.55);
  box-shadow:
    0 0 0 1px rgba(143, 0, 255, 0.08),
    0 18px 40px rgba(143, 0, 255, 0.14);
}

.sistemi-picker__panel--solution {
  border: 1px solid rgba(229, 255, 57, 0.45);
  box-shadow:
    0 0 0 1px rgba(229, 255, 57, 0.06),
    0 18px 40px rgba(229, 255, 57, 0.08);
}

.sistemi-picker__panel-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.65rem;
  padding: 0 0.15rem 0.55rem;
  font-family: var(--font-impact);
  font-size: clamp(0.58rem, 1vw, 0.68rem);
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.sistemi-picker__panel-bar--problem {
  color: var(--purple);
  border-bottom: 1px solid rgba(143, 0, 255, 0.28);
}

.sistemi-picker__panel-bar--solution {
  color: var(--acid);
  border-bottom: 1px solid rgba(229, 255, 57, 0.28);
}

.sistemi-picker__cells {
  list-style: none;
  display: grid;
  gap: 0.45rem;
  margin: 0;
  padding: 0;
}

@media (min-width: 900px) {
  .sistemi-picker__cells {
    grid-template-rows: repeat(6, minmax(4.75rem, auto));
  }
}

.sistemi-picker__cell {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  min-height: 4.25rem;
  padding: 0.65rem 0.7rem;
  border-radius: 0.65rem;
  text-decoration: none;
  color: inherit;
  transition:
    transform 0.35s var(--ease-out),
    border-color var(--transition),
    box-shadow var(--transition),
    background var(--transition);
}

.sistemi-picker__cell--problem {
  position: relative;
  border: 1px solid rgba(143, 0, 255, 0.22);
  background: rgba(143, 0, 255, 0.06);
}

.sistemi-picker__cell--problem p {
  flex: 1;
  margin: 0;
  font-size: clamp(0.82rem, 1.25vw, 0.92rem);
  line-height: 1.45;
  color: var(--white);
  padding-right: 0.35rem;
}

.sistemi-picker__dot {
  position: absolute;
  right: 0.55rem;
  top: 50%;
  transform: translateY(-50%);
  width: 0.45rem;
  height: 0.45rem;
  border-radius: 50%;
  background: var(--purple);
  box-shadow: 0 0 10px rgba(143, 0, 255, 0.75);
  flex-shrink: 0;
}

.sistemi-picker__cell--solution {
  border: 1px solid rgba(229, 255, 57, 0.18);
  background: rgba(229, 255, 57, 0.04);
}

.sistemi-picker__answer {
  flex: 1;
  min-width: 0;
}

.sistemi-picker__system {
  font-family: var(--font-impact);
  font-size: clamp(0.78rem, 1.2vw, 0.9rem);
  line-height: 1.15;
  letter-spacing: 0.03em;
  color: var(--acid);
  margin: 0 0 0.2rem;
  text-transform: none;
}

.sistemi-picker__answer p {
  margin: 0;
  font-size: clamp(0.74rem, 1.1vw, 0.84rem);
  line-height: 1.42;
  color: rgba(205, 204, 204, 0.92);
}

.sistemi-picker__icon {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--acid);
}

.sistemi-picker__icon svg {
  width: 1.1rem;
  height: 1.1rem;
}

.sistemi-picker__icon--ring {
  width: 2.15rem;
  height: 2.15rem;
  border-radius: 50%;
  border: 1px solid rgba(229, 255, 57, 0.45);
  background: rgba(229, 255, 57, 0.06);
  box-shadow: 0 0 14px rgba(229, 255, 57, 0.12);
}

.sistemi-picker__icon--square {
  width: 2.35rem;
  height: 2.35rem;
  border-radius: 0.55rem;
  border: 1px solid rgba(229, 255, 57, 0.35);
  background: rgba(229, 255, 57, 0.08);
  box-shadow: 0 0 16px rgba(229, 255, 57, 0.14);
}

.sistemi-picker__bridges {
  display: none;
}

@media (min-width: 900px) {
  .sistemi-picker__bridges {
    display: grid;
    grid-template-rows: repeat(6, minmax(4.75rem, auto));
    gap: 0.45rem;
    align-self: end;
    padding-top: calc(clamp(0.85rem, 1.8vw, 1.1rem) + 2.1rem);
    padding-bottom: clamp(0.85rem, 1.8vw, 1.1rem);
  }
}

.sistemi-picker__bridge {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 4.25rem;
}

.sistemi-picker__bridge::before {
  content: "";
  position: absolute;
  left: -0.35rem;
  right: -0.35rem;
  top: 50%;
  height: 2px;
  transform: translateY(-50%);
  background: linear-gradient(
    90deg,
    rgba(143, 0, 255, 0.85) 0%,
    rgba(229, 255, 57, 0.9) 100%
  );
  box-shadow: 0 0 12px rgba(143, 0, 255, 0.45);
}

.sistemi-picker__bridge::after {
  content: "";
  position: relative;
  z-index: 1;
  width: 0;
  height: 0;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
  border-left: 7px solid var(--acid);
  filter: drop-shadow(0 0 6px rgba(229, 255, 57, 0.65));
}

.sistemi-picker__cta {
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-areas:
    "icon copy"
    "btn btn";
  gap: 0.85rem 1rem;
  align-items: center;
  margin-top: clamp(1.75rem, 3.5vw, 2.5rem);
  padding: clamp(1.1rem, 2.2vw, 1.5rem) clamp(1rem, 2.5vw, 1.75rem);
  border-radius: 1rem;
  border: 1px solid rgba(143, 0, 255, 0.55);
  background: linear-gradient(
    135deg,
    rgba(143, 0, 255, 0.1) 0%,
    rgba(10, 8, 14, 0.95) 55%
  );
  box-shadow: 0 18px 40px rgba(143, 0, 255, 0.12);
}

@media (min-width: 768px) {
  .sistemi-picker__cta {
    grid-template-columns: auto 1fr auto;
    grid-template-areas: "icon copy btn";
    gap: 1rem 1.25rem;
  }
}

.sistemi-picker__cta-icon {
  grid-area: icon;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 0.65rem;
  color: var(--acid);
  background: rgba(229, 255, 57, 0.1);
  box-shadow: 0 0 20px rgba(229, 255, 57, 0.2);
}

.sistemi-picker__cta-icon svg {
  width: 1.45rem;
  height: 1.45rem;
}

.sistemi-picker__cta-copy {
  grid-area: copy;
  min-width: 0;
}

.sistemi-picker__cta-title {
  font-family: var(--font-impact);
  font-size: clamp(1rem, 2vw, 1.35rem);
  line-height: 1.1;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  margin: 0 0 0.25rem;
}

.sistemi-picker__cta-text {
  margin: 0;
  font-size: clamp(0.88rem, 1.4vw, 0.98rem);
  line-height: 1.5;
  color: rgba(205, 204, 204, 0.9);
}

.sistemi-picker__cta-btn {
  grid-area: btn;
  justify-self: start;
  white-space: nowrap;
}

@media (min-width: 768px) {
  .sistemi-picker__cta-btn {
    justify-self: end;
  }
}

.page-sistemi-ai .sistemi-picker__cell--problem:hover {
  transform: translateX(3px);
  border-color: rgba(143, 0, 255, 0.45);
  box-shadow: 0 0 18px rgba(143, 0, 255, 0.18);
}

.page-sistemi-ai .sistemi-picker__cell--solution:hover {
  transform: translateX(-3px);
  border-color: rgba(229, 255, 57, 0.38);
  box-shadow: 0 0 18px rgba(229, 255, 57, 0.14);
}

.page-sistemi-ai .sistemi-picker__panel--problem:hover {
  border-color: rgba(143, 0, 255, 0.7);
  box-shadow:
    0 0 0 1px rgba(143, 0, 255, 0.12),
    0 22px 48px rgba(143, 0, 255, 0.2);
}

.page-sistemi-ai .sistemi-picker__panel--solution:hover {
  border-color: rgba(229, 255, 57, 0.55);
  box-shadow:
    0 0 0 1px rgba(229, 255, 57, 0.1),
    0 22px 48px rgba(229, 255, 57, 0.12);
}

.page-sistemi-ai .sistemi-picker__cta {
  transition:
    transform 0.35s var(--ease-out),
    border-color var(--transition),
    box-shadow var(--transition);
}

.page-sistemi-ai .sistemi-picker__cta:hover {
  transform: translateY(-4px);
  border-color: rgba(143, 0, 255, 0.75);
  box-shadow: 0 24px 48px rgba(143, 0, 255, 0.22);
}

@media (prefers-reduced-motion: reduce) {
  .sistemi-picker__title {
    transform: none;
  }

  .page-sistemi-ai .sistemi-picker__cell--problem:hover,
  .page-sistemi-ai .sistemi-picker__cell--solution:hover,
  .page-sistemi-ai .sistemi-picker__cta:hover {
    transform: none;
  }
}

/* ——— Sistemi AI: integrazioni ——— */
.section--sistemi-integrazioni {
  position: relative;
  overflow: hidden;
  background: var(--purple);
  color: var(--gray-light);
  border-top: 2px solid var(--acid);
}

.sistemi-integrazioni__bg {
  position: absolute;
  inset: 0;
  margin: 0;
  line-height: 0;
}

.sistemi-integrazioni__bg-image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 72% center;
}

.sistemi-integrazioni__veil {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(
    102deg,
    rgba(0, 0, 0, 0.9) 0%,
    rgba(52, 0, 82, 0.82) 28%,
    rgba(80, 0, 128, 0.72) 52%,
    rgba(40, 0, 64, 0.88) 78%,
    rgba(20, 0, 36, 0.94) 100%
  );
}

.sistemi-integrazioni__inner {
  position: relative;
  z-index: 2;
  width: min(1240px, calc(100% - 2.5rem));
  margin: 0 auto;
  padding: clamp(2.75rem, 6vw, 4.25rem) 0 clamp(3.25rem, 7vw, 5rem);
}

.sistemi-integrazioni__intro {
  max-width: min(40rem, 100%);
}

.sistemi-integrazioni__title-flag {
  transform: skewY(-4deg);
  transform-origin: left center;
  margin-bottom: clamp(1rem, 2.2vw, 1.5rem);
}

.sistemi-integrazioni__title {
  font-family: var(--font-impact);
  font-size: clamp(1.65rem, 4.8vw, 3.35rem);
  line-height: 0.96;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--gray-light);
  margin: 0;
  text-align: left;
}

.sistemi-integrazioni__title-line {
  display: block;
}

.sistemi-integrazioni-kw-outline {
  color: transparent;
  -webkit-text-stroke: clamp(1.5px, 0.08em, 2.5px) var(--acid);
  paint-order: stroke fill;
  filter: drop-shadow(0 0 10px rgba(229, 255, 57, 0.2));
}

.sistemi-integrazioni__copy-flag {
  transform: skewY(-2.5deg);
  transform-origin: left center;
}

.sistemi-integrazioni__copy {
  display: grid;
  gap: clamp(0.7rem, 1.4vw, 0.95rem);
  max-width: 42ch;
  text-align: left;
}

.sistemi-integrazioni__copy p {
  font-size: clamp(0.95rem, 1.55vw, 1.08rem);
  line-height: 1.6;
  color: var(--gray-light);
  margin: 0;
}

.sistemi-integrazioni-kw {
  color: var(--acid);
  font-weight: 600;
}

.sistemi-integrazioni__tools {
  margin-top: clamp(2.5rem, 5vw, 3.5rem);
  text-align: center;
}

.sistemi-integrazioni__tools-title {
  font-family: var(--font-impact);
  font-size: clamp(0.78rem, 1.35vw, 0.92rem);
  line-height: 1.2;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--acid);
  margin: 0 0 clamp(1rem, 2vw, 1.35rem);
}

.sistemi-integrazioni__categories {
  display: grid;
  gap: 0;
  text-align: left;
}

.sistemi-integrazioni__category {
  display: block;
  padding: clamp(0.7rem, 1.4vw, 0.95rem) clamp(0.85rem, 1.8vw, 1.15rem);
  border-bottom: 1px solid rgba(255, 255, 255, 0.14);
  outline: none;
  text-decoration: none;
  color: inherit;
  cursor: pointer;
  transition:
    background var(--transition),
    border-color var(--transition);
}

.sistemi-integrazioni__category:first-child {
  border-top: 1px solid rgba(255, 255, 255, 0.14);
}

.sistemi-integrazioni__category-name {
  font-family: var(--font-impact);
  font-size: clamp(0.88rem, 1.6vw, 1.05rem);
  line-height: 1.2;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--white);
  margin: 0;
  transition:
    color var(--transition),
    text-shadow var(--transition);
}

.sistemi-integrazioni__list {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem 0.55rem;
  margin: 0;
  padding: 0;
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  transition:
    max-height 0.45s var(--ease-out),
    opacity 0.35s var(--ease-out),
    margin-top 0.35s var(--ease-out);
}

.sistemi-integrazioni__list li {
  font-size: clamp(0.82rem, 1.25vw, 0.92rem);
  line-height: 1.35;
  color: rgba(205, 204, 204, 0.95);
  padding: 0.28rem 0.65rem;
  border-radius: var(--radius-pill);
  border: 1px solid rgba(229, 255, 57, 0.28);
  background: rgba(0, 0, 0, 0.18);
}

.sistemi-integrazioni__category:hover .sistemi-integrazioni__list,
.sistemi-integrazioni__category:focus-within .sistemi-integrazioni__list {
  max-height: 12rem;
  opacity: 1;
  margin-top: clamp(0.55rem, 1.1vw, 0.75rem);
}

.sistemi-integrazioni__category:hover .sistemi-integrazioni__category-name,
.sistemi-integrazioni__category:focus-within .sistemi-integrazioni__category-name {
  color: var(--acid);
  text-shadow: 0 0 14px rgba(229, 255, 57, 0.25);
}

.sistemi-integrazioni__category:hover,
.sistemi-integrazioni__category:focus-within {
  background: rgba(0, 0, 0, 0.14);
  border-color: rgba(229, 255, 57, 0.22);
}

.sistemi-integrazioni__cta-wrap {
  margin-top: clamp(2rem, 4vw, 2.75rem);
}

.sistemi-integrazioni__cta {
  min-width: min(100%, 240px);
}

.page-sistemi-ai .sistemi-integrazioni__category {
  transition:
    background var(--transition),
    border-color var(--transition),
    transform 0.35s var(--ease-out);
}

.page-sistemi-ai .sistemi-integrazioni__category:hover {
  transform: translateX(4px);
}

.page-sistemi-ai .sistemi-integrazioni__cta {
  transition:
    transform var(--transition),
    box-shadow var(--transition);
}

.page-sistemi-ai .sistemi-integrazioni__bg-image {
  transition: transform 0.7s var(--ease-out);
}

.page-sistemi-ai .section--sistemi-integrazioni:hover .sistemi-integrazioni__bg-image {
  transform: scale(1.03);
}

.page-sistemi-ai .sistemi-integrazioni-kw {
  transition: text-shadow var(--transition);
}

.page-sistemi-ai .sistemi-integrazioni-kw:hover {
  text-shadow: 0 0 12px rgba(229, 255, 57, 0.35);
}

@media (prefers-reduced-motion: reduce) {
  .sistemi-integrazioni__title-flag,
  .sistemi-integrazioni__copy-flag {
    transform: none;
  }

  .sistemi-integrazioni__list {
    transition: none;
  }

  .page-sistemi-ai .section--sistemi-integrazioni:hover .sistemi-integrazioni__bg-image,
  .page-sistemi-ai .sistemi-integrazioni__category:hover {
    transform: none;
  }
}

.page-sistemi-ai .bestia-contact__form {
  transition:
    transform 0.35s var(--ease-out),
    border-color var(--transition),
    box-shadow var(--transition);
}

.page-sistemi-ai .bestia-contact__form:hover {
  transform: translateY(-3px);
  border-color: rgba(229, 255, 57, 0.55);
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.22);
}

.page-sistemi-ai .bestia-contact__field input,
.page-sistemi-ai .bestia-contact__field textarea,
.page-sistemi-ai .bestia-contact__dropdown-trigger {
  transition:
    border-color var(--transition),
    box-shadow var(--transition),
    background var(--transition);
}

.page-sistemi-ai .bestia-contact__submit {
  transition:
    transform var(--transition),
    box-shadow var(--transition);
}

.page-sistemi-ai .bestia-contact__submit:hover {
  transform: translateY(-2px);
}

/* ——— Pagine software iMEDIA ——— */
.page-software {
  background: #000;
  color: var(--gray-light);
}

.software-hero {
  min-height: min(88svh, 820px);
  display: grid;
  grid-template-columns: 1fr;
  align-items: center;
  gap: clamp(1.5rem, 3vw, 2.5rem);
  width: min(1240px, calc(100% - 2.5rem));
  margin: 0 auto;
  padding: calc(var(--header-h) + 1.5rem) 0 clamp(3rem, 6vw, 4rem);
}

@media (min-width: 960px) {
  .software-hero {
    grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
    gap: clamp(2rem, 4vw, 3rem);
  }
}

.software-hero__copy {
  max-width: 36rem;
}

.software-hero__eyebrow {
  display: inline-block;
  margin-bottom: 0.85rem;
  padding: 0.4rem 0.9rem;
  font-family: var(--font-impact);
  font-size: clamp(0.56rem, 1vw, 0.66rem);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--acid);
  border: 1px solid rgba(229, 255, 57, 0.45);
  border-radius: var(--radius-pill);
}

.software-hero__title {
  font-family: var(--font-impact);
  font-size: clamp(2rem, 5.5vw, 3.75rem);
  line-height: 0.95;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--gray-light);
  margin: 0 0 0.45rem;
}

.software-hero__title-kw {
  color: var(--acid);
}

.software-hero__subtitle {
  font-family: var(--font-impact);
  font-size: clamp(0.95rem, 1.8vw, 1.2rem);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--purple);
  margin: 0 0 1rem;
  filter: drop-shadow(0 0 12px rgba(143, 0, 255, 0.35));
}

.software-hero__text {
  font-size: clamp(0.95rem, 1.55vw, 1.08rem);
  line-height: 1.62;
  color: var(--gray-light);
  margin: 0 0 1.5rem;
  max-width: 42ch;
}

.software-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.software-hero__visual {
  margin: 0;
  border-radius: 1rem;
  overflow: hidden;
  border: 1px solid rgba(143, 0, 255, 0.45);
  box-shadow: 0 22px 48px rgba(143, 0, 255, 0.18);
}

.software-hero__image {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  object-position: top center;
}

.page-software .software-hero__visual {
  transition:
    transform 0.4s var(--ease-out),
    box-shadow var(--transition);
}

.page-software .software-hero__visual:hover {
  transform: translateY(-5px);
  box-shadow: 0 28px 56px rgba(143, 0, 255, 0.28);
}

/* ——— iMedia CRM ——— */
body.page-crm {
  background: #030008;
  color: var(--gray-light);
}

.hero--crm {
  position: relative;
  overflow: hidden;
  min-height: min(100svh, 920px);
  padding: calc(var(--header-h) + 1rem) 0 0;
}

.hero--crm__grid {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(rgba(143, 0, 255, 0.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(143, 0, 255, 0.05) 1px, transparent 1px),
    radial-gradient(ellipse 70% 55% at 72% 42%, rgba(143, 0, 255, 0.22), transparent 68%),
    radial-gradient(ellipse 50% 40% at 18% 80%, rgba(143, 0, 255, 0.1), transparent 70%),
    #030008;
  background-size:
    48px 48px,
    48px 48px,
    auto,
    auto,
    auto;
}

.hero--crm__inner {
  position: relative;
  z-index: 1;
  width: min(1320px, calc(100% - 2.5rem));
  margin: 0 auto;
  padding-bottom: clamp(1.5rem, 3vw, 2.25rem);
}

.hero--crm__layout {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(1.25rem, 3vw, 2rem);
  align-items: center;
  min-height: min(72svh, 680px);
}

@media (min-width: 960px) {
  .hero--crm__layout {
    grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
    gap: clamp(1rem, 2vw, 1.75rem);
  }
}

.hero--crm__copy {
  max-width: 34rem;
}

.hero--crm__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  margin-bottom: clamp(0.75rem, 1.5vw, 1rem);
  font-family: var(--font-impact);
  font-size: clamp(0.56rem, 1vw, 0.66rem);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--acid);
}

.hero--crm__product {
  font-family: var(--font-impact);
  font-size: clamp(0.85rem, 1.5vw, 1rem);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--purple);
  margin: 0 0 0.55rem;
  filter: drop-shadow(0 0 14px rgba(143, 0, 255, 0.45));
}

.hero--crm__title {
  font-family: var(--font-impact);
  font-size: clamp(1.85rem, 4.8vw, 3.35rem);
  line-height: 0.95;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--acid);
  margin: 0 0 clamp(1rem, 2vw, 1.35rem);
}

.hero--crm__title-line {
  display: block;
}

.crm-kw-outline {
  color: transparent;
  -webkit-text-stroke: clamp(1.5px, 0.08em, 2.5px) var(--acid);
  paint-order: stroke fill;
  filter: drop-shadow(0 0 10px rgba(229, 255, 57, 0.2));
}

.hero--crm__body {
  display: grid;
  gap: clamp(0.7rem, 1.4vw, 0.95rem);
  margin-bottom: clamp(1.15rem, 2.2vw, 1.5rem);
}

.hero--crm__body p {
  font-size: clamp(0.92rem, 1.45vw, 1.02rem);
  line-height: 1.6;
  color: var(--gray-light);
  margin: 0;
  max-width: 40ch;
}

.crm-text-kw {
  color: var(--acid);
  font-weight: 600;
}

.hero--crm__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 0.85rem;
}

.hero--crm__cta {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
}

.hero--crm__visual {
  margin: 0;
  overflow: hidden;
  border-radius: 0.25rem;
  line-height: 0;
}

.hero--crm__visual-image {
  display: block;
  width: 100%;
  max-width: 640px;
  margin: 0 auto;
  height: auto;
  border-radius: 0.65rem;
  border: 1px solid rgba(143, 0, 255, 0.45);
  box-shadow: 0 24px 52px rgba(143, 0, 255, 0.22);
}

@media (min-width: 960px) {
  .hero--crm__visual {
    justify-self: end;
    width: 100%;
  }

  .hero--crm__visual-image {
    max-width: none;
    margin: 0;
  }
}

.hero--crm__features {
  list-style: none;
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.55rem;
  margin: clamp(1rem, 2vw, 1.5rem) 0 0;
  padding: 0;
}

@media (min-width: 640px) {
  .hero--crm__features {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 1100px) {
  .hero--crm__features {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.65rem;
  }
}

.hero--crm__feature {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  min-height: 3.25rem;
  padding: 0.65rem 0.85rem;
  border: 1px solid rgba(143, 0, 255, 0.45);
  border-radius: 0.55rem;
  background: rgba(143, 0, 255, 0.08);
  box-shadow: 0 0 18px rgba(143, 0, 255, 0.1);
  font-family: var(--font-impact);
  font-size: clamp(0.58rem, 1vw, 0.66rem);
  line-height: 1.2;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--gray-light);
}

.hero--crm__feature-icon {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.65rem;
  height: 1.65rem;
  border-radius: 0.35rem;
  color: var(--acid);
  background: rgba(143, 0, 255, 0.2);
  box-shadow: 0 0 12px rgba(143, 0, 255, 0.25);
}

.hero--crm__feature-icon svg {
  width: 0.95rem;
  height: 0.95rem;
}

.page-crm .site-nav__link.is-active,
.page-crm .site-nav__dropdown-link.is-active {
  color: var(--acid);
}

.page-crm .hero--crm__visual {
  transition:
    transform 0.45s var(--ease-out),
    filter var(--transition);
}

.page-crm .hero--crm__visual:hover {
  transform: translateY(-4px);
  filter: drop-shadow(0 24px 48px rgba(143, 0, 255, 0.22));
}

.page-crm .hero--crm__feature {
  transition:
    transform 0.35s var(--ease-out),
    border-color var(--transition),
    box-shadow var(--transition);
}

.page-crm .hero--crm__feature:hover {
  transform: translateY(-3px);
  border-color: rgba(143, 0, 255, 0.65);
  box-shadow: 0 0 22px rgba(143, 0, 255, 0.2);
}

.page-crm .crm-text-kw {
  transition: text-shadow var(--transition);
}

.page-crm .crm-text-kw:hover {
  text-shadow: 0 0 12px rgba(229, 255, 57, 0.35);
}

@media (prefers-reduced-motion: reduce) {
  .page-crm .hero--crm__visual:hover,
  .page-crm .hero--crm__feature:hover {
    transform: none;
  }
}

/* ——— iMedia CRM: problema / soluzione ——— */
.section--crm-ps {
  position: relative;
  overflow: hidden;
  background: var(--gray-light);
  color: var(--gray-dark);
}

.crm-ps__decor {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 12% 18%, rgba(143, 0, 255, 0.08), transparent 22%),
    radial-gradient(circle at 88% 82%, rgba(143, 0, 255, 0.06), transparent 24%),
    radial-gradient(circle, rgba(143, 0, 255, 0.14) 1px, transparent 1px);
  background-size:
    auto,
    auto,
    22px 22px;
  opacity: 0.85;
}

.crm-ps__inner {
  position: relative;
  z-index: 1;
  width: min(1320px, calc(100% - 2.5rem));
  margin: 0 auto;
  padding: clamp(2.75rem, 6vw, 4.25rem) 0;
}

.crm-ps__layout {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(1.75rem, 3.5vw, 2.5rem);
  align-items: center;
}

@media (min-width: 960px) {
  .crm-ps__layout {
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
    gap: clamp(1.5rem, 3vw, 2.25rem);
  }

  .crm-ps__visual {
    order: 1;
  }

  .crm-ps__copy {
    order: 2;
  }
}

.crm-ps__visual {
  margin: 0;
  overflow: hidden;
  border-radius: 0.85rem;
  box-shadow: 0 18px 44px rgba(52, 52, 52, 0.12);
  background: #fff;
}

.crm-ps__visual-image {
  display: block;
  width: 200%;
  max-width: none;
  height: auto;
  object-fit: cover;
  object-position: left center;
}

.crm-ps__copy {
  max-width: 38rem;
}

@media (min-width: 960px) {
  .crm-ps__copy {
    padding-left: clamp(0.5rem, 1.5vw, 1.25rem);
  }
}

.crm-ps__label,
.crm-ps__solution-label {
  font-family: var(--font-impact);
  font-size: clamp(0.62rem, 1vw, 0.72rem);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--purple);
  margin: 0 0 0.85rem;
}

.crm-ps__solution-label {
  margin-bottom: 0.65rem;
}

.crm-ps__title {
  font-family: var(--font-impact);
  font-size: clamp(1.45rem, 3.2vw, 2.35rem);
  line-height: 0.98;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--purple);
  margin: 0 0 0.85rem;
}

.crm-ps__title-line {
  display: block;
}

.crm-ps-kw-outline {
  color: transparent;
  -webkit-text-stroke: clamp(1.5px, 0.08em, 2px) var(--purple);
  paint-order: stroke fill;
}

.crm-ps__lead {
  font-size: clamp(0.95rem, 1.5vw, 1.05rem);
  line-height: 1.58;
  color: var(--gray-dark);
  margin: 0 0 1rem;
  max-width: 36ch;
}

.crm-ps__divider {
  border: none;
  height: 2px;
  margin: 0 0 1rem;
  background: linear-gradient(90deg, var(--purple), rgba(143, 0, 255, 0.15));
}

.crm-ps__text {
  font-size: clamp(0.92rem, 1.4vw, 1rem);
  line-height: 1.62;
  color: var(--gray-dark);
  margin: 0 0 0.75rem;
  max-width: 40ch;
}

.crm-ps-kw {
  color: var(--purple);
  font-weight: 600;
}

.crm-ps__checks {
  list-style: none;
  margin: 0.35rem 0 1rem;
  padding: 0;
  display: grid;
  gap: 0.45rem;
}

.crm-ps__check {
  display: flex;
  align-items: flex-start;
  gap: 0.55rem;
  font-size: clamp(0.9rem, 1.35vw, 0.98rem);
  line-height: 1.45;
  color: var(--gray-dark);
}

.crm-ps__check-icon {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.25rem;
  height: 1.25rem;
  margin-top: 0.1rem;
  border-radius: 50%;
  color: var(--white);
  background: var(--purple);
  box-shadow: 0 0 12px rgba(143, 0, 255, 0.25);
}

.crm-ps__check-icon svg {
  width: 0.75rem;
  height: 0.75rem;
}

.crm-ps__close {
  font-size: clamp(0.92rem, 1.4vw, 1rem);
  line-height: 1.62;
  color: var(--gray-dark);
  margin: 0;
  max-width: 42ch;
}

.page-crm .crm-ps__visual {
  transition:
    transform 0.4s var(--ease-out),
    box-shadow var(--transition);
}

.page-crm .crm-ps__visual:hover {
  transform: translateY(-4px);
  box-shadow: 0 24px 52px rgba(143, 0, 255, 0.14);
}

.page-crm .crm-ps__check {
  transition: transform 0.3s var(--ease-out);
}

.page-crm .crm-ps__check:hover {
  transform: translateX(4px);
}

@media (prefers-reduced-motion: reduce) {
  .page-crm .crm-ps__visual:hover,
  .page-crm .crm-ps__check:hover {
    transform: none;
  }
}

/* ——— iMedia CRM: come iMEDIA può aiutarti ——— */
.section--crm-aiuto {
  position: relative;
  overflow: hidden;
  background: var(--gray-light);
  color: var(--gray-dark);
}

.crm-aiuto__decor {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 18% 12%, rgba(143, 0, 255, 0.07), transparent 24%),
    radial-gradient(circle at 82% 88%, rgba(143, 0, 255, 0.06), transparent 26%),
    radial-gradient(circle, rgba(143, 0, 255, 0.12) 1px, transparent 1px);
  background-size:
    auto,
    auto,
    22px 22px;
  opacity: 0.85;
}

.crm-aiuto__inner {
  position: relative;
  z-index: 1;
  width: min(1320px, calc(100% - 2.5rem));
  margin: 0 auto;
  padding: clamp(2.75rem, 6vw, 4.25rem) 0 clamp(3rem, 6vw, 4.5rem);
}

.crm-aiuto__top {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(1.75rem, 3.5vw, 2.5rem);
  align-items: center;
  margin-bottom: clamp(2.5rem, 5vw, 3.5rem);
}

@media (min-width: 960px) {
  .crm-aiuto__top {
    grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
    gap: clamp(1.25rem, 2.5vw, 2rem);
  }
}

.crm-aiuto__intro {
  max-width: 34rem;
}

.crm-aiuto__label {
  font-family: var(--font-impact);
  font-size: clamp(0.62rem, 1vw, 0.72rem);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--purple);
  margin: 0 0 0.85rem;
}

.crm-aiuto__title {
  font-family: var(--font-impact);
  font-size: clamp(1.35rem, 2.8vw, 2.15rem);
  line-height: 0.98;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--purple);
  margin: 0 0 clamp(1rem, 2vw, 1.35rem);
}

.crm-aiuto__title-line {
  display: block;
}

.crm-aiuto-kw-outline {
  color: transparent;
  -webkit-text-stroke: clamp(1.5px, 0.08em, 2px) var(--purple);
  paint-order: stroke fill;
}

.crm-aiuto__copy {
  display: grid;
  gap: clamp(0.7rem, 1.4vw, 0.95rem);
}

.crm-aiuto__copy p {
  font-size: clamp(0.92rem, 1.45vw, 1.02rem);
  line-height: 1.62;
  color: var(--gray-dark);
  margin: 0;
  max-width: 42ch;
}

.crm-aiuto-kw {
  color: var(--purple);
  font-weight: 600;
}

.crm-aiuto__diagram {
  position: relative;
  min-height: clamp(300px, 42vw, 400px);
  padding: clamp(0.5rem, 1.5vw, 0.85rem);
  border-radius: 0.85rem;
  background:
    radial-gradient(circle at 50% 42%, rgba(255, 255, 255, 0.92), rgba(248, 246, 252, 0.75) 55%, transparent 72%),
    linear-gradient(145deg, rgba(255, 255, 255, 0.55), rgba(255, 255, 255, 0.2));
  box-shadow:
    inset 0 0 0 1px rgba(143, 0, 255, 0.08),
    0 16px 40px rgba(52, 52, 52, 0.1);
}

.crm-aiuto__wires {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 0;
}

.crm-aiuto__wire {
  fill: none;
  stroke: var(--purple);
  stroke-width: 1.5;
  stroke-linecap: round;
  opacity: 0.55;
}

.crm-aiuto__wire-dot {
  fill: var(--purple);
  opacity: 0.7;
}

.crm-aiuto__wire-dot--hub {
  fill: #fff;
  stroke: var(--purple);
  stroke-width: 2;
  opacity: 1;
}

.crm-aiuto-node {
  position: absolute;
  z-index: 2;
  width: clamp(6.5rem, 18vw, 8.75rem);
  padding: 0.55rem 0.65rem 0.65rem;
  border-radius: 0.55rem;
  background: #fff;
  border: 1px solid rgba(143, 0, 255, 0.14);
  box-shadow: 0 8px 22px rgba(52, 52, 52, 0.08);
}

.crm-aiuto-node__title {
  display: flex;
  align-items: center;
  gap: 0.3rem;
  font-family: var(--font-impact);
  font-size: clamp(0.58rem, 1.1vw, 0.68rem);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--purple);
  margin: 0 0 0.35rem;
}

.crm-aiuto-node__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 0.95rem;
  height: 0.95rem;
  border-radius: 50%;
  font-size: 0.45rem;
  line-height: 1;
  color: var(--purple);
  background: rgba(143, 0, 255, 0.1);
  box-shadow: inset 0 0 0 1px rgba(143, 0, 255, 0.15);
}

.crm-aiuto-node__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.15rem;
}

.crm-aiuto-node__list li {
  font-size: clamp(0.58rem, 1vw, 0.66rem);
  line-height: 1.35;
  color: rgba(52, 52, 52, 0.88);
  padding-left: 0.55rem;
  position: relative;
}

.crm-aiuto-node__list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.45em;
  width: 0.2rem;
  height: 0.2rem;
  border-radius: 50%;
  background: var(--purple);
  opacity: 0.55;
}

.crm-aiuto-node--lead {
  left: 2%;
  top: 4%;
}

.crm-aiuto-node--cliente {
  left: 0;
  top: 38%;
  transform: translateY(-50%);
}

.crm-aiuto-node--pipeline {
  left: 2%;
  bottom: 14%;
}

.crm-aiuto-node--storico {
  right: 2%;
  top: 4%;
}

.crm-aiuto-node--followup {
  right: 0;
  top: 38%;
  transform: translateY(-50%);
}

.crm-aiuto-node--documenti {
  right: 2%;
  bottom: 14%;
}

.crm-aiuto-node--report {
  left: 50%;
  bottom: 2%;
  transform: translateX(-50%);
  width: clamp(7rem, 20vw, 9.5rem);
}

.crm-aiuto-hub {
  position: absolute;
  z-index: 1;
  left: 50%;
  top: 42%;
  transform: translate(-50%, -50%);
  width: min(58%, 17.5rem);
  padding: 0.55rem 0.65rem 0.65rem;
  border-radius: 0.65rem;
  background: linear-gradient(180deg, #fff 0%, #faf8ff 100%);
  border: 1px solid rgba(143, 0, 255, 0.16);
  box-shadow:
    0 14px 36px rgba(143, 0, 255, 0.12),
    0 4px 12px rgba(52, 52, 52, 0.08);
}

.crm-aiuto-hub__chrome {
  display: flex;
  gap: 0.25rem;
  margin-bottom: 0.45rem;
}

.crm-aiuto-hub__chrome span {
  width: 0.35rem;
  height: 0.35rem;
  border-radius: 50%;
  background: rgba(143, 0, 255, 0.18);
}

.crm-aiuto-hub__chrome span:first-child {
  background: rgba(229, 255, 57, 0.85);
}

.crm-aiuto-hub__head {
  margin-bottom: 0.45rem;
}

.crm-aiuto-hub__label {
  display: inline-block;
  font-family: var(--font-impact);
  font-size: clamp(0.52rem, 1vw, 0.62rem);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--purple);
  padding: 0.15rem 0.4rem;
  border-radius: 0.25rem;
  background: rgba(143, 0, 255, 0.08);
}

.crm-aiuto-hub__pipeline {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0.25rem;
  margin-bottom: 0.5rem;
}

.crm-aiuto-hub__stage {
  display: grid;
  gap: 0.15rem;
  padding: 0.3rem 0.2rem;
  border-radius: 0.35rem;
  text-align: center;
  background: rgba(205, 204, 204, 0.35);
  border: 1px solid rgba(52, 52, 52, 0.06);
}

.crm-aiuto-hub__stage span {
  font-size: clamp(0.42rem, 0.75vw, 0.5rem);
  line-height: 1.15;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  color: rgba(52, 52, 52, 0.75);
}

.crm-aiuto-hub__stage strong {
  font-family: var(--font-impact);
  font-size: clamp(0.62rem, 1.1vw, 0.72rem);
  color: var(--purple);
  font-weight: 400;
}

.crm-aiuto-hub__stage--active {
  background: rgba(143, 0, 255, 0.12);
  border-color: rgba(143, 0, 255, 0.22);
  box-shadow: inset 0 0 0 1px rgba(143, 0, 255, 0.08);
}

.crm-aiuto-hub__stage--won {
  background: rgba(229, 255, 57, 0.35);
  border-color: rgba(52, 52, 52, 0.08);
}

.crm-aiuto-hub__footer {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.35rem;
}

.crm-aiuto-hub__panel {
  padding: 0.35rem 0.4rem;
  border-radius: 0.35rem;
  background: rgba(205, 204, 204, 0.22);
  border: 1px solid rgba(52, 52, 52, 0.06);
  min-height: 3.5rem;
}

.crm-aiuto-hub__panel-title {
  display: block;
  font-size: clamp(0.42rem, 0.75vw, 0.5rem);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: rgba(52, 52, 52, 0.7);
  margin-bottom: 0.25rem;
}

.crm-aiuto-hub__panel ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.12rem;
}

.crm-aiuto-hub__panel li {
  font-size: clamp(0.48rem, 0.85vw, 0.55rem);
  line-height: 1.25;
  color: rgba(52, 52, 52, 0.85);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.crm-aiuto-hub__chart {
  display: flex;
  align-items: flex-end;
  gap: 0.18rem;
  height: 2.1rem;
  margin-top: 0.15rem;
}

.crm-aiuto-hub__chart span {
  flex: 1;
  height: var(--h, 50%);
  border-radius: 0.15rem 0.15rem 0 0;
  background: linear-gradient(180deg, var(--purple), rgba(143, 0, 255, 0.55));
  opacity: 0.85;
}

@media (max-width: 700px) {
  .crm-aiuto__diagram {
    min-height: 520px;
    margin-top: 0.5rem;
  }

  .crm-aiuto-node {
    width: clamp(5.75rem, 28vw, 7.25rem);
    padding: 0.45rem 0.5rem 0.55rem;
  }

  .crm-aiuto-node--lead {
    left: 1%;
    top: 2%;
  }

  .crm-aiuto-node--cliente {
    left: 0;
    top: 22%;
  }

  .crm-aiuto-node--pipeline {
    left: 1%;
    top: 42%;
    bottom: auto;
  }

  .crm-aiuto-node--storico {
    right: 1%;
    top: 2%;
  }

  .crm-aiuto-node--followup {
    right: 0;
    top: 22%;
  }

  .crm-aiuto-node--documenti {
    right: 1%;
    top: 42%;
    bottom: auto;
  }

  .crm-aiuto-node--report {
    bottom: 4%;
  }

  .crm-aiuto-hub {
    top: 68%;
    width: min(88%, 16rem);
  }

  .crm-aiuto__wires {
    opacity: 0.35;
  }
}

.crm-aiuto__features-head {
  display: flex;
  align-items: center;
  gap: 0.85rem;
  margin-bottom: clamp(1.25rem, 2.5vw, 1.75rem);
}

.crm-aiuto__features-line {
  position: relative;
  flex: 1;
  max-width: 4.5rem;
  height: 2px;
  background: linear-gradient(90deg, var(--purple), rgba(143, 0, 255, 0.2));
}

.crm-aiuto__features-line::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 0.45rem;
  height: 0.45rem;
  border-radius: 50%;
  background: var(--purple);
  box-shadow: 0 0 10px rgba(143, 0, 255, 0.35);
}

.crm-aiuto__features-title {
  font-family: var(--font-impact);
  font-size: clamp(0.78rem, 1.35vw, 0.92rem);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--purple);
  margin: 0;
  white-space: nowrap;
}

.crm-aiuto__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(0.85rem, 1.6vw, 1.1rem);
}

@media (min-width: 640px) {
  .crm-aiuto__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 1024px) {
  .crm-aiuto__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.crm-aiuto-card {
  position: relative;
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.75rem 0.85rem;
  align-items: start;
  padding: clamp(1rem, 1.8vw, 1.25rem) clamp(1rem, 1.8vw, 1.2rem) 1.35rem;
  border-radius: 0.75rem;
  background: #fff;
  border: 1px solid rgba(143, 0, 255, 0.1);
  box-shadow: 0 10px 28px rgba(52, 52, 52, 0.08);
  overflow: hidden;
}

.crm-aiuto-card__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  color: var(--purple);
  background: rgba(143, 0, 255, 0.1);
  box-shadow: inset 0 0 0 1px rgba(143, 0, 255, 0.12);
}

.crm-aiuto-card__icon svg {
  width: 1.15rem;
  height: 1.15rem;
}

.crm-aiuto-card__body {
  min-width: 0;
}

.crm-aiuto-card__title {
  font-family: var(--font-impact);
  font-size: clamp(0.78rem, 1.2vw, 0.88rem);
  line-height: 1.15;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--purple);
  margin: 0 0 0.35rem;
}

.crm-aiuto-card__text {
  font-size: clamp(0.84rem, 1.25vw, 0.92rem);
  line-height: 1.5;
  color: rgba(52, 52, 52, 0.92);
  margin: 0;
}

.crm-aiuto-card__bar {
  position: absolute;
  left: 50%;
  bottom: 0.55rem;
  transform: translateX(-50%);
  width: 2.5rem;
  height: 3px;
  border-radius: var(--radius-pill);
  background: var(--purple);
  opacity: 0.85;
}

.page-crm .crm-aiuto__diagram {
  transition:
    transform 0.4s var(--ease-out),
    box-shadow var(--transition);
}

.page-crm .crm-aiuto__diagram:hover {
  transform: translateY(-4px);
  box-shadow:
    inset 0 0 0 1px rgba(143, 0, 255, 0.12),
    0 22px 48px rgba(143, 0, 255, 0.12);
}

.page-crm .crm-aiuto-card {
  transition:
    transform 0.35s var(--ease-out),
    border-color var(--transition),
    box-shadow var(--transition);
}

.page-crm .crm-aiuto-card:hover {
  transform: translateY(-4px);
  border-color: rgba(143, 0, 255, 0.28);
  box-shadow: 0 16px 36px rgba(143, 0, 255, 0.1);
}

@media (prefers-reduced-motion: reduce) {
  .page-crm .crm-aiuto__diagram:hover,
  .page-crm .crm-aiuto-card:hover {
    transform: none;
  }
}

/* ——— iMedia CRM: perché cambia / utile se ——— */
.section--crm-modo {
  position: relative;
  overflow: hidden;
  background: var(--purple);
  color: var(--gray-light);
}

.crm-modo__inner {
  width: min(1320px, calc(100% - 2.5rem));
  margin: 0 auto;
  padding: clamp(2.75rem, 6vw, 4.25rem) 0 clamp(3rem, 6vw, 4.5rem);
}

.crm-modo__hero {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(1.75rem, 3.5vw, 2.5rem);
  align-items: center;
  margin-bottom: clamp(2.5rem, 5vw, 3.5rem);
}

@media (min-width: 960px) {
  .crm-modo__hero {
    grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.92fr);
    gap: clamp(1.25rem, 2.5vw, 2rem);
  }
}

.crm-modo__visual-flag {
  transform: skewY(-3.5deg);
  transform-origin: left center;
}

.crm-modo__visual {
  position: relative;
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
  padding: clamp(0.75rem, 1.5vw, 1rem);
}

@media (min-width: 700px) {
  .crm-modo__visual {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.65rem;
  }
}

.crm-modo__connectors {
  position: absolute;
  right: 0;
  top: 50%;
  width: 28%;
  height: 72%;
  transform: translateY(-50%);
  pointer-events: none;
  z-index: 0;
  display: none;
}

@media (min-width: 700px) {
  .crm-modo__connectors {
    display: block;
  }
}

.crm-modo__connector {
  fill: none;
  stroke: var(--acid);
  stroke-width: 1.5;
  stroke-dasharray: 3 4;
  opacity: 0.65;
}

.crm-modo-dashboard {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: clamp(4.5rem, 14vw, 5.75rem) minmax(0, 1fr);
  min-height: clamp(220px, 32vw, 280px);
  border-radius: 0.75rem;
  overflow: hidden;
  border: 1px solid rgba(229, 255, 57, 0.35);
  box-shadow:
    0 22px 48px rgba(0, 0, 0, 0.28),
    0 0 0 1px rgba(143, 0, 255, 0.25);
  background: #fff;
}

.crm-modo-dashboard__nav {
  padding: 0.65rem 0.45rem;
  background: linear-gradient(180deg, #1a0030 0%, #0d0018 100%);
  border-right: 1px solid rgba(143, 0, 255, 0.35);
}

.crm-modo-dashboard__brand {
  display: block;
  font-family: var(--font-impact);
  font-size: clamp(0.42rem, 0.85vw, 0.52rem);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--acid);
  margin-bottom: 0.65rem;
  line-height: 1.1;
}

.crm-modo-dashboard__nav ul {
  list-style: none;
  display: grid;
  gap: 0.28rem;
}

.crm-modo-dashboard__nav li {
  font-size: clamp(0.42rem, 0.8vw, 0.5rem);
  line-height: 1.2;
  color: rgba(205, 204, 204, 0.75);
  padding: 0.22rem 0.3rem;
  border-radius: 0.25rem;
}

.crm-modo-dashboard__nav li.is-active {
  color: var(--acid);
  background: rgba(143, 0, 255, 0.35);
}

.crm-modo-dashboard__main {
  padding: 0.55rem 0.6rem 0.65rem;
  background: linear-gradient(180deg, #fff 0%, #faf8ff 100%);
}

.crm-modo-dashboard__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  margin-bottom: 0.45rem;
  font-family: var(--font-impact);
  font-size: clamp(0.48rem, 0.9vw, 0.58rem);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--purple);
}

.crm-modo-dashboard__pill {
  font-size: clamp(0.4rem, 0.75vw, 0.48rem);
  padding: 0.12rem 0.35rem;
  border-radius: var(--radius-pill);
  color: var(--gray-dark);
  background: rgba(229, 255, 57, 0.45);
}

.crm-modo-dashboard__pipeline {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0.22rem;
  margin-bottom: 0.45rem;
}

.crm-modo-dashboard__col {
  display: grid;
  gap: 0.12rem;
  padding: 0.28rem 0.15rem;
  border-radius: 0.3rem;
  text-align: center;
  background: rgba(205, 204, 204, 0.35);
  border: 1px solid rgba(52, 52, 52, 0.06);
}

.crm-modo-dashboard__col span {
  font-size: clamp(0.34rem, 0.65vw, 0.42rem);
  line-height: 1.15;
  text-transform: uppercase;
  color: rgba(52, 52, 52, 0.72);
}

.crm-modo-dashboard__col strong {
  font-family: var(--font-impact);
  font-size: clamp(0.52rem, 0.95vw, 0.62rem);
  color: var(--purple);
  font-weight: 400;
}

.crm-modo-dashboard__col--active {
  background: rgba(143, 0, 255, 0.12);
  border-color: rgba(143, 0, 255, 0.22);
}

.crm-modo-dashboard__col--won {
  background: rgba(229, 255, 57, 0.35);
}

.crm-modo-dashboard__stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.25rem;
  margin-bottom: 0.45rem;
}

.crm-modo-dashboard__stats div {
  padding: 0.25rem 0.3rem;
  border-radius: 0.3rem;
  background: rgba(205, 204, 204, 0.22);
  text-align: center;
}

.crm-modo-dashboard__stats span {
  display: block;
  font-size: clamp(0.34rem, 0.65vw, 0.42rem);
  color: rgba(52, 52, 52, 0.7);
  text-transform: uppercase;
}

.crm-modo-dashboard__stats strong {
  font-family: var(--font-impact);
  font-size: clamp(0.48rem, 0.85vw, 0.56rem);
  color: var(--purple);
  font-weight: 400;
}

.crm-modo-dashboard__features {
  list-style: none;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0.2rem;
}

.crm-modo-dashboard__features li {
  display: grid;
  justify-items: center;
  gap: 0.12rem;
  font-size: clamp(0.32rem, 0.62vw, 0.4rem);
  text-transform: uppercase;
  letter-spacing: 0.02em;
  color: rgba(52, 52, 52, 0.78);
  text-align: center;
  line-height: 1.1;
}

.crm-modo-dashboard__feat-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.1rem;
  height: 1.1rem;
  border-radius: 50%;
  font-size: 0.55rem;
  color: var(--gray-dark);
  background: var(--acid);
}

.crm-modo-badges {
  position: relative;
  z-index: 1;
  list-style: none;
  display: grid;
  gap: 0.45rem;
  padding: 0;
  margin: 0;
}

@media (max-width: 699px) {
  .crm-modo-badges {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.crm-modo-badge {
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-rows: auto auto;
  column-gap: 0.4rem;
  align-items: center;
  padding: 0.4rem 0.55rem;
  border-radius: 0.45rem;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(229, 255, 57, 0.25);
  min-width: clamp(6.5rem, 18vw, 8rem);
}

.crm-modo-badge__icon {
  grid-row: 1 / span 2;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.35rem;
  height: 1.35rem;
  border-radius: 50%;
  font-size: 0.65rem;
  color: var(--gray-dark);
  background: var(--acid);
}

.crm-modo-badge__label {
  font-family: var(--font-impact);
  font-size: clamp(0.48rem, 0.9vw, 0.56rem);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--acid);
  line-height: 1.1;
}

.crm-modo-badge__sub {
  font-size: clamp(0.52rem, 0.95vw, 0.62rem);
  color: var(--gray-light);
  line-height: 1.2;
}

.crm-modo__copy-wrap {
  max-width: 36rem;
}

@media (min-width: 960px) {
  .crm-modo__copy-wrap {
    justify-self: end;
    padding-left: clamp(0.5rem, 1.5vw, 1.25rem);
  }
}

.crm-modo__badge {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  margin: 0 0 clamp(0.85rem, 1.6vw, 1.1rem);
  padding: 0.35rem 0.65rem 0.35rem 0.45rem;
  border-radius: var(--radius-pill);
  background: var(--acid);
  font-family: var(--font-impact);
  font-size: clamp(0.52rem, 0.95vw, 0.62rem);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--gray-dark);
}

.crm-modo__badge-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.25rem;
  height: 1.25rem;
  color: var(--gray-dark);
}

.crm-modo__badge-icon svg {
  width: 100%;
  height: 100%;
}

.crm-modo__title-flag {
  margin-bottom: clamp(1rem, 2vw, 1.35rem);
}

@media (min-width: 960px) {
  .crm-modo__title-flag {
    text-align: right;
  }
}

.crm-modo__title {
  font-family: var(--font-impact);
  font-size: clamp(1.45rem, 3.4vw, 2.65rem);
  line-height: 0.96;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--acid);
  margin: 0;
}

.crm-modo__title-line {
  display: block;
}

@media (min-width: 960px) {
  .crm-modo__text-flag {
    text-align: right;
  }
}

.crm-modo__text-flag p,
.crm-modo__list {
  font-size: clamp(0.92rem, 1.45vw, 1.02rem);
  line-height: 1.62;
  color: var(--gray-light);
}

.crm-modo__text-flag p {
  margin: 0 0 clamp(0.7rem, 1.4vw, 0.95rem);
  max-width: 42ch;
}

@media (min-width: 960px) {
  .crm-modo__text-flag p {
    margin-left: auto;
  }
}

.crm-modo-kw {
  color: var(--acid);
  font-weight: 600;
}

.crm-modo__result {
  font-weight: 600;
  margin-bottom: 0.55rem !important;
}

.crm-modo__list {
  list-style: none;
  display: grid;
  gap: 0.35rem;
  margin: 0;
  padding: 0;
}

@media (min-width: 960px) {
  .crm-modo__list {
    justify-items: end;
  }
}

.crm-modo__list li {
  display: flex;
  align-items: baseline;
  gap: 0.45rem;
}

.crm-modo__list li span {
  color: var(--acid);
  font-weight: 700;
}

.crm-modo__divider {
  display: flex;
  align-items: center;
  gap: clamp(0.75rem, 2vw, 1.25rem);
  margin-bottom: clamp(1.5rem, 3vw, 2rem);
}

.crm-modo__divider-line {
  flex: 1;
  height: 1px;
  background: rgba(255, 255, 255, 0.35);
}

.crm-modo__divider-title {
  font-family: var(--font-impact);
  font-size: clamp(0.85rem, 1.8vw, 1.15rem);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--gray-light);
  margin: 0;
  white-space: nowrap;
}

.crm-modo__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(0.75rem, 1.5vw, 1rem);
}

@media (min-width: 640px) {
  .crm-modo__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 1024px) {
  .crm-modo__grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

.crm-modo-card {
  position: relative;
  min-height: 7.5rem;
  padding: clamp(0.95rem, 1.6vw, 1.15rem) clamp(0.95rem, 1.6vw, 1.1rem) 1.1rem;
  border-radius: 0.75rem;
  background: var(--gray-light);
  color: var(--gray-dark);
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.14);
}

.crm-modo-card__head {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  margin-bottom: 0.55rem;
}

.crm-modo-card__check {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.35rem;
  height: 1.35rem;
  border-radius: 50%;
  font-size: 0.72rem;
  font-weight: 700;
  color: var(--gray-dark);
  background: var(--acid);
}

.crm-modo-card__num {
  font-family: var(--font-impact);
  font-size: clamp(0.72rem, 1.2vw, 0.82rem);
  letter-spacing: 0.06em;
  color: var(--purple);
}

.crm-modo-card p {
  font-size: clamp(0.84rem, 1.25vw, 0.92rem);
  line-height: 1.5;
  margin: 0;
}

.crm-modo-card strong {
  color: var(--purple);
  font-weight: 600;
}

.page-crm .crm-modo__visual-flag {
  transition:
    transform 0.45s var(--ease-out),
    filter var(--transition);
}

.page-crm .crm-modo__visual-flag:hover {
  transform: skewY(-3.5deg) translateY(-4px);
  filter: drop-shadow(0 24px 48px rgba(0, 0, 0, 0.25));
}

.page-crm .crm-modo-card {
  transition:
    transform 0.35s var(--ease-out),
    box-shadow var(--transition);
}

.page-crm .crm-modo-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 18px 36px rgba(0, 0, 0, 0.2);
}

@media (prefers-reduced-motion: reduce) {
  .page-crm .crm-modo__visual-flag:hover,
  .page-crm .crm-modo-card:hover {
    transform: none;
  }
}

/* ——— iMedia CRM: contatti ——— */
.section--crm-contact .bestia-contact__title {
  max-width: 22ch;
}

.crm-contact__title-flag {
  margin-bottom: clamp(1rem, 2vw, 1.35rem);
}

.crm-contact-kw {
  color: var(--acid);
  font-weight: 600;
}

.page-crm .bestia-contact__form {
  transition:
    transform 0.35s var(--ease-out),
    border-color var(--transition),
    box-shadow var(--transition);
}

.page-crm .bestia-contact__form:hover {
  transform: translateY(-3px);
  border-color: rgba(229, 255, 57, 0.55);
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.22);
}

.page-crm .bestia-contact__field input,
.page-crm .bestia-contact__field textarea,
.page-crm .bestia-contact__dropdown-trigger {
  transition:
    border-color var(--transition),
    box-shadow var(--transition),
    background var(--transition);
}

.page-crm .bestia-contact__submit {
  transition:
    transform var(--transition),
    box-shadow var(--transition);
}

.page-crm .bestia-contact__submit:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(143, 0, 255, 0.35);
}

@media (prefers-reduced-motion: reduce) {
  .page-crm .bestia-contact__form:hover,
  .page-crm .bestia-contact__submit:hover {
    transform: none;
  }
}

/* ——— iMedia FlowPilot ——— */
body.page-flowpilot {
  background: #030008;
  color: var(--gray-light);
}

.hero--flowpilot {
  position: relative;
  min-height: 100svh;
  overflow: hidden;
  background: #030008;
}

.hero--flowpilot__bg {
  position: absolute;
  inset: 0;
  margin: 0;
  line-height: 0;
}

.hero--flowpilot__bg-image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 55% center;
}

.hero--flowpilot__veil {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(
    90deg,
    rgba(3, 0, 8, 0.92) 0%,
    rgba(3, 0, 8, 0.78) 38%,
    rgba(3, 0, 8, 0.45) 62%,
    rgba(3, 0, 8, 0.15) 82%,
    rgba(3, 0, 8, 0.05) 100%
  );
}

.hero--flowpilot__inner {
  position: relative;
  z-index: 2;
  width: min(1320px, calc(100% - 2.5rem));
  margin: 0 auto;
  min-height: 100svh;
  display: flex;
  align-items: center;
  padding: calc(var(--header-h) + 1.25rem) 0 clamp(2rem, 4vh, 3rem);
}

.hero--flowpilot__copy {
  max-width: min(40rem, 100%);
}

.hero--flowpilot__product {
  font-family: var(--font-impact);
  font-size: clamp(0.85rem, 1.5vw, 1rem);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--purple);
  margin: 0 0 0.65rem;
  filter: drop-shadow(0 0 14px rgba(143, 0, 255, 0.45));
}

.hero--flowpilot__title {
  font-family: var(--font-impact);
  font-size: clamp(1.85rem, 4.8vw, 3.35rem);
  line-height: 0.95;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--acid);
  margin: 0 0 clamp(1rem, 2vw, 1.35rem);
  text-shadow: 0 2px 24px rgba(0, 0, 0, 0.45);
}

.hero--flowpilot__title-line {
  display: block;
}

.flowpilot-kw-outline {
  color: transparent;
  -webkit-text-stroke: clamp(1.5px, 0.08em, 2.5px) var(--acid);
  paint-order: stroke fill;
  filter: drop-shadow(0 0 10px rgba(229, 255, 57, 0.2));
}

.hero--flowpilot__body {
  display: grid;
  gap: clamp(0.7rem, 1.4vw, 0.95rem);
  margin-bottom: clamp(1.15rem, 2.2vw, 1.5rem);
}

.hero--flowpilot__body p {
  font-size: clamp(0.92rem, 1.45vw, 1.02rem);
  line-height: 1.62;
  color: var(--gray-light);
  margin: 0;
  max-width: 44ch;
  text-shadow: 0 1px 18px rgba(0, 0, 0, 0.55);
}

.flowpilot-text-kw {
  color: var(--purple);
  font-weight: 600;
  text-shadow: 0 0 16px rgba(143, 0, 255, 0.35);
}

.hero--flowpilot__examples {
  list-style: none;
  display: grid;
  gap: 0.35rem;
  margin: 0;
  padding: 0;
  max-width: 44ch;
}

.hero--flowpilot__examples li {
  position: relative;
  padding-left: 1rem;
  font-size: clamp(0.88rem, 1.35vw, 0.98rem);
  line-height: 1.5;
  color: var(--gray-light);
  text-shadow: 0 1px 18px rgba(0, 0, 0, 0.55);
}

.hero--flowpilot__examples li::before {
  content: "→";
  position: absolute;
  left: 0;
  color: var(--purple);
  font-weight: 700;
}

.hero--flowpilot__tagline {
  font-family: var(--font-impact);
  font-size: clamp(0.92rem, 1.55vw, 1.08rem);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  line-height: 1.35;
  color: var(--gray-light);
}

.hero--flowpilot__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 0.85rem;
}

.hero--flowpilot__cta {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
}

.page-flowpilot .site-nav__link.is-active,
.page-flowpilot .site-nav__dropdown-link.is-active {
  color: var(--acid);
}

@media (max-width: 959px) {
  .hero--flowpilot__bg-image {
    object-position: 65% center;
  }

  .hero--flowpilot__veil {
    background: linear-gradient(
      180deg,
      rgba(3, 0, 8, 0.88) 0%,
      rgba(3, 0, 8, 0.72) 45%,
      rgba(3, 0, 8, 0.5) 100%
    );
  }
}

@media (max-width: 959px) {
  .hero--flowpilot__bg-image {
    object-position: 65% center;
  }

  .hero--flowpilot__veil {
    background: linear-gradient(
      180deg,
      rgba(3, 0, 8, 0.88) 0%,
      rgba(3, 0, 8, 0.72) 45%,
      rgba(3, 0, 8, 0.5) 100%
    );
  }
}

/* ——— iMedia FlowPilot: problema / soluzione ——— */
.section--fp-ps {
  position: relative;
  overflow: hidden;
  background: var(--purple);
  color: var(--gray-light);
}

.fp-ps__decor {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 8% 20%, rgba(229, 255, 57, 0.06), transparent 24%),
    radial-gradient(circle at 92% 78%, rgba(229, 255, 57, 0.05), transparent 26%),
    radial-gradient(circle, rgba(229, 255, 57, 0.1) 1px, transparent 1px);
  background-size:
    auto,
    auto,
    24px 24px;
  opacity: 0.75;
}

.fp-ps__inner {
  position: relative;
  z-index: 1;
  width: min(1320px, calc(100% - 2.5rem));
  margin: 0 auto;
  padding: clamp(2.75rem, 6vw, 4.25rem) 0;
}

.fp-ps__layout {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(1.75rem, 3.5vw, 2.5rem);
  align-items: center;
}

@media (min-width: 960px) {
  .fp-ps__layout {
    grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.92fr);
    gap: clamp(1.25rem, 2.5vw, 2rem);
  }
}

.fp-ps__copy-flag {
  transform: skewY(-3.5deg);
  transform-origin: right center;
}

@media (max-width: 959px) {
  .fp-ps__copy-flag {
    transform-origin: left center;
  }
}

.fp-ps__copy {
  max-width: 38rem;
}

@media (min-width: 960px) {
  .fp-ps__copy {
    margin-left: auto;
  }
}

.fp-ps__badge {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  margin: 0 0 clamp(0.85rem, 1.6vw, 1.1rem);
  padding: 0.35rem 0.75rem 0.35rem 0.55rem;
  border-radius: var(--radius-pill);
  border: 1px solid rgba(229, 255, 57, 0.35);
  background: rgba(0, 0, 0, 0.22);
  font-family: var(--font-impact);
  font-size: clamp(0.52rem, 0.95vw, 0.62rem);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--acid);
}

.fp-ps__badge-dot {
  width: 0.45rem;
  height: 0.45rem;
  border-radius: 50%;
  background: var(--purple);
  box-shadow: 0 0 10px rgba(143, 0, 255, 0.55);
}

.fp-ps__title {
  font-family: var(--font-impact);
  font-size: clamp(1.45rem, 3.4vw, 2.65rem);
  line-height: 0.96;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--acid);
  margin: 0 0 clamp(1.15rem, 2.2vw, 1.5rem);
}

.fp-ps__title-line {
  display: block;
}

.fp-ps__content {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: clamp(0.75rem, 1.5vw, 1rem);
  margin-bottom: clamp(1rem, 2vw, 1.35rem);
}

.fp-ps__chaos {
  margin: 0;
  width: clamp(5.5rem, 14vw, 7rem);
}

.fp-ps__chaos-image {
  display: block;
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
  object-position: 55% 42%;
  border-radius: 0.45rem;
  border: 1px solid rgba(143, 0, 255, 0.45);
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.35);
}

.fp-ps__chaos-caption {
  display: grid;
  gap: 0.1rem;
  margin-top: 0.45rem;
  font-family: var(--font-impact);
  font-size: clamp(0.42rem, 0.75vw, 0.5rem);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  line-height: 1.2;
  color: var(--gray-light);
}

.fp-ps__chaos-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.1rem;
  height: 1.1rem;
  margin-bottom: 0.15rem;
  border-radius: 0.25rem;
  font-size: 0.65rem;
  color: var(--acid);
  background: rgba(143, 0, 255, 0.35);
  border: 1px solid rgba(229, 255, 57, 0.25);
}

.fp-ps__text {
  display: grid;
  gap: clamp(0.75rem, 1.4vw, 1rem);
}

.fp-ps__block-label {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  font-family: var(--font-impact);
  font-size: clamp(0.58rem, 1vw, 0.68rem);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--acid);
  margin: 0 0 0.4rem;
}

.fp-ps__block-label::before {
  content: "";
  width: 2px;
  height: 0.95rem;
  border-radius: 1px;
  background: var(--acid);
  box-shadow: 0 0 10px rgba(229, 255, 57, 0.35);
}

.fp-ps__block p {
  font-size: clamp(0.84rem, 1.25vw, 0.92rem);
  line-height: 1.58;
  color: var(--gray-light);
  margin: 0;
}

.fp-ps-kw {
  color: var(--acid);
  font-weight: 600;
}

.fp-ps__icons {
  list-style: none;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.45rem 0.75rem;
  margin: 0 0 clamp(1rem, 2vw, 1.25rem);
  padding: 0;
}

.fp-ps__icons li {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  font-size: clamp(0.68rem, 1.1vw, 0.76rem);
  line-height: 1.25;
  color: var(--gray-light);
}

.fp-ps__icon {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.35rem;
  height: 1.35rem;
  border-radius: 0.35rem;
  font-size: 0.62rem;
  color: var(--acid);
  background: rgba(143, 0, 255, 0.35);
  border: 1px solid rgba(229, 255, 57, 0.2);
  box-shadow: inset 0 0 8px rgba(143, 0, 255, 0.2);
}

.fp-ps__close {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  font-family: var(--font-impact);
  font-size: clamp(0.72rem, 1.2vw, 0.82rem);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  line-height: 1.35;
  color: var(--gray-light);
  margin: 0;
  max-width: 34ch;
}

.fp-ps__close-icon {
  flex-shrink: 0;
  font-size: 1rem;
  line-height: 1;
  filter: grayscale(1) brightness(1.2);
}

.fp-ps__photo-flag {
  margin: 0;
}

.fp-ps__photo {
  overflow: hidden;
  border-radius: 1rem;
  border: 2px solid rgba(143, 0, 255, 0.65);
  box-shadow:
    0 0 0 1px rgba(229, 255, 57, 0.12),
    0 22px 48px rgba(0, 0, 0, 0.35),
    0 0 40px rgba(143, 0, 255, 0.25);
  background: rgba(0, 0, 0, 0.35);
  line-height: 0;
}

.fp-ps__photo-image {
  display: block;
  width: 100%;
  height: auto;
}

.page-flowpilot .fp-ps__photo-flag {
  transition:
    transform 0.45s var(--ease-out),
    filter var(--transition);
}

.page-flowpilot .fp-ps__photo-flag:hover {
  transform: translateY(-4px);
  filter: drop-shadow(0 24px 48px rgba(143, 0, 255, 0.28));
}

.page-flowpilot .fp-ps__copy-flag {
  transition: transform 0.45s var(--ease-out);
}

@media (prefers-reduced-motion: reduce) {
  .page-flowpilot .fp-ps__photo-flag:hover {
    transform: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .page-flowpilot .fp-ps__photo-flag:hover {
    transform: none;
  }
}

/* ——— iMedia FlowPilot: come iMEDIA può aiutarti ——— */
.section--fp-aiuto {
  position: relative;
  overflow: hidden;
  background: var(--gray-light);
  color: var(--gray-dark);
}

.fp-aiuto__inner {
  width: min(1320px, calc(100% - 2.5rem));
  margin: 0 auto;
  padding: 0 0 clamp(3rem, 6vw, 4.5rem);
}

.fp-aiuto__title-band {
  width: 100%;
  padding: clamp(2.5rem, 5vw, 3.5rem) clamp(1rem, 3vw, 2rem)
    clamp(1.25rem, 2.5vw, 1.75rem);
  text-align: center;
}

.fp-aiuto__title-flag {
  display: flex;
  justify-content: center;
  width: 100%;
}

.fp-aiuto__title {
  font-family: var(--font-impact);
  font-size: clamp(1.75rem, 5vw, 3.65rem);
  line-height: 0.98;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--purple);
  margin: 0 auto;
  text-align: center;
  width: 100%;
  max-width: 100%;
}

.fp-aiuto__title-line {
  display: block;
  width: 100%;
}

.fp-aiuto__top {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(1.75rem, 3.5vw, 2.5rem);
  align-items: center;
  margin-bottom: clamp(2.5rem, 5vw, 3.5rem);
}

@media (min-width: 960px) {
  .fp-aiuto__top {
    grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
    gap: clamp(1.25rem, 2.5vw, 2rem);
  }
}

.fp-aiuto__intro {
  max-width: 36rem;
}

.fp-aiuto__badge {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  margin: 0 0 clamp(0.85rem, 1.6vw, 1.1rem);
  padding: 0.35rem 0.75rem 0.35rem 0.55rem;
  border-radius: var(--radius-pill);
  border: 1px solid rgba(143, 0, 255, 0.18);
  background: #fff;
  font-family: var(--font-impact);
  font-size: clamp(0.52rem, 0.95vw, 0.62rem);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--gray-dark);
  box-shadow: 0 8px 22px rgba(52, 52, 52, 0.06);
}

.fp-aiuto__badge-dot {
  width: 0.45rem;
  height: 0.45rem;
  border-radius: 50%;
  background: var(--purple);
  box-shadow: 0 0 10px rgba(143, 0, 255, 0.35);
}

.fp-aiuto-kw-outline {
  color: transparent;
  -webkit-text-stroke: clamp(1.5px, 0.08em, 2px) var(--purple);
  paint-order: stroke fill;
}

.fp-aiuto__label {
  font-family: var(--font-impact);
  font-size: clamp(0.62rem, 1vw, 0.72rem);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--purple);
  margin: 0 0 clamp(0.85rem, 1.6vw, 1.1rem);
}

.fp-aiuto__copy {
  display: grid;
  gap: clamp(0.7rem, 1.4vw, 0.95rem);
}

.fp-aiuto__copy p {
  font-size: clamp(0.92rem, 1.45vw, 1.02rem);
  line-height: 1.62;
  color: var(--gray-dark);
  margin: 0;
  max-width: 44ch;
}

.fp-aiuto-kw {
  color: var(--purple);
  font-weight: 600;
}

.fp-aiuto__visual {
  margin: 0;
  overflow: hidden;
  border-radius: 1rem;
  background: #fff;
  border: 1px solid rgba(143, 0, 255, 0.12);
  box-shadow: 0 16px 40px rgba(52, 52, 52, 0.1);
}

.fp-aiuto__visual-image {
  display: block;
  width: 100%;
  height: auto;
}

.fp-aiuto__divider {
  display: flex;
  align-items: center;
  gap: clamp(0.75rem, 2vw, 1.25rem);
  margin-bottom: clamp(1.5rem, 3vw, 2rem);
}

.fp-aiuto__divider-line {
  flex: 1;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(143, 0, 255, 0.35), transparent);
  position: relative;
}

.fp-aiuto__divider-line::before,
.fp-aiuto__divider-line::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 0.35rem;
  height: 0.35rem;
  border-radius: 50%;
  background: var(--purple);
  opacity: 0.65;
}

.fp-aiuto__divider-line::before {
  left: 0;
}

.fp-aiuto__divider-line::after {
  right: 0;
}

.fp-aiuto__divider-title {
  font-family: var(--font-impact);
  font-size: clamp(0.78rem, 1.35vw, 0.92rem);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--purple);
  margin: 0;
  white-space: nowrap;
}

.fp-aiuto__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(0.75rem, 1.5vw, 1rem);
}

@media (min-width: 640px) {
  .fp-aiuto__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 1024px) {
  .fp-aiuto__grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

.fp-aiuto-card {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.75rem 0.85rem;
  align-items: start;
  padding: clamp(0.95rem, 1.6vw, 1.15rem);
  border-radius: 0.75rem;
  background: #fff;
  border: 1px solid rgba(143, 0, 255, 0.1);
  box-shadow: 0 10px 28px rgba(52, 52, 52, 0.06);
  text-decoration: none;
  color: inherit;
}

.fp-aiuto-card__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.65rem;
  height: 2.65rem;
  clip-path: polygon(25% 6%, 75% 6%, 100% 50%, 75% 94%, 25% 94%, 0 50%);
  color: var(--purple);
  background: linear-gradient(145deg, #fff, #f3f0f8);
  box-shadow:
    inset 0 0 0 1px rgba(143, 0, 255, 0.12),
    0 8px 18px rgba(143, 0, 255, 0.08);
}

.fp-aiuto-card__icon svg {
  width: 1.15rem;
  height: 1.15rem;
}

.fp-aiuto-card__title {
  font-family: var(--font-impact);
  font-size: clamp(0.68rem, 1.1vw, 0.78rem);
  line-height: 1.15;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--purple);
  margin: 0 0 0.35rem;
}

.fp-aiuto-card__text {
  font-size: clamp(0.8rem, 1.2vw, 0.88rem);
  line-height: 1.5;
  color: rgba(52, 52, 52, 0.92);
  margin: 0;
}

.page-flowpilot .fp-aiuto__visual {
  transition:
    transform 0.4s var(--ease-out),
    box-shadow var(--transition);
}

.page-flowpilot .fp-aiuto__visual:hover {
  transform: translateY(-4px);
  box-shadow: 0 22px 48px rgba(143, 0, 255, 0.12);
}

.page-flowpilot .fp-aiuto-card {
  transition:
    transform 0.35s var(--ease-out),
    border-color var(--transition),
    box-shadow var(--transition);
}

.page-flowpilot .fp-aiuto-card:hover {
  transform: translateY(-4px);
  border-color: rgba(143, 0, 255, 0.22);
  box-shadow: 0 16px 36px rgba(143, 0, 255, 0.1);
}

@media (prefers-reduced-motion: reduce) {
  .page-flowpilot .fp-aiuto__visual:hover,
  .page-flowpilot .fp-aiuto-card:hover {
    transform: none;
  }
}

/* ——— iMedia FlowPilot: cosa cambia ——— */
.section--fp-cambia {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(ellipse 80% 60% at 20% 20%, rgba(143, 0, 255, 0.35), transparent 55%),
    radial-gradient(ellipse 70% 55% at 85% 75%, rgba(143, 0, 255, 0.28), transparent 50%),
    linear-gradient(165deg, #1a0030 0%, #0d0018 42%, #120022 100%);
  color: var(--gray-light);
}

.fp-cambia__decor {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle, rgba(229, 255, 57, 0.08) 1px, transparent 1px),
    linear-gradient(rgba(143, 0, 255, 0.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(143, 0, 255, 0.06) 1px, transparent 1px);
  background-size:
    28px 28px,
    56px 56px,
    56px 56px;
  opacity: 0.55;
}

.fp-cambia__inner {
  position: relative;
  z-index: 1;
  width: min(1320px, calc(100% - 2.5rem));
  margin: 0 auto;
  padding: clamp(2.75rem, 6vw, 4.25rem) 0 clamp(3rem, 6vw, 4.5rem);
}

.fp-cambia__layout {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(2rem, 4vw, 3rem);
  align-items: start;
}

@media (min-width: 1024px) {
  .fp-cambia__layout {
    grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
    gap: clamp(1.5rem, 3vw, 2.25rem);
  }
}

.fp-cambia__title-wrap {
  display: flex;
  align-items: flex-start;
  gap: 0.85rem;
  margin-bottom: clamp(1rem, 2vw, 1.35rem);
}

.fp-cambia__title-rail {
  position: relative;
  flex-shrink: 0;
  width: 2px;
  min-height: 4.5rem;
  margin-top: 0.35rem;
  background: linear-gradient(180deg, var(--acid), rgba(229, 255, 57, 0.2));
  border-radius: 1px;
}

.fp-cambia__title-rail span {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: 0.45rem;
  height: 0.45rem;
  border-radius: 50%;
  background: var(--acid);
  box-shadow: 0 0 10px rgba(229, 255, 57, 0.45);
}

.fp-cambia__title-rail span:nth-child(1) {
  top: 0;
}

.fp-cambia__title-rail span:nth-child(2) {
  top: 50%;
  transform: translate(-50%, -50%);
}

.fp-cambia__title-rail span:nth-child(3) {
  bottom: 0;
}

.fp-cambia__title {
  font-family: var(--font-impact);
  font-size: clamp(1.45rem, 3.2vw, 2.55rem);
  line-height: 0.96;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--acid);
  margin: 0;
}

.fp-cambia__title-line {
  display: block;
}

.fp-cambia-kw-outline {
  color: transparent;
  -webkit-text-stroke: clamp(1.5px, 0.08em, 2px) var(--acid);
  paint-order: stroke fill;
  filter: drop-shadow(0 0 10px rgba(229, 255, 57, 0.2));
}

.fp-cambia__lead {
  font-family: var(--font-impact);
  font-size: clamp(0.78rem, 1.35vw, 0.92rem);
  line-height: 1.35;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  margin: 0 0 clamp(0.85rem, 1.6vw, 1.1rem);
  max-width: 38ch;
}

.fp-cambia__lead-mark {
  color: var(--acid);
  margin-right: 0.35rem;
}

.fp-cambia-kw {
  color: var(--acid);
  font-weight: 600;
}

.fp-cambia__lead-rest {
  color: var(--gray-light);
}

.fp-cambia__text {
  font-size: clamp(0.92rem, 1.45vw, 1.02rem);
  line-height: 1.62;
  color: var(--gray-light);
  margin: 0 0 clamp(1rem, 2vw, 1.25rem);
  max-width: 44ch;
}

.fp-cambia__result-label {
  font-family: var(--font-impact);
  font-size: clamp(0.68rem, 1.15vw, 0.78rem);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--acid);
  margin: 0 0 0.55rem;
}

.fp-cambia__result-list {
  list-style: none;
  display: grid;
  gap: 0.3rem;
  margin: 0 0 clamp(1.25rem, 2.5vw, 1.75rem);
  padding: 0;
}

.fp-cambia__result-list li {
  position: relative;
  padding-left: 0.85rem;
  font-size: clamp(0.88rem, 1.35vw, 0.98rem);
  line-height: 1.45;
  color: var(--gray-light);
}

.fp-cambia__result-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.55em;
  width: 0.28rem;
  height: 0.28rem;
  border-radius: 50%;
  background: var(--acid);
  box-shadow: 0 0 8px rgba(229, 255, 57, 0.35);
}

.fp-cambia__dashboard {
  perspective: 900px;
}

.fp-cambia-dash {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0;
  transform: rotateX(8deg) rotateY(-6deg) rotateZ(-1deg);
  transform-origin: center bottom;
  border-radius: 0.85rem;
  overflow: hidden;
  border: 1px solid rgba(143, 0, 255, 0.45);
  background: rgba(20, 0, 36, 0.72);
  backdrop-filter: blur(10px);
  box-shadow:
    0 28px 56px rgba(0, 0, 0, 0.45),
    0 0 48px rgba(143, 0, 255, 0.22),
    inset 0 0 0 1px rgba(229, 255, 57, 0.08);
}

.fp-cambia-dash__nav {
  display: grid;
  gap: 0.35rem;
  padding: 0.65rem 0.45rem;
  background: rgba(0, 0, 0, 0.35);
  border-right: 1px solid rgba(143, 0, 255, 0.25);
}

.fp-cambia-dash__nav span {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.65rem;
  height: 1.65rem;
  border-radius: 0.35rem;
  font-size: 0.72rem;
  color: rgba(205, 204, 204, 0.75);
  background: rgba(143, 0, 255, 0.12);
}

.fp-cambia-dash__nav span.is-active {
  color: var(--acid);
  background: rgba(143, 0, 255, 0.35);
  box-shadow: 0 0 14px rgba(143, 0, 255, 0.35);
}

.fp-cambia-dash__main {
  padding: 0.65rem 0.7rem 0.75rem;
}

.fp-cambia-dash__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.5rem;
  margin-bottom: 0.55rem;
  font-family: var(--font-impact);
  font-size: clamp(0.48rem, 0.9vw, 0.58rem);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--acid);
}

.fp-cambia-dash__gauge {
  display: grid;
  justify-items: center;
  width: 3.25rem;
  height: 3.25rem;
  border-radius: 50%;
  border: 2px solid rgba(229, 255, 57, 0.45);
  background: radial-gradient(circle, rgba(143, 0, 255, 0.35), rgba(0, 0, 0, 0.2));
  box-shadow: 0 0 18px rgba(229, 255, 57, 0.15);
}

.fp-cambia-dash__gauge strong {
  align-self: end;
  font-size: clamp(0.62rem, 1.1vw, 0.72rem);
  color: var(--acid);
  font-weight: 400;
  line-height: 1;
}

.fp-cambia-dash__gauge span {
  font-size: clamp(0.34rem, 0.65vw, 0.42rem);
  color: var(--gray-light);
  text-align: center;
  line-height: 1.1;
  padding-bottom: 0.2rem;
}

.fp-cambia-dash__stat {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  margin-bottom: 0.55rem;
  padding: 0.35rem 0.45rem;
  border-radius: 0.4rem;
  background: rgba(143, 0, 255, 0.15);
  border: 1px solid rgba(143, 0, 255, 0.25);
  font-size: clamp(0.42rem, 0.8vw, 0.5rem);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--gray-light);
}

.fp-cambia-dash__stat strong {
  font-family: var(--font-impact);
  font-size: clamp(0.68rem, 1.2vw, 0.78rem);
  color: var(--acid);
  font-weight: 400;
}

.fp-cambia-dash__stat em {
  margin-left: auto;
  font-style: normal;
  color: var(--acid);
  font-weight: 600;
}

.fp-cambia-dash__flow {
  display: grid;
  gap: 0.35rem;
}

.fp-cambia-dash__row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.2rem;
}

.fp-cambia-dash__row span:not(.fp-cambia-dash__arrow) {
  padding: 0.22rem 0.3rem;
  border-radius: 0.3rem;
  font-size: clamp(0.38rem, 0.72vw, 0.46rem);
  line-height: 1.2;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  color: var(--gray-light);
  background: rgba(143, 0, 255, 0.22);
  border: 1px solid rgba(143, 0, 255, 0.3);
}

.fp-cambia-dash__arrow {
  color: var(--acid);
  font-size: 0.55rem;
  font-weight: 700;
}

.fp-cambia__right {
  display: grid;
  gap: clamp(1rem, 2vw, 1.35rem);
}

.fp-cambia__hub {
  position: relative;
  min-height: clamp(200px, 28vw, 260px);
  padding: 1rem 0.5rem;
  border-radius: 0.85rem;
  background:
    radial-gradient(circle at 50% 55%, rgba(143, 0, 255, 0.35), transparent 42%),
    rgba(0, 0, 0, 0.25);
  border: 1px solid rgba(143, 0, 255, 0.35);
  box-shadow: 0 0 40px rgba(143, 0, 255, 0.15);
}

.fp-cambia__hub-wires {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.fp-cambia__hub-wires path {
  fill: none;
  stroke: var(--acid);
  stroke-width: 1.5;
  opacity: 0.55;
  filter: drop-shadow(0 0 4px rgba(229, 255, 57, 0.35));
}

.fp-cambia__hub-core {
  position: absolute;
  left: 50%;
  top: 52%;
  transform: translate(-50%, -50%);
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3.25rem;
  height: 3.25rem;
  border-radius: 0.65rem;
  font-size: 1.35rem;
  color: var(--acid);
  background: linear-gradient(145deg, rgba(143, 0, 255, 0.85), rgba(80, 0, 140, 0.95));
  border: 1px solid rgba(229, 255, 57, 0.35);
  box-shadow:
    0 0 28px rgba(143, 0, 255, 0.55),
    0 0 18px rgba(229, 255, 57, 0.2);
}

.fp-cambia__hub-nodes {
  position: absolute;
  z-index: 1;
  list-style: none;
  display: grid;
  gap: 0.55rem;
  margin: 0;
  padding: 0;
}

.fp-cambia__hub-nodes--left {
  left: 4%;
  top: 50%;
  transform: translateY(-50%);
}

.fp-cambia__hub-nodes--right {
  right: 4%;
  top: 50%;
  transform: translateY(-50%);
  text-align: right;
}

.fp-cambia__hub-nodes li {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  font-family: var(--font-impact);
  font-size: clamp(0.48rem, 0.9vw, 0.56rem);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--gray-light);
}

.fp-cambia__hub-nodes--right li {
  flex-direction: row-reverse;
}

.fp-cambia__hub-nodes li span {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.75rem;
  height: 1.75rem;
  border-radius: 0.4rem;
  font-size: 0.72rem;
  color: var(--acid);
  background: rgba(143, 0, 255, 0.35);
  border: 1px solid rgba(229, 255, 57, 0.25);
  box-shadow: 0 0 14px rgba(143, 0, 255, 0.25);
}

.fp-cambia__fit {
  padding: clamp(0.95rem, 1.8vw, 1.25rem);
  border-radius: 0.85rem;
  background: rgba(8, 0, 16, 0.55);
  border: 1px solid rgba(143, 0, 255, 0.45);
  box-shadow:
    0 0 0 1px rgba(229, 255, 57, 0.06),
    0 18px 40px rgba(0, 0, 0, 0.35),
    inset 0 0 24px rgba(143, 0, 255, 0.08);
}

.fp-cambia__fit-head {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  margin-bottom: clamp(0.75rem, 1.5vw, 1rem);
  padding-bottom: 0.65rem;
  border-bottom: 1px solid rgba(143, 0, 255, 0.28);
}

.fp-cambia__fit-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.65rem;
  height: 1.65rem;
  border-radius: 50%;
  font-size: 0.85rem;
  background: rgba(229, 255, 57, 0.15);
  border: 1px solid rgba(229, 255, 57, 0.35);
}

.fp-cambia__fit-title {
  font-family: var(--font-impact);
  font-size: clamp(0.72rem, 1.25vw, 0.85rem);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--gray-light);
  margin: 0;
}

.fp-cambia__fit-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0;
}

.fp-cambia__fit-list li {
  position: relative;
  padding: 0.55rem 0 0.55rem 1.65rem;
  font-size: clamp(0.82rem, 1.25vw, 0.9rem);
  line-height: 1.45;
  color: var(--gray-light);
  border-bottom: 1px solid rgba(143, 0, 255, 0.18);
}

.fp-cambia__fit-list li:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.fp-cambia__fit-list li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 0.55rem;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.1rem;
  height: 1.1rem;
  border-radius: 50%;
  font-size: 0.62rem;
  font-weight: 700;
  color: var(--gray-dark);
  background: var(--acid);
}

.page-flowpilot .fp-cambia-dash {
  transition:
    transform 0.45s var(--ease-out),
    box-shadow var(--transition);
}

.page-flowpilot .fp-cambia__dashboard:hover .fp-cambia-dash {
  transform: rotateX(6deg) rotateY(-4deg) rotateZ(-1deg) translateY(-4px);
  box-shadow:
    0 32px 64px rgba(0, 0, 0, 0.5),
    0 0 56px rgba(143, 0, 255, 0.28);
}

.page-flowpilot .fp-cambia__fit {
  transition:
    transform 0.35s var(--ease-out),
    border-color var(--transition),
    box-shadow var(--transition);
}

.page-flowpilot .fp-cambia__fit:hover {
  transform: translateY(-3px);
  border-color: rgba(143, 0, 255, 0.6);
  box-shadow:
    0 0 0 1px rgba(229, 255, 57, 0.1),
    0 22px 44px rgba(0, 0, 0, 0.4);
}

@media (prefers-reduced-motion: reduce) {
  .page-flowpilot .fp-cambia__dashboard:hover .fp-cambia-dash,
  .page-flowpilot .fp-cambia__fit:hover {
    transform: none;
  }
}

/* ——— iMedia FlowPilot: esempi concreti ——— */
.section--fp-esempi {
  background: var(--purple);
  color: var(--gray-light);
  scroll-margin-top: 5.5rem;
}

.fp-esempi__inner {
  width: min(1320px, calc(100% - 2.5rem));
  margin: 0 auto;
  padding: clamp(2.75rem, 6vw, 4.25rem) 0 clamp(3rem, 6vw, 4.5rem);
}

.fp-esempi__head {
  margin-bottom: clamp(2rem, 4vw, 2.75rem);
}

.fp-esempi__title {
  font-family: var(--font-impact);
  font-size: clamp(1.65rem, 3.8vw, 2.75rem);
  line-height: 0.98;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--acid);
  margin: 0 0 0.65rem;
}

.fp-esempi__subtitle {
  font-size: clamp(0.92rem, 1.45vw, 1.02rem);
  line-height: 1.55;
  color: var(--gray-light);
  margin: 0;
  max-width: 42ch;
}

.fp-esempi__list {
  list-style: none;
  margin: 0;
  padding: clamp(1.25rem, 2.5vw, 1.75rem);
  display: grid;
  gap: clamp(0.85rem, 1.8vw, 1.15rem);
  position: relative;
  border-radius: 1.1rem;
  background: linear-gradient(165deg, rgba(18, 0, 31, 0.92) 0%, rgba(8, 0, 16, 0.96) 100%);
  border: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow: 0 24px 48px rgba(0, 0, 0, 0.28);
}

.fp-esempi__list::before {
  content: "";
  position: absolute;
  left: calc(clamp(1.25rem, 2.5vw, 1.75rem) + 1.15rem);
  top: 2.35rem;
  bottom: 2.35rem;
  width: 2px;
  background: rgba(255, 255, 255, 0.55);
  pointer-events: none;
}

.fp-esempi__item {
  display: grid;
  grid-template-columns: 2.35rem minmax(0, 1fr);
  gap: 0.85rem;
  align-items: stretch;
}

.fp-esempi__num {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.35rem;
  height: 2.35rem;
  border-radius: 50%;
  font-family: var(--font-impact);
  font-size: clamp(0.78rem, 1.2vw, 0.88rem);
  color: #fff;
  background: var(--purple);
  border: 2px solid var(--acid);
  box-shadow: 0 0 14px rgba(229, 255, 57, 0.2);
}

.fp-esempi__flow {
  display: grid;
  grid-template-columns: minmax(7.5rem, 9.5rem) auto minmax(11rem, 15rem) minmax(0, 1fr);
  gap: clamp(0.45rem, 1vw, 0.65rem);
  align-items: center;
}

.fp-esempi__trigger {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 0.45rem;
  padding: 0.55rem 0.5rem;
  border-radius: 0.55rem;
  border: 1px solid rgba(255, 255, 255, 0.35);
  background: rgba(0, 0, 0, 0.22);
  min-height: 4.5rem;
}

.fp-esempi__trigger-copy {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.15rem;
  min-width: 0;
}

.fp-esempi__trigger-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.65rem;
  height: 1.65rem;
  flex-shrink: 0;
  color: var(--gray-light);
}

.fp-esempi__trigger-icon svg {
  width: 1.35rem;
  height: 1.35rem;
}

.fp-esempi__trigger-label {
  font-family: var(--font-impact);
  font-size: clamp(0.46rem, 0.82vw, 0.54rem);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--acid);
  line-height: 1.2;
}

.fp-esempi__trigger-label::after {
  content: " /";
  color: rgba(205, 204, 204, 0.55);
}

.fp-esempi__trigger-text {
  font-size: clamp(0.56rem, 0.95vw, 0.64rem);
  line-height: 1.25;
  color: var(--gray-light);
}

.fp-esempi__arrow {
  color: var(--acid);
  font-size: clamp(1rem, 1.8vw, 1.25rem);
  font-weight: 700;
  line-height: 1;
}

.fp-esempi__card {
  position: relative;
  display: flex;
  flex-direction: column;
  padding: 0.65rem 0.7rem 2.15rem;
  border-radius: 0.65rem;
  background: linear-gradient(155deg, rgba(28, 0, 48, 0.88) 0%, rgba(10, 0, 18, 0.94) 100%);
  border: 1px solid rgba(143, 0, 255, 0.35);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow:
    0 12px 28px rgba(0, 0, 0, 0.35),
    inset 0 1px 0 rgba(255, 255, 255, 0.06);
  min-height: 4.5rem;
}

.fp-esempi__card-title {
  font-family: var(--font-impact);
  font-size: clamp(0.52rem, 0.95vw, 0.62rem);
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--acid);
  margin: 0 0 0.4rem;
  line-height: 1.2;
}

.fp-esempi__card-sub {
  font-size: clamp(0.5rem, 0.9vw, 0.58rem);
  line-height: 1.35;
  color: rgba(205, 204, 204, 0.88);
  margin: 0 0 0.45rem;
}

.fp-esempi__card-path {
  font-size: clamp(0.5rem, 0.9vw, 0.58rem);
  line-height: 1.35;
  color: rgba(205, 204, 204, 0.88);
  margin: 0 0 0.45rem;
  word-break: break-word;
  display: flex;
  align-items: flex-start;
  gap: 0.25rem;
}

.fp-esempi__path-icon {
  width: 0.75rem;
  height: 0.75rem;
  flex-shrink: 0;
  margin-top: 0.05rem;
  color: var(--acid);
}

.fp-esempi__card-meta {
  list-style: none;
  margin: 0 0 0.45rem;
  padding: 0;
  display: grid;
  gap: 0.15rem;
}

.fp-esempi__card-meta li {
  font-size: clamp(0.48rem, 0.85vw, 0.56rem);
  line-height: 1.35;
  color: rgba(205, 204, 204, 0.9);
}

.fp-esempi__card-meta span {
  color: rgba(205, 204, 204, 0.65);
}

.fp-esempi__card-pill {
  position: absolute;
  right: 0.55rem;
  bottom: 0.55rem;
  display: inline-flex;
  align-items: center;
  gap: 0.2rem;
  max-width: calc(100% - 1rem);
  padding: 0.2rem 0.42rem;
  border-radius: var(--radius-pill);
  font-family: var(--font-impact);
  font-size: clamp(0.36rem, 0.68vw, 0.44rem);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--gray-dark);
  background: var(--acid);
  border: none;
  box-shadow: 0 4px 12px rgba(229, 255, 57, 0.25);
  white-space: nowrap;
}

.fp-esempi__pill-icon {
  width: 0.72rem;
  height: 0.72rem;
  flex-shrink: 0;
}

.fp-esempi__card-check {
  position: absolute;
  top: 0.45rem;
  right: 0.45rem;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.1rem;
  height: 1.1rem;
  border-radius: 50%;
  font-size: 0.62rem;
  font-weight: 700;
  color: var(--gray-dark);
  background: var(--acid);
}

.fp-esempi__card-actions {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.3rem 0.35rem;
}

.fp-esempi__card-actions li {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  font-size: clamp(0.4rem, 0.75vw, 0.48rem);
  line-height: 1.2;
  color: rgba(205, 204, 204, 0.88);
  text-transform: uppercase;
  letter-spacing: 0.02em;
}

.fp-esempi__card-actions svg {
  width: 0.8rem;
  height: 0.8rem;
  flex-shrink: 0;
  color: var(--acid);
}

.fp-esempi__explain {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.65rem;
  align-items: center;
  padding: 0.7rem 0.75rem;
  border-radius: 0.55rem;
  border: 1px solid rgba(255, 255, 255, 0.35);
  background: transparent;
  min-height: 4.5rem;
}

.fp-esempi__explain-title {
  font-family: var(--font-impact);
  font-size: clamp(0.58rem, 1vw, 0.68rem);
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--acid);
  margin: 0 0 0.35rem;
  line-height: 1.2;
}

.fp-esempi__explain-copy p {
  font-size: clamp(0.62rem, 1.05vw, 0.72rem);
  line-height: 1.45;
  color: var(--gray-light);
  margin: 0;
}

.fp-esempi__explain-icon {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: clamp(2rem, 3vw, 2.6rem);
  height: clamp(2rem, 3vw, 2.6rem);
  color: rgba(255, 255, 255, 0.88);
}

.fp-esempi__explain-icon svg {
  width: 100%;
  height: 100%;
}

@media (max-width: 1023px) {
  .fp-esempi__flow {
    grid-template-columns: 1fr;
    gap: 0.55rem;
  }

  .fp-esempi__arrow {
    display: none;
  }

  .fp-esempi__trigger,
  .fp-esempi__card,
  .fp-esempi__explain {
    min-height: auto;
  }
}

@media (max-width: 639px) {
  .fp-esempi__list::before {
    display: none;
  }

  .fp-esempi__item {
    grid-template-columns: 1fr;
  }

  .fp-esempi__num {
    justify-self: start;
  }
}

.page-flowpilot .fp-esempi__card,
.page-flowpilot .fp-esempi__explain {
  transition:
    transform 0.35s var(--ease-out),
    border-color var(--transition),
    box-shadow var(--transition);
}

.page-flowpilot .fp-esempi__item:hover .fp-esempi__card {
  transform: translateY(-2px);
  border-color: rgba(229, 255, 57, 0.35);
  box-shadow:
    0 16px 32px rgba(0, 0, 0, 0.4),
    0 0 28px rgba(143, 0, 255, 0.2);
}

.page-flowpilot .fp-esempi__item:hover .fp-esempi__explain {
  border-color: rgba(255, 255, 255, 0.5);
}

@media (prefers-reduced-motion: reduce) {
  .page-flowpilot .fp-esempi__item:hover .fp-esempi__card {
    transform: none;
  }
}

/* ——— iMedia AI Business Brain ——— */
body.page-brain {
  background: #050008;
  color: var(--gray-light);
}

.hero--brain {
  position: relative;
  min-height: 100svh;
  overflow: hidden;
  background: #050008;
}

.hero--brain__bg {
  position: absolute;
  inset: 0;
  margin: 0;
  line-height: 0;
}

.hero--brain__bg-image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 72% center;
}

.hero--brain__veil {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(
    90deg,
    rgba(5, 0, 8, 0.97) 0%,
    rgba(5, 0, 8, 0.94) 34%,
    rgba(5, 0, 8, 0.82) 48%,
    rgba(5, 0, 8, 0.45) 68%,
    rgba(5, 0, 8, 0.12) 88%,
    rgba(5, 0, 8, 0.04) 100%
  );
}

.hero--brain__inner {
  position: relative;
  z-index: 2;
  width: min(1320px, calc(100% - 2.5rem));
  margin: 0 auto;
  min-height: 100svh;
  display: flex;
  align-items: center;
  padding: calc(var(--header-h) + 1.25rem) 0 clamp(2rem, 4vh, 3rem);
}

.hero--brain__copy {
  max-width: min(38rem, 100%);
}

.hero--brain__badge {
  display: inline-block;
  margin: 0 0 0.85rem;
  padding: 0.28rem 0.55rem;
  border-radius: 0.35rem;
  font-family: var(--font-impact);
  font-size: clamp(0.62rem, 1.1vw, 0.72rem);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--gray-dark);
  background: var(--acid);
  box-shadow: 0 0 20px rgba(229, 255, 57, 0.25);
}

.hero--brain__title {
  font-family: var(--font-impact);
  font-size: clamp(1.75rem, 4.6vw, 3.15rem);
  line-height: 0.96;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: #fff;
  margin: 0 0 clamp(1rem, 2vw, 1.35rem);
  text-shadow: 0 2px 24px rgba(0, 0, 0, 0.45);
}

.hero--brain__title-line {
  display: block;
}

.brain-kw-outline {
  color: transparent;
  -webkit-text-stroke: clamp(1.5px, 0.08em, 2.5px) #fff;
  paint-order: stroke fill;
  filter: drop-shadow(0 0 10px rgba(255, 255, 255, 0.15));
}

.brain-kw-accent {
  color: var(--acid);
}

.hero--brain__punch-group {
  display: grid;
  gap: 0.15rem;
}

.hero--brain__body {
  display: grid;
  gap: clamp(0.65rem, 1.3vw, 0.9rem);
  margin-bottom: clamp(1rem, 2vw, 1.25rem);
}

.hero--brain__body p {
  font-size: clamp(0.9rem, 1.42vw, 1rem);
  line-height: 1.62;
  color: var(--gray-light);
  margin: 0;
  max-width: 46ch;
  text-shadow: 0 1px 18px rgba(0, 0, 0, 0.55);
}

.hero--brain__punch {
  font-weight: 600;
  color: #fff !important;
}

.brain-text-kw {
  color: var(--acid);
  font-weight: 700;
  text-shadow: 0 0 16px rgba(229, 255, 57, 0.25);
}

.hero--brain__callout {
  margin: 0 0 clamp(1.15rem, 2.2vw, 1.5rem);
  padding: 0 0 0 0.85rem;
  border: 0;
  border-left: 3px solid var(--acid);
}

.hero--brain__callout p {
  font-family: var(--font-impact);
  font-size: clamp(0.88rem, 1.5vw, 1.02rem);
  line-height: 1.35;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: var(--acid);
  margin: 0;
  max-width: 38ch;
  text-shadow: 0 0 18px rgba(229, 255, 57, 0.2);
}

.hero--brain__callout p + p {
  margin-top: 0.2rem;
}

.hero--brain__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 0.85rem;
}

.hero--brain__cta {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
}

.btn--ghost-purple {
  color: #fff;
  border-color: var(--purple);
  background: rgba(143, 0, 255, 0.12);
  box-shadow: 0 0 20px rgba(143, 0, 255, 0.15);
}

.btn--ghost-purple:hover {
  color: #fff;
  border-color: rgba(143, 0, 255, 0.85);
  background: rgba(143, 0, 255, 0.22);
  box-shadow: 0 0 28px rgba(143, 0, 255, 0.28);
}

.page-brain .site-nav__link.is-active,
.page-brain .site-nav__dropdown-link.is-active {
  color: var(--acid);
}

@media (max-width: 959px) {
  .hero--brain__bg-image {
    object-position: 68% 40%;
  }

  .hero--brain__veil {
    background: linear-gradient(
      180deg,
      rgba(5, 0, 8, 0.94) 0%,
      rgba(5, 0, 8, 0.88) 42%,
      rgba(5, 0, 8, 0.72) 100%
    );
  }
}

/* ——— iMedia AI Business Brain: come iMEDIA aiuta ——— */
.section--brain-aiuto {
  position: relative;
  overflow: hidden;
  background: #050008;
  color: var(--gray-light);
}

.brain-aiuto__bg {
  position: absolute;
  inset: 0;
  margin: 0;
  line-height: 0;
}

.brain-aiuto__bg-image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 28% center;
}

.brain-aiuto__veil {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(
    90deg,
    rgba(5, 0, 8, 0.08) 0%,
    rgba(5, 0, 8, 0.35) 38%,
    rgba(5, 0, 8, 0.78) 54%,
    rgba(5, 0, 8, 0.92) 68%,
    rgba(5, 0, 8, 0.96) 100%
  );
}

.brain-aiuto__inner {
  position: relative;
  z-index: 2;
  width: min(1320px, calc(100% - 2.5rem));
  margin: 0 auto;
  padding: clamp(3rem, 7vw, 5rem) 0;
  min-height: clamp(28rem, 62vh, 40rem);
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

.brain-aiuto__copy-flag {
  width: min(100%, 34rem);
  margin-left: auto;
  text-align: right;
  transform: skewY(-3.5deg);
  transform-origin: right center;
}

@media (max-width: 959px) {
  .brain-aiuto__copy-flag {
    margin-left: 0;
    text-align: left;
    transform-origin: left center;
  }

  .brain-aiuto__inner {
    justify-content: flex-start;
    min-height: auto;
    padding: clamp(2.5rem, 6vw, 3.5rem) 0;
  }

  .brain-aiuto__bg-image {
    object-position: 45% center;
  }

  .brain-aiuto__veil {
    background: linear-gradient(
      180deg,
      rgba(5, 0, 8, 0.88) 0%,
      rgba(5, 0, 8, 0.82) 45%,
      rgba(5, 0, 8, 0.72) 100%
    );
  }
}

.brain-aiuto__title {
  font-family: var(--font-impact);
  font-size: clamp(1.45rem, 3.5vw, 2.55rem);
  line-height: 0.98;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--acid);
  margin: 0 0 clamp(1rem, 2vw, 1.35rem);
  text-shadow: 0 2px 24px rgba(0, 0, 0, 0.45);
}

.brain-aiuto__title-line {
  display: block;
}

.brain-aiuto__title .brain-kw-outline {
  color: transparent;
  -webkit-text-stroke: clamp(1.5px, 0.08em, 2.5px) var(--acid);
  paint-order: stroke fill;
  filter: drop-shadow(0 0 10px rgba(229, 255, 57, 0.2));
}

.brain-aiuto__body {
  display: grid;
  gap: clamp(0.65rem, 1.3vw, 0.85rem);
}

.brain-aiuto__body p {
  font-size: clamp(0.9rem, 1.42vw, 1rem);
  line-height: 1.62;
  color: var(--gray-light);
  margin: 0 0 0 auto;
  max-width: 40ch;
  text-shadow: 0 1px 18px rgba(0, 0, 0, 0.55);
}

.brain-aiuto__body .brain-text-kw {
  color: var(--acid);
  font-weight: 600;
  text-shadow: 0 0 16px rgba(229, 255, 57, 0.2);
}

@media (max-width: 959px) {
  .brain-aiuto__body p {
    margin-left: 0;
  }
}

/* ——— iMedia AI Business Brain: cosa può gestire ——— */
.section--brain-gestisce {
  position: relative;
  overflow: hidden;
  background: var(--purple);
  color: var(--gray-light);
}

.brain-gestisce__decor {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 14% 18%, rgba(229, 255, 57, 0.06), transparent 22%),
    radial-gradient(circle at 86% 82%, rgba(229, 255, 57, 0.05), transparent 24%),
    radial-gradient(circle, rgba(229, 255, 57, 0.1) 1px, transparent 1px);
  background-size:
    auto,
    auto,
    22px 22px;
  opacity: 0.75;
}

.brain-gestisce__title-band {
  position: relative;
  z-index: 1;
  width: 100%;
  padding: clamp(2.5rem, 5.5vw, 3.75rem) clamp(0.75rem, 2vw, 1.5rem)
    clamp(1.25rem, 2.5vw, 1.75rem);
  text-align: center;
  overflow: hidden;
}

.brain-gestisce__title-flag {
  display: flex;
  justify-content: center;
  width: 100%;
  transform: skewY(-3.5deg);
  transform-origin: center center;
}

.brain-gestisce__title {
  font-family: var(--font-impact);
  font-size: clamp(0.82rem, 3.85vw, 4.85rem);
  line-height: 1;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--gray-light);
  margin: 0;
  text-align: center;
  white-space: nowrap;
  width: 100%;
  max-width: 100%;
}

.brain-gestisce-kw-outline {
  display: inline;
  color: transparent;
  -webkit-text-stroke: clamp(1px, 0.06em, 2.5px) var(--gray-light);
  paint-order: stroke fill;
  filter: drop-shadow(0 0 12px rgba(205, 204, 204, 0.15));
}

.brain-gestisce__inner {
  position: relative;
  z-index: 1;
  width: min(1320px, calc(100% - 2.5rem));
  margin: 0 auto;
  padding: 0 0 clamp(2.75rem, 6vw, 4.25rem);
}

.brain-gestisce__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(0.75rem, 1.5vw, 1rem);
}

@media (min-width: 640px) {
  .brain-gestisce__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 1024px) {
  .brain-gestisce__grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

.brain-gestisce-card {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.7rem 0.8rem;
  align-items: start;
  padding: clamp(0.9rem, 1.5vw, 1.1rem);
  border-radius: 0.75rem;
  background: linear-gradient(165deg, rgba(18, 0, 31, 0.88) 0%, rgba(8, 0, 16, 0.94) 100%);
  border: 1px solid rgba(229, 255, 57, 0.14);
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.22);
}

.brain-gestisce-card__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.35rem;
  height: 2.35rem;
  flex-shrink: 0;
  border-radius: 0.5rem;
  color: var(--acid);
  background: rgba(229, 255, 57, 0.08);
  border: 1px solid rgba(229, 255, 57, 0.22);
}

.brain-gestisce-card__icon svg {
  width: 1.15rem;
  height: 1.15rem;
}

.brain-gestisce-card__title {
  font-family: var(--font-impact);
  font-size: clamp(0.62rem, 1.05vw, 0.72rem);
  line-height: 1.15;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--acid);
  margin: 0 0 0.35rem;
}

.brain-gestisce-card__text {
  font-size: clamp(0.78rem, 1.15vw, 0.86rem);
  line-height: 1.5;
  color: var(--gray-light);
  margin: 0;
}

.brain-gestisce-card__text .brain-text-kw {
  color: var(--acid);
  font-weight: 600;
}

.page-brain .brain-gestisce-card {
  transition:
    transform 0.35s var(--ease-out),
    border-color var(--transition),
    box-shadow var(--transition);
}

.page-brain .brain-gestisce-card:hover {
  transform: translateY(-3px);
  border-color: rgba(229, 255, 57, 0.35);
  box-shadow:
    0 16px 36px rgba(0, 0, 0, 0.28),
    0 0 24px rgba(143, 0, 255, 0.15);
}

@media (prefers-reduced-motion: reduce) {
  .page-brain .brain-gestisce-card:hover {
    transform: none;
  }

  .brain-gestisce__title-flag {
    transform: none;
  }
}

/* ——— iMedia AI Business Brain: cosa cambia ——— */
.section--brain-cambia {
  position: relative;
  overflow: hidden;
  background: var(--purple);
  color: var(--gray-light);
}

.brain-cambia__decor {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 12% 20%, rgba(229, 255, 57, 0.06), transparent 22%),
    radial-gradient(circle at 88% 80%, rgba(229, 255, 57, 0.05), transparent 24%),
    radial-gradient(circle, rgba(229, 255, 57, 0.1) 1px, transparent 1px);
  background-size:
    auto,
    auto,
    22px 22px;
  opacity: 0.75;
}

.brain-cambia__inner {
  position: relative;
  z-index: 1;
  width: min(1320px, calc(100% - 2.5rem));
  margin: 0 auto;
  padding: clamp(2.75rem, 6vw, 4.25rem) 0;
}

.brain-cambia__box {
  max-width: min(52rem, 100%);
  margin: 0 auto;
  padding: clamp(1.75rem, 3.5vw, 2.75rem);
  border-radius: 1rem;
  background: var(--gray-light);
  border: 1px solid rgba(143, 0, 255, 0.12);
  box-shadow:
    0 20px 48px rgba(0, 0, 0, 0.22),
    0 0 0 1px rgba(255, 255, 255, 0.35) inset;
}

.brain-cambia__title {
  font-family: var(--font-impact);
  font-size: clamp(1.45rem, 3.2vw, 2.45rem);
  line-height: 0.98;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--purple);
  margin: 0 0 clamp(1rem, 2vw, 1.35rem);
}

.brain-cambia__lead {
  font-family: var(--font-impact);
  font-size: clamp(0.78rem, 1.35vw, 0.92rem);
  line-height: 1.35;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--purple);
  margin: 0 0 clamp(0.55rem, 1vw, 0.7rem);
}

.brain-cambia__body {
  margin: clamp(1rem, 2vw, 1.35rem) 0 clamp(1.25rem, 2.5vw, 1.75rem);
}

.brain-cambia__body p {
  font-size: clamp(0.92rem, 1.45vw, 1.02rem);
  line-height: 1.62;
  color: var(--purple);
  margin: 0 0 clamp(0.7rem, 1.2vw, 0.9rem);
}

.brain-cambia__body p:last-child {
  margin-bottom: 0;
}

.brain-cambia__result-label {
  font-family: var(--font-impact);
  font-size: clamp(0.68rem, 1.15vw, 0.78rem);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--purple);
  margin: 0 0 0.55rem;
}

.brain-cambia__result-list {
  list-style: none;
  display: grid;
  gap: 0.3rem;
  margin: 0;
  padding: 0;
}

.brain-cambia__result-list li {
  position: relative;
  padding-left: 0.85rem;
  font-size: clamp(0.88rem, 1.35vw, 0.98rem);
  line-height: 1.45;
  color: var(--purple);
}

.brain-cambia__result-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.55em;
  width: 0.28rem;
  height: 0.28rem;
  border-radius: 50%;
  background: var(--acid);
  box-shadow: 0 0 8px rgba(229, 255, 57, 0.35);
}

.brain-cambia__box .brain-text-kw {
  color: var(--acid);
  font-weight: 600;
  text-shadow: none;
}

.page-brain .brain-cambia__box {
  transition:
    transform 0.35s var(--ease-out),
    border-color var(--transition),
    box-shadow var(--transition);
}

.page-brain .brain-cambia__box:hover {
  transform: translateY(-3px);
  border-color: rgba(143, 0, 255, 0.28);
  box-shadow:
    0 24px 52px rgba(0, 0, 0, 0.26),
    0 0 32px rgba(143, 0, 255, 0.12);
}

@media (prefers-reduced-motion: reduce) {
  .page-brain .brain-cambia__box:hover {
    transform: none;
  }
}

/* ——— iMedia AI Business Brain: contatti ——— */
.section--brain-contact .bestia-contact__title {
  max-width: 22ch;
}

.brain-contact-kw {
  color: var(--acid);
  font-weight: 600;
}

.page-brain .bestia-contact__form {
  transition:
    transform 0.35s var(--ease-out),
    border-color var(--transition),
    box-shadow var(--transition);
}

.page-brain .bestia-contact__form:hover {
  transform: translateY(-3px);
  border-color: rgba(229, 255, 57, 0.55);
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.22);
}

.page-brain .bestia-contact__field input,
.page-brain .bestia-contact__field textarea,
.page-brain .bestia-contact__dropdown-trigger {
  transition:
    border-color var(--transition),
    box-shadow var(--transition),
    background var(--transition);
}

.page-brain .bestia-contact__submit {
  transition:
    transform var(--transition),
    box-shadow var(--transition);
}

.page-brain .bestia-contact__submit:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(143, 0, 255, 0.35);
}

@media (prefers-reduced-motion: reduce) {
  .page-brain .bestia-contact__form:hover,
  .page-brain .bestia-contact__submit:hover {
    transform: none;
  }
}

/* ——— iMedia AI Business Brain: problema / soluzione ——— */
.section--brain-ps {
  position: relative;
  overflow: hidden;
  background: var(--gray-light);
  color: var(--gray-dark);
}

.brain-ps__decor {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 18% 22%, rgba(143, 0, 255, 0.08), transparent 24%),
    radial-gradient(circle at 82% 78%, rgba(143, 0, 255, 0.06), transparent 26%),
    radial-gradient(circle, rgba(143, 0, 255, 0.16) 1px, transparent 1px);
  background-size:
    auto,
    auto,
    20px 20px;
  opacity: 0.9;
}

.brain-ps__decor::after {
  content: "";
  position: absolute;
  left: -5%;
  right: -5%;
  bottom: -1.5rem;
  height: 5.5rem;
  background:
    radial-gradient(circle, rgba(143, 0, 255, 0.22) 1.5px, transparent 1.5px);
  background-size: 18px 18px;
  transform: perspective(280px) rotateX(58deg);
  transform-origin: center bottom;
  opacity: 0.55;
}

.brain-ps__inner {
  position: relative;
  z-index: 1;
  width: min(1320px, calc(100% - 2.5rem));
  margin: 0 auto;
  padding: clamp(2.75rem, 6vw, 4.25rem) 0 clamp(3rem, 6vw, 4.5rem);
}

.brain-ps__split {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(2rem, 4vw, 2.75rem);
}

@media (min-width: 1024px) {
  .brain-ps__split {
    grid-template-columns: minmax(0, 1fr) 2px minmax(0, 1fr);
    gap: clamp(1.25rem, 2.5vw, 2rem);
    align-items: start;
  }
}

.brain-ps__divider {
  display: none;
}

@media (min-width: 1024px) {
  .brain-ps__divider {
    display: block;
    width: 2px;
    min-height: 100%;
    background: linear-gradient(
      180deg,
      rgba(143, 0, 255, 0.05),
      rgba(143, 0, 255, 0.35) 18%,
      rgba(143, 0, 255, 0.35) 82%,
      rgba(143, 0, 255, 0.05)
    );
    box-shadow: 0 0 18px rgba(143, 0, 255, 0.12);
  }
}

.brain-ps__title {
  font-family: var(--font-impact);
  font-size: clamp(1.55rem, 3.4vw, 2.45rem);
  line-height: 0.98;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--gray-dark);
  margin: 0 0 clamp(1rem, 2vw, 1.35rem);
}

.brain-ps-kw-outline {
  color: transparent;
  -webkit-text-stroke: clamp(1.5px, 0.08em, 2px) var(--purple);
  paint-order: stroke fill;
}

.brain-ps__problema-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(1.25rem, 2.5vw, 1.75rem);
  align-items: start;
}

@media (min-width: 720px) {
  .brain-ps__problema-grid {
    grid-template-columns: minmax(0, 1.05fr) minmax(8.5rem, 0.95fr);
    gap: clamp(0.75rem, 1.5vw, 1.25rem);
  }
}

.brain-ps__lead,
.brain-ps__text {
  font-size: clamp(0.9rem, 1.38vw, 0.98rem);
  line-height: 1.62;
  color: var(--gray-dark);
  margin: 0 0 0.75rem;
}

.brain-ps__lead {
  font-size: clamp(0.95rem, 1.45vw, 1.02rem);
  max-width: 34ch;
}

.brain-ps__text {
  max-width: 38ch;
}

.brain-ps__text--list {
  line-height: 1.55;
}

.brain-ps-kw {
  color: var(--purple);
  font-weight: 600;
}

.brain-ps-kw-acid {
  color: #5f7800;
  font-weight: 600;
}

.brain-ps__sources {
  position: relative;
  min-height: 18rem;
}

.brain-ps__sources::before {
  content: "";
  position: absolute;
  top: 8%;
  bottom: 8%;
  left: 42%;
  width: 2px;
  background: linear-gradient(
    180deg,
    rgba(143, 0, 255, 0.08),
    rgba(143, 0, 255, 0.28) 20%,
    rgba(229, 255, 57, 0.35) 50%,
    rgba(143, 0, 255, 0.28) 80%,
    rgba(143, 0, 255, 0.08)
  );
  transform: rotate(-8deg);
  border-radius: 999px;
}

.brain-ps__sources-list {
  list-style: none;
  margin: 0;
  padding: 0;
  position: relative;
  display: grid;
  gap: 0.45rem;
}

.brain-ps__source-card {
  --shift: calc((var(--i) - 3.5) * 0.35rem);
  display: flex;
  align-items: center;
  gap: 0.45rem;
  width: min(100%, 11.5rem);
  margin-left: calc(0.5rem + var(--shift));
  padding: 0.38rem 0.55rem;
  border-radius: 0.45rem;
  background: #fff;
  border: 1px solid rgba(143, 0, 255, 0.08);
  box-shadow: 0 8px 22px rgba(52, 52, 52, 0.1);
  font-family: var(--font-impact);
  font-size: clamp(0.48rem, 0.82vw, 0.56rem);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--gray-dark);
  transform: translateX(calc(var(--i) * 0.18rem));
}

.brain-ps__source-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.35rem;
  height: 1.35rem;
  flex-shrink: 0;
  color: var(--purple);
}

.brain-ps__source-icon svg {
  width: 1rem;
  height: 1rem;
}

.brain-ps__visual {
  margin: 0 0 clamp(1rem, 2vw, 1.25rem);
  overflow: hidden;
  border-radius: 0.75rem;
  box-shadow:
    0 18px 44px rgba(52, 52, 52, 0.14),
    0 0 0 1px rgba(143, 0, 255, 0.08);
  background: #12001f;
}

.brain-ps__visual-image {
  display: block;
  width: 100%;
  height: auto;
}

.brain-ps__soluzione-body {
  display: grid;
  gap: clamp(0.85rem, 1.5vw, 1.1rem);
}

.brain-ps__soluzione-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(1rem, 2vw, 1.35rem);
  align-items: start;
}

@media (min-width: 760px) {
  .brain-ps__soluzione-grid {
    grid-template-columns: minmax(0, 1fr) minmax(13.5rem, 0.92fr);
    gap: clamp(0.85rem, 1.5vw, 1.25rem);
  }
}

.brain-ps__soluzione-copy {
  display: grid;
  gap: 0.75rem;
  align-content: start;
}

.brain-ps__soluzione-copy .brain-ps__text,
.brain-ps__soluzione-copy .brain-ps__close {
  margin: 0;
}

.brain-ps__checks-box {
  padding: clamp(0.75rem, 1.4vw, 0.95rem);
  border-radius: 0.75rem;
  background: rgba(255, 255, 255, 0.72);
  border: 1px solid rgba(143, 0, 255, 0.1);
  box-shadow:
    0 12px 28px rgba(52, 52, 52, 0.08),
    inset 0 1px 0 rgba(255, 255, 255, 0.85);
}

.brain-ps__checks-box .brain-ps__checks {
  margin: 0;
}

.brain-ps__checks {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.42rem;
}

.brain-ps__check {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  font-size: clamp(0.86rem, 1.28vw, 0.94rem);
  line-height: 1.45;
  color: var(--gray-dark);
}

.brain-ps__check-icon {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.2rem;
  height: 1.2rem;
  margin-top: 0.08rem;
  border-radius: 50%;
  color: var(--gray-dark);
  background: var(--acid);
  box-shadow: 0 0 12px rgba(229, 255, 57, 0.25);
}

.brain-ps__check-icon svg {
  width: 0.72rem;
  height: 0.72rem;
}

.brain-ps__close {
  font-size: clamp(0.9rem, 1.38vw, 0.98rem);
  line-height: 1.62;
  color: var(--gray-dark);
  margin: 0;
  max-width: 42ch;
}

.page-brain .brain-ps__visual,
.page-brain .brain-ps__source-card,
.page-brain .brain-ps__checks-box {
  transition:
    transform 0.35s var(--ease-out),
    box-shadow var(--transition);
}

.page-brain .brain-ps__checks-box:hover {
  transform: translateY(-2px);
  box-shadow:
    0 16px 34px rgba(143, 0, 255, 0.1),
    inset 0 1px 0 rgba(255, 255, 255, 0.85);
}

.page-brain .brain-ps__visual:hover {
  transform: translateY(-3px);
  box-shadow:
    0 24px 52px rgba(143, 0, 255, 0.14),
    0 0 0 1px rgba(143, 0, 255, 0.12);
}

.page-brain .brain-ps__source-card:hover {
  transform: translateX(calc(var(--i) * 0.18rem)) translateY(-2px);
  box-shadow: 0 12px 28px rgba(143, 0, 255, 0.12);
}

@media (prefers-reduced-motion: reduce) {
  .page-brain .brain-ps__visual:hover,
  .page-brain .brain-ps__source-card:hover,
  .page-brain .brain-ps__checks-box:hover {
    transform: none;
  }
}

/* ——— iMedia FlowPilot: contatti ——— */
.section--fp-contact .bestia-contact__title {
  max-width: 22ch;
}

.fp-contact-kw {
  color: var(--acid);
  font-weight: 600;
}

.page-flowpilot .bestia-contact__form {
  transition:
    transform 0.35s var(--ease-out),
    border-color var(--transition),
    box-shadow var(--transition);
}

.page-flowpilot .bestia-contact__form:hover {
  transform: translateY(-3px);
  border-color: rgba(229, 255, 57, 0.55);
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.22);
}

.page-flowpilot .bestia-contact__field input,
.page-flowpilot .bestia-contact__field textarea,
.page-flowpilot .bestia-contact__dropdown-trigger {
  transition:
    border-color var(--transition),
    box-shadow var(--transition),
    background var(--transition);
}

.page-flowpilot .bestia-contact__submit {
  transition:
    transform var(--transition),
    box-shadow var(--transition);
}

.page-flowpilot .bestia-contact__submit:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(143, 0, 255, 0.35);
}

@media (prefers-reduced-motion: reduce) {
  .page-flowpilot .bestia-contact__form:hover,
  .page-flowpilot .bestia-contact__submit:hover {
    transform: none;
  }
}

/* ——— iMedia Digital Configurator ——— */
body.page-configurator {
  background: var(--purple);
  color: var(--gray-light);
}

.hero--configurator {
  position: relative;
  overflow: hidden;
  min-height: min(100svh, 920px);
  padding: calc(var(--header-h) + 1rem) 0 0;
  background: var(--purple);
}

.hero--configurator__decor {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 14% 18%, rgba(229, 255, 57, 0.06), transparent 22%),
    radial-gradient(circle at 86% 82%, rgba(229, 255, 57, 0.05), transparent 24%),
    radial-gradient(circle, rgba(229, 255, 57, 0.1) 1px, transparent 1px);
  background-size:
    auto,
    auto,
    22px 22px;
  opacity: 0.75;
}

.hero--configurator__inner {
  position: relative;
  z-index: 1;
  width: min(1320px, calc(100% - 2.5rem));
  margin: 0 auto;
  padding-bottom: clamp(1.5rem, 3vw, 2.25rem);
}

.hero--configurator__layout {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(1.25rem, 3vw, 2rem);
  align-items: center;
  min-height: min(72svh, 680px);
}

@media (min-width: 960px) {
  .hero--configurator__layout {
    grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
    gap: clamp(1rem, 2vw, 1.75rem);
  }
}

.hero--configurator__copy {
  max-width: 36rem;
}

.hero--configurator__badge {
  display: inline-block;
  margin: 0 0 0.85rem;
  padding: 0.28rem 0.55rem;
  border-radius: 0.35rem;
  font-family: var(--font-impact);
  font-size: clamp(0.62rem, 1.1vw, 0.72rem);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--gray-dark);
  background: var(--acid);
  box-shadow: 0 0 20px rgba(229, 255, 57, 0.25);
}

.hero--configurator__title {
  font-family: var(--font-impact);
  font-size: clamp(1.75rem, 4.2vw, 2.95rem);
  line-height: 0.96;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--acid);
  margin: 0 0 clamp(1rem, 2vw, 1.35rem);
  text-shadow: 0 2px 24px rgba(0, 0, 0, 0.35);
}

.hero--configurator__title-line {
  display: block;
}

.configurator-kw-outline {
  color: transparent;
  -webkit-text-stroke: clamp(1.5px, 0.08em, 2.5px) var(--acid);
  paint-order: stroke fill;
  filter: drop-shadow(0 0 10px rgba(229, 255, 57, 0.2));
}

.hero--configurator__body {
  display: grid;
  gap: clamp(0.7rem, 1.4vw, 0.95rem);
  margin-bottom: clamp(1.15rem, 2.2vw, 1.5rem);
}

.hero--configurator__body p {
  font-size: clamp(0.92rem, 1.45vw, 1.02rem);
  line-height: 1.62;
  color: var(--gray-light);
  margin: 0;
  max-width: 46ch;
}

.configurator-text-kw {
  color: var(--acid);
  font-weight: 700;
  text-shadow: 0 0 16px rgba(229, 255, 57, 0.2);
}

.hero--configurator__punch {
  display: grid;
  gap: 0.15rem;
  margin-top: 0.15rem;
}

.hero--configurator__punch p {
  font-family: var(--font-impact);
  font-size: clamp(0.78rem, 1.35vw, 0.92rem);
  line-height: 1.35;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--gray-light);
  margin: 0;
  max-width: 46ch;
}

.hero--configurator__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.hero--configurator__cta {
  min-width: min(100%, 18rem);
}

.hero--configurator__visual {
  margin: 0;
  overflow: hidden;
  border-radius: 0.85rem;
  border: 1px solid rgba(229, 255, 57, 0.22);
  box-shadow:
    0 20px 48px rgba(0, 0, 0, 0.28),
    0 0 32px rgba(229, 255, 57, 0.08);
  background: rgba(5, 0, 8, 0.35);
}

.hero--configurator__visual-image {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
}

.page-configurator .hero--configurator__visual {
  transition:
    transform 0.35s var(--ease-out),
    border-color var(--transition),
    box-shadow var(--transition);
}

.page-configurator .hero--configurator__visual:hover {
  transform: translateY(-4px);
  border-color: rgba(229, 255, 57, 0.4);
  box-shadow:
    0 24px 52px rgba(0, 0, 0, 0.32),
    0 0 36px rgba(229, 255, 57, 0.12);
}

@media (prefers-reduced-motion: reduce) {
  .page-configurator .hero--configurator__visual:hover {
    transform: none;
  }
}

/* ——— iMedia Digital Configurator: problema / soluzione ——— */
.section--dc-ps {
  position: relative;
  overflow: hidden;
  background: var(--gray-light);
  color: var(--gray-dark);
}

.dc-ps__decor {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 12% 18%, rgba(143, 0, 255, 0.07), transparent 26%),
    radial-gradient(circle at 88% 82%, rgba(229, 255, 57, 0.05), transparent 28%),
    radial-gradient(circle, rgba(143, 0, 255, 0.1) 1px, transparent 1px);
  background-size: auto, auto, 22px 22px;
  opacity: 0.9;
}

.dc-ps__inner {
  position: relative;
  z-index: 1;
  width: min(1320px, calc(100% - 2.5rem));
  margin: 0 auto;
  padding: clamp(2.75rem, 6vw, 4.25rem) 0 clamp(3rem, 6vw, 4.5rem);
}

.dc-ps__split {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(1.25rem, 2.5vw, 1.75rem);
  align-items: stretch;
}

@media (min-width: 1024px) {
  .dc-ps__split {
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    gap: clamp(0.85rem, 1.6vw, 1.25rem);
  }
}

.dc-ps__panel {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: clamp(1.15rem, 2.2vw, 1.65rem);
  border-radius: 1rem;
  background: #fff;
  border: 1px solid rgba(143, 0, 255, 0.1);
  box-shadow: 0 14px 36px rgba(52, 52, 52, 0.08);
  transition: transform 0.35s var(--ease-out), border-color var(--transition), box-shadow var(--transition);
}

.dc-ps__panel--problem { border-top: 3px solid var(--gray-dark); }
.dc-ps__panel--solution { border-top: 3px solid var(--purple); }

.page-configurator .dc-ps__panel:hover {
  transform: translateY(-4px);
  border-color: rgba(143, 0, 255, 0.28);
  box-shadow: 0 20px 44px rgba(52, 52, 52, 0.12), 0 0 28px rgba(143, 0, 255, 0.08);
}

.dc-ps__badge {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  margin: 0 0 clamp(0.85rem, 1.6vw, 1.1rem);
  padding: 0.35rem 0.75rem 0.35rem 0.55rem;
  border-radius: var(--radius-pill);
  font-family: var(--font-impact);
  font-size: clamp(0.58rem, 1vw, 0.68rem);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.dc-ps__badge--problem { color: var(--gray-dark); background: var(--gray-light); border: 1px solid rgba(52, 52, 52, 0.1); }
.dc-ps__badge--solution { color: var(--gray-dark); background: rgba(143, 0, 255, 0.08); border: 1px solid rgba(143, 0, 255, 0.22); }

.dc-ps__badge-icon {
  display: inline-flex; align-items: center; justify-content: center;
  width: 1.35rem; height: 1.35rem; border-radius: 50%; font-size: 0.72rem; font-weight: 700;
}

.dc-ps__badge--problem .dc-ps__badge-icon { color: #fff; background: var(--gray-dark); }
.dc-ps__badge--solution .dc-ps__badge-icon { color: var(--gray-dark); background: var(--acid); }

.dc-ps__title {
  font-family: var(--font-impact);
  font-size: clamp(1.1rem, 2.2vw, 1.75rem);
  line-height: 1.02;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--purple);
  margin: 0 0 clamp(0.9rem, 1.8vw, 1.15rem);
}

.dc-ps-kw-outline {
  color: transparent;
  -webkit-text-stroke: clamp(1.5px, 0.08em, 2px) var(--purple);
  paint-order: stroke fill;
  filter: drop-shadow(0 0 10px rgba(143, 0, 255, 0.12));
}

.dc-ps-text-kw { color: var(--purple); font-weight: 600; }

.dc-ps__intro {
  font-size: clamp(0.9rem, 1.4vw, 1rem);
  line-height: 1.58;
  color: var(--gray-dark);
  margin: 0 0 clamp(1rem, 2vw, 1.25rem);
}

.dc-ps__footer {
  font-size: clamp(0.82rem, 1.25vw, 0.92rem);
  line-height: 1.55;
  color: rgba(52, 52, 52, 0.78);
  margin: clamp(1rem, 2vw, 1.25rem) 0 0;
}

.dc-ps__bridge {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 3rem;
}

@media (min-width: 1024px) {
  .dc-ps__bridge { flex-direction: column; align-self: center; }
}

.dc-ps__bridge-pulse {
  position: absolute;
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 50%;
  background: rgba(229, 255, 57, 0.18);
  animation: dc-ps-pulse 2.4s ease-in-out infinite;
}

@keyframes dc-ps-pulse { 0%,100% { transform: scale(0.85); opacity: 0.45; } 50% { transform: scale(1.15); opacity: 0.9; } }

.dc-ps__bridge-icon {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.35rem;
  height: 2.35rem;
  border-radius: 50%;
  color: var(--gray-dark);
  background: var(--acid);
  box-shadow: 0 0 20px rgba(229, 255, 57, 0.45);
  transition: transform 0.35s var(--ease-out), box-shadow var(--transition);
}

.dc-ps__bridge-icon svg { width: 1.15rem; height: 1.15rem; }
@media (max-width: 1023px) { .dc-ps__bridge-icon svg { transform: rotate(90deg); } }
.page-configurator .dc-ps__bridge:hover .dc-ps__bridge-icon { transform: scale(1.08); box-shadow: 0 0 28px rgba(229, 255, 57, 0.65); }

.dc-ps__viz { position: relative; margin-bottom: 0.25rem; }

.dc-ps__viz--problem {
  min-height: clamp(14rem, 28vw, 17.5rem);
  padding: clamp(0.85rem, 1.6vw, 1.15rem);
  border-radius: 0.75rem;
  background: linear-gradient(145deg, #f7f7f7 0%, #efefef 100%);
  border: 1px solid rgba(52, 52, 52, 0.08);
  overflow: hidden;
}

.dc-ps__viz-mesh {
  position: absolute;
  inset: 0;
  background: linear-gradient(rgba(143, 0, 255, 0.04) 1px, transparent 1px), linear-gradient(90deg, rgba(143, 0, 255, 0.04) 1px, transparent 1px);
  background-size: 24px 24px;
  opacity: 0.8;
}

.dc-ps__viz-wires { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; opacity: 0.55; }
.dc-ps__viz-wires path { fill: none; stroke: rgba(143, 0, 255, 0.35); stroke-width: 1.5; stroke-dasharray: 5 6; }

.dc-ps__chips {
  position: relative;
  z-index: 1;
  list-style: none;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.5rem;
  margin: 0;
  padding: 0;
  max-width: 16rem;
}

.dc-ps__chip {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.45rem 0.55rem;
  border-radius: 0.5rem;
  background: #fff;
  border: 1px solid rgba(52, 52, 52, 0.1);
  box-shadow: 0 6px 16px rgba(52, 52, 52, 0.07);
  font-size: clamp(0.62rem, 1vw, 0.72rem);
  line-height: 1.2;
  color: var(--gray-dark);
  transform: rotate(var(--r, 0deg));
  transition: transform 0.35s var(--ease-out), border-color var(--transition), box-shadow var(--transition);
}

.dc-ps__chip-icon { display: flex; align-items: center; justify-content: center; width: 1.25rem; height: 1.25rem; color: var(--purple); }
.dc-ps__chip-icon svg { width: 0.85rem; height: 0.85rem; }

.page-configurator .dc-ps__chip:hover {
  transform: rotate(0deg) translateY(-3px) scale(1.02);
  border-color: rgba(143, 0, 255, 0.35);
  box-shadow: 0 10px 22px rgba(143, 0, 255, 0.12);
}

.dc-ps__alert-card {
  position: absolute;
  right: clamp(0.65rem, 1.4vw, 1rem);
  bottom: clamp(0.65rem, 1.4vw, 1rem);
  z-index: 2;
  min-width: 7.5rem;
  padding: 0.65rem 0.75rem;
  border-radius: 0.65rem;
  text-align: center;
  background: var(--gray-dark);
  border: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow: 0 14px 32px rgba(0, 0, 0, 0.22);
  transition: transform 0.35s var(--ease-out), box-shadow var(--transition);
}

.dc-ps__alert-label { display: block; font-size: 0.58rem; letter-spacing: 0.06em; text-transform: uppercase; color: rgba(255, 255, 255, 0.7); margin-bottom: 0.2rem; }
.dc-ps__alert-value { display: block; font-family: var(--font-impact); font-size: clamp(1.1rem, 2vw, 1.35rem); letter-spacing: 0.04em; color: var(--acid); line-height: 1; }
.dc-ps__alert-note { display: block; margin-top: 0.25rem; font-size: 0.58rem; color: rgba(255, 255, 255, 0.55); }

.page-configurator .dc-ps__alert-card:hover { transform: translateY(-4px) rotate(-1deg); box-shadow: 0 18px 36px rgba(0, 0, 0, 0.28), 0 0 24px rgba(229, 255, 57, 0.15); }

.dc-ps__progress-rail {
  position: relative;
  display: none;
  height: 0.35rem;
  margin-bottom: 1rem;
  border-radius: var(--radius-pill);
  background: rgba(143, 0, 255, 0.1);
  overflow: hidden;
}

@media (min-width: 640px) { .dc-ps__progress-rail { display: block; } }

.dc-ps__progress-fill {
  position: absolute;
  inset: 0 auto 0 0;
  width: 86%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--purple), rgba(143, 0, 255, 0.45));
}

.dc-ps__progress-dot { position: absolute; top: 50%; width: 0.45rem; height: 0.45rem; border-radius: 50%; background: #fff; border: 2px solid var(--purple); transform: translate(-50%, -50%); }
.dc-ps__progress-dot:nth-child(2) { left: 0%; }
.dc-ps__progress-dot:nth-child(3) { left: 14%; }
.dc-ps__progress-dot:nth-child(4) { left: 28%; }
.dc-ps__progress-dot:nth-child(5) { left: 42%; }
.dc-ps__progress-dot:nth-child(6) { left: 57%; }
.dc-ps__progress-dot:nth-child(7) { left: 71%; }
.dc-ps__progress-dot:nth-child(8) { left: 86%; }
.dc-ps__progress-dot.is-active { background: var(--acid); border-color: var(--acid); box-shadow: 0 0 12px rgba(229, 255, 57, 0.55); }

.dc-ps__timeline { list-style: none; display: grid; gap: 0.5rem; margin: 0; padding: 0; }
.dc-ps__timeline-step { display: grid; grid-template-columns: auto 1fr; gap: 0.65rem; align-items: stretch; }

.dc-ps__step-num {
  display: flex; align-items: center; justify-content: center;
  width: 1.5rem; height: 1.5rem; margin-top: 0.55rem; border-radius: 50%;
  font-family: var(--font-impact); font-size: 0.62rem; color: #fff; background: var(--purple);
  box-shadow: 0 0 12px rgba(143, 0, 255, 0.25); transition: transform var(--transition), box-shadow var(--transition), background var(--transition);
}

.dc-ps__step-card {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.6rem;
  align-items: center;
  padding: 0.55rem 0.7rem;
  border-radius: 0.6rem;
  background: var(--gray-light);
  border: 1px solid rgba(143, 0, 255, 0.08);
  transition: transform 0.35s var(--ease-out), border-color var(--transition), box-shadow var(--transition), background var(--transition);
}

.dc-ps__step-card p { margin: 0; font-size: clamp(0.78rem, 1.15vw, 0.88rem); line-height: 1.45; color: var(--gray-dark); }

.dc-ps__step-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.75rem;
  height: 1.75rem;
  border-radius: 0.45rem;
  color: var(--purple);
  background: rgba(143, 0, 255, 0.08);
  border: 1px solid rgba(143, 0, 255, 0.16);
  transition: color var(--transition), background var(--transition), border-color var(--transition);
}

.dc-ps__step-icon svg { width: 0.95rem; height: 0.95rem; }

.page-configurator .dc-ps__timeline-step:hover .dc-ps__step-card {
  transform: translateX(4px);
  border-color: rgba(143, 0, 255, 0.28);
  background: #fff;
  box-shadow: 0 10px 24px rgba(143, 0, 255, 0.1);
}

.page-configurator .dc-ps__timeline-step:hover .dc-ps__step-num {
  transform: scale(1.1);
  background: var(--acid);
  color: var(--gray-dark);
  box-shadow: 0 0 16px rgba(229, 255, 57, 0.45);
}

.page-configurator .dc-ps__timeline-step:hover .dc-ps__step-icon {
  color: var(--gray-dark);
  background: var(--purple);
  border-color: var(--purple);
}

@media (max-width: 639px) {
  .dc-ps__chips { grid-template-columns: 1fr; max-width: none; }
}

@media (prefers-reduced-motion: reduce) {
  .dc-ps__bridge-pulse { animation: none; }

  .page-configurator .dc-ps__panel:hover,
  .page-configurator .dc-ps__chip:hover,
  .page-configurator .dc-ps__alert-card:hover,
  .page-configurator .dc-ps__bridge:hover .dc-ps__bridge-icon,
  .page-configurator .dc-ps__timeline-step:hover .dc-ps__step-card,
  .page-configurator .dc-ps__timeline-step:hover .dc-ps__step-num {
    transform: none;
  }
}

/* ——— iMedia Digital Configurator: come iMEDIA può aiutarti ——— */
.section--dc-aiuto {
  position: relative;
  overflow: hidden;
  background: var(--gray-light);
  color: var(--gray-dark);
}

.dc-aiuto__decor {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 18% 22%, rgba(143, 0, 255, 0.06), transparent 24%),
    radial-gradient(circle at 82% 78%, rgba(143, 0, 255, 0.05), transparent 26%),
    radial-gradient(circle, rgba(143, 0, 255, 0.1) 1px, transparent 1px);
  background-size:
    auto,
    auto,
    20px 20px;
  opacity: 0.85;
}

.dc-aiuto__inner {
  position: relative;
  z-index: 1;
  width: min(1320px, calc(100% - 2.5rem));
  margin: 0 auto;
  padding: 0 0 clamp(3rem, 6vw, 4.5rem);
}

.dc-aiuto__title-band {
  position: relative;
  z-index: 1;
  width: 100%;
  padding: clamp(2.5rem, 5.5vw, 3.75rem) clamp(1rem, 3vw, 2rem)
    clamp(1.25rem, 2.5vw, 1.75rem);
  text-align: center;
}

.dc-aiuto__title-flag {
  display: flex;
  justify-content: center;
  width: 100%;
  max-width: min(100%, 96vw);
  margin: 0 auto;
}

.dc-aiuto__title {
  font-family: var(--font-impact);
  font-size: clamp(1.35rem, 4.1vw, 3.35rem);
  line-height: 0.98;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--purple);
  margin: 0 auto;
  text-align: center;
  width: 100%;
  max-width: 100%;
  text-wrap: balance;
}

.dc-aiuto__title-line {
  display: block;
  width: 100%;
}

@media (max-width: 720px) {
  .dc-aiuto__title {
    font-size: clamp(1.15rem, 6.2vw, 1.85rem);
    line-height: 1.02;
  }
}

.dc-aiuto-kw-outline {
  color: transparent;
  -webkit-text-stroke: clamp(1px, 0.06em, 2px) var(--purple);
  paint-order: stroke fill;
  filter: drop-shadow(0 0 10px rgba(143, 0, 255, 0.15));
}

.dc-aiuto__top {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(1.75rem, 3.5vw, 2.5rem);
  align-items: center;
  margin-bottom: clamp(2.5rem, 5vw, 3.5rem);
}

@media (min-width: 960px) {
  .dc-aiuto__top {
    grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.92fr);
    gap: clamp(1.25rem, 2.5vw, 2rem);
  }
}

.dc-aiuto__copy-flag {
  width: min(100%, 36rem);
  margin-left: auto;
  text-align: right;
  transform: skewY(-3.5deg);
  transform-origin: right center;
}

@media (max-width: 959px) {
  .dc-aiuto__copy-flag {
    margin-left: 0;
    text-align: left;
    transform-origin: left center;
  }
}

.dc-aiuto__body {
  display: grid;
  gap: clamp(0.7rem, 1.4vw, 0.95rem);
}

.dc-aiuto__body p {
  font-size: clamp(0.92rem, 1.45vw, 1.02rem);
  line-height: 1.62;
  color: var(--gray-dark);
  margin: 0;
  max-width: 44ch;
  margin-left: auto;
}

@media (max-width: 959px) {
  .dc-aiuto__body p {
    margin-left: 0;
    max-width: none;
  }
}

.dc-aiuto-kw {
  color: var(--purple);
  font-weight: 600;
}

.dc-aiuto__visual {
  margin: 0;
  overflow: hidden;
  border-radius: 0.85rem;
  border: 1px solid rgba(143, 0, 255, 0.12);
  box-shadow: 0 18px 44px rgba(52, 52, 52, 0.12);
  background: #fff;
}

.dc-aiuto__visual-image {
  display: block;
  width: 100%;
  height: auto;
}

.dc-aiuto__features-head {
  margin-bottom: clamp(1.5rem, 3vw, 2rem);
  text-align: center;
}

.dc-aiuto__features-title {
  font-family: var(--font-impact);
  font-size: clamp(1.25rem, 2.8vw, 2.15rem);
  line-height: 0.98;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--gray-dark);
  margin: 0 auto;
  max-width: 22ch;
}

.dc-aiuto__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(0.75rem, 1.5vw, 1rem);
}

@media (min-width: 640px) {
  .dc-aiuto__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 1024px) {
  .dc-aiuto__grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

.dc-aiuto-card {
  display: grid;
  gap: 0.55rem;
  padding: clamp(0.9rem, 1.5vw, 1.1rem);
  border-radius: 0.75rem;
  background: #fff;
  border: 1px solid rgba(52, 52, 52, 0.08);
  box-shadow: 0 10px 24px rgba(52, 52, 52, 0.08);
}

.dc-aiuto-card__head {
  display: flex;
  align-items: center;
  gap: 0.45rem;
}

.dc-aiuto-card__num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.45rem;
  height: 1.45rem;
  border-radius: 0.3rem;
  font-family: var(--font-impact);
  font-size: 0.62rem;
  letter-spacing: 0.02em;
  color: #fff;
  background: var(--purple);
  box-shadow: 0 0 12px rgba(143, 0, 255, 0.22);
}

.dc-aiuto-card__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.35rem;
  height: 1.35rem;
  color: var(--purple);
}

.dc-aiuto-card__icon svg {
  width: 1.1rem;
  height: 1.1rem;
}

.dc-aiuto-card__title {
  font-family: var(--font-impact);
  font-size: clamp(0.62rem, 1.05vw, 0.72rem);
  line-height: 1.15;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--gray-dark);
  margin: 0;
}

.dc-aiuto-card__text {
  font-size: clamp(0.78rem, 1.15vw, 0.86rem);
  line-height: 1.5;
  color: rgba(52, 52, 52, 0.82);
  margin: 0;
}

.page-configurator .dc-aiuto__visual,
.page-configurator .dc-aiuto-card {
  transition:
    transform 0.35s var(--ease-out),
    border-color var(--transition),
    box-shadow var(--transition);
}

.page-configurator .dc-aiuto__visual:hover,
.page-configurator .dc-aiuto-card:hover {
  transform: translateY(-3px);
  border-color: rgba(143, 0, 255, 0.22);
  box-shadow: 0 16px 36px rgba(52, 52, 52, 0.12);
}

@media (prefers-reduced-motion: reduce) {
  .page-configurator .dc-aiuto__visual:hover,
  .page-configurator .dc-aiuto-card:hover {
    transform: none;
  }

  .dc-aiuto__copy-flag {
    transform: none;
  }
}

/* ═══════════════════════════════════════════════════
   DC FLUSSO OPERATIVO
═══════════════════════════════════════════════════ */
.section--dc-flusso {
  background: #0a0010;
  color: var(--gray-light);
  position: relative;
  overflow: hidden;
}
.section--dc-flusso::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse at 70% 20%, rgba(143,0,255,.18) 0%, transparent 55%),
    radial-gradient(ellipse at 10% 80%, rgba(143,0,255,.10) 0%, transparent 45%);
  pointer-events: none;
}

.dc-flusso__inner {
  position: relative;
  z-index: 1;
  width: min(1320px, calc(100% - 2.5rem));
  margin: 0 auto;
  padding: clamp(3rem, 7vw, 5rem) 0 clamp(3rem, 7vw, 5rem);
}

.dc-flusso__label {
  font-family: var(--font-impact);
  font-size: clamp(.65rem, 1.1vw, .85rem);
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--purple);
  margin-bottom: clamp(1.5rem, 3vw, 2rem);
  opacity: .9;
}

.dc-flusso__layout {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(2rem, 4vw, 3.5rem);
  align-items: start;
}
@media (min-width: 900px) {
  .dc-flusso__layout {
    grid-template-columns: minmax(0,1.05fr) minmax(0,.95fr);
    gap: clamp(2rem, 4vw, 4rem);
    align-items: start;
  }
}

/* — titolo — */
.dc-flusso__title {
  font-family: var(--font-impact);
  font-size: clamp(2rem, 5.5vw, 4.2rem);
  line-height: 1;
  text-transform: uppercase;
  color: var(--gray-light);
  margin: 0 0 clamp(1.5rem, 3vw, 2.5rem);
}
.dc-flusso-kw {
  color: var(--acid);
}

/* — steps — */
.dc-flusso__steps {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(.75rem,1.5vw,1.1rem) clamp(1rem,2vw,1.5rem);
}
@media (max-width: 640px) {
  .dc-flusso__steps { grid-template-columns: 1fr; }
}

.dc-flusso__step {
  display: flex;
  gap: .7rem;
  align-items: flex-start;
}
.dc-flusso__step-num {
  flex-shrink: 0;
  width: 1.6rem;
  height: 1.6rem;
  border-radius: 50%;
  background: var(--purple);
  color: #fff;
  font-family: var(--font-impact);
  font-size: .8rem;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: .05rem;
}
.dc-flusso__step-body strong {
  display: block;
  font-family: var(--font-impact);
  font-size: clamp(.78rem,1.2vw,.95rem);
  text-transform: uppercase;
  letter-spacing: .02em;
  color: var(--acid);
  margin-bottom: .25rem;
}
.dc-flusso__step-body p {
  font-size: clamp(.75rem,1.1vw,.88rem);
  line-height: 1.5;
  color: rgba(205,204,204,.8);
  margin: 0;
}

/* — mockup — */
.dc-flusso__right {
  position: relative;
}
.dc-flusso__mockup-wrap {
  border-radius: 1.25rem;
  overflow: hidden;
  box-shadow: 0 0 60px rgba(143,0,255,.35), 0 0 0 1px rgba(143,0,255,.3);
}
.dc-flusso__mockup {
  display: block;
  width: 100%;
  height: auto;
}

/* ═══════════════════════════════════════════════════
   DC COSA GENERA L'AI
═══════════════════════════════════════════════════ */
.section--dc-genera {
  background: var(--gray-light);
  color: var(--gray-dark);
  position: relative;
}

.dc-genera__inner {
  width: min(1320px, calc(100% - 2.5rem));
  margin: 0 auto;
  padding: clamp(3rem, 7vw, 5rem) 0;
}

.dc-genera__label {
  font-family: var(--font-impact);
  font-size: clamp(.65rem, 1.1vw, .85rem);
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--purple);
  margin-bottom: clamp(1.5rem, 3vw, 2rem);
  opacity: .9;
}

.dc-genera__layout {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(2rem, 4vw, 3.5rem);
}
@media (min-width: 960px) {
  .dc-genera__layout {
    grid-template-columns: minmax(0,.45fr) minmax(0,.55fr);
    gap: clamp(2rem, 5vw, 4rem);
    align-items: start;
  }
}

/* titolo */
.dc-genera__title {
  font-family: var(--font-impact);
  font-size: clamp(2.2rem, 5.5vw, 4.2rem);
  line-height: 1;
  text-transform: uppercase;
  color: var(--gray-dark);
  margin: 0 0 .6rem;
}
.dc-genera-kw {
  color: var(--purple);
}
.dc-genera__lead {
  font-family: var(--font-impact);
  font-size: clamp(1rem, 2vw, 1.35rem);
  text-transform: uppercase;
  color: var(--gray-dark);
  line-height: 1.25;
  margin: 0 0 .8rem;
}
.dc-genera__body {
  font-size: clamp(.88rem, 1.3vw, 1rem);
  line-height: 1.6;
  color: var(--gray-dark);
  margin: 0 0 clamp(1.2rem, 2.5vw, 1.8rem);
}

/* chip list */
.dc-genera__chip-list {
  list-style: none;
  margin: 0 0 clamp(1.2rem, 2.5vw, 2rem);
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
}
.dc-genera__chip {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  padding: .3rem .75rem;
  border-radius: 2rem;
  background: #fff;
  border: 1px solid rgba(143,0,255,.25);
  font-size: clamp(.72rem, 1vw, .82rem);
  color: var(--gray-dark);
  line-height: 1;
}
.dc-genera__chip-icon { font-size: .85em; }

.dc-genera__footer {
  font-size: clamp(.82rem, 1.2vw, .95rem);
  line-height: 1.65;
  color: var(--gray-dark);
  border-top: 1px solid rgba(143,0,255,.2);
  padding-top: 1rem;
}

/* output grid */
.dc-genera__right {
  position: relative;
}
.dc-genera__engine-badge {
  display: flex;
  align-items: center;
  gap: .6rem;
  margin-bottom: 1.5rem;
  background: linear-gradient(135deg,#0a0010 0%,#1a0035 100%);
  border: 1px solid var(--purple);
  border-radius: .75rem;
  padding: .75rem 1.25rem;
  width: fit-content;
  box-shadow: 0 0 24px rgba(143,0,255,.3);
}
.dc-genera__engine-label {
  font-family: var(--font-impact);
  font-size: clamp(2rem, 4vw, 3rem);
  color: var(--purple);
  line-height: 1;
  text-shadow: 0 0 20px rgba(143,0,255,.6);
}
.dc-genera__engine-sub {
  font-family: var(--font-impact);
  font-size: clamp(.65rem, 1.1vw, .85rem);
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--gray-light);
  line-height: 1.3;
}

.dc-genera__output-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: .65rem;
}
@media (min-width: 520px) {
  .dc-genera__output-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (min-width: 1100px) {
  .dc-genera__output-grid { grid-template-columns: repeat(3, 1fr); }
}

.dc-genera__output-card {
  border-radius: .65rem;
  overflow: hidden;
  background: #0e0020;
  border: 1px solid rgba(143,0,255,.25);
  box-shadow: 0 4px 18px rgba(0,0,0,.3);
}
.dc-genera__output-label {
  font-size: .6rem;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: rgba(205,204,204,.6);
  padding: .35rem .5rem .1rem;
}
.dc-genera__output-img {
  padding: .6rem .5rem .75rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-size: clamp(.6rem,.9vw,.75rem);
  font-weight: 700;
  min-height: 4.5rem;
  gap: .25rem;
}
.dc-genera__output-img--dark { color: var(--gray-light); }
.dc-genera__output-img--neon {
  background: linear-gradient(135deg,#180030,#2d0060);
  color: #fff;
  font-family: var(--font-impact);
  font-size: clamp(.8rem,1.4vw,1.1rem);
  text-transform: uppercase;
  letter-spacing: .04em;
  text-shadow: 0 0 12px var(--purple);
}
.dc-genera__output-img--neon2 {
  background: linear-gradient(135deg,#000,#100020);
  color: #e040fb;
  font-family: var(--font-impact);
  text-transform: uppercase;
  letter-spacing: .04em;
  text-shadow: 0 0 16px #e040fb;
}
.dc-genera__output-event-name { line-height: 1; }
.dc-genera__output-event-name--lg { font-size: clamp(1rem,1.8vw,1.35rem); }
.dc-genera__output-date {
  font-size: .6rem;
  color: rgba(255,255,255,.6);
  margin-top: .2rem;
}
.dc-genera__output-img--video {
  background: #0a001a;
  color: var(--purple);
}
.dc-genera__output-play {
  font-size: 1.6rem;
  line-height: 1;
  text-shadow: 0 0 20px var(--purple);
}
.dc-genera__output-img--monitor {
  background: #04001a;
  color: var(--acid);
  font-family: var(--font-impact);
  font-size: clamp(.8rem,1.3vw,1rem);
  text-transform: uppercase;
  letter-spacing: .04em;
  text-shadow: 0 0 12px var(--acid);
}
.dc-genera__output-img--voucher {
  background: linear-gradient(135deg,#0d001a,#1a004a);
  color: #fff;
  font-size: .6rem;
}
.dc-genera__output-img--voucher strong {
  font-family: var(--font-impact);
  font-size: clamp(.9rem,1.6vw,1.2rem);
  color: var(--acid);
  text-shadow: 0 0 10px var(--acid);
}
.dc-genera__output-img--social {
  background: linear-gradient(135deg,#0a001a,#200040);
  color: var(--purple);
  font-family: var(--font-impact);
  font-size: clamp(.85rem,1.4vw,1.1rem);
  text-transform: uppercase;
  text-shadow: 0 0 14px var(--purple);
}
.dc-genera__output-img--annuncio {
  background: #08001a;
  color: var(--acid);
  font-size: .65rem;
  text-transform: uppercase;
}
.dc-genera__output-img--riepilogo {
  background: #05001a;
  color: var(--gray-light);
  font-size: .62rem;
  align-items: flex-start;
}
.dc-genera__output-img--riepilogo ul {
  list-style: none;
  padding: 0;
  margin: 0;
  text-align: left;
}
.dc-genera__output-img--followup {
  background: linear-gradient(135deg,#0c0020,#1e003a);
  color: #fff;
  font-size: .6rem;
  text-transform: uppercase;
}
.dc-genera__heart {
  color: var(--purple);
  font-size: 1.1rem;
}
.dc-genera__output-placeholder { opacity: .45; font-size: .65rem; }

/* ═══════════════════════════════════════════════════
   DC PER CHI È PENSATO
═══════════════════════════════════════════════════ */
.section--dc-perchi {
  background: #0a0010;
  color: var(--gray-light);
  position: relative;
}
.section--dc-perchi::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at 50% 0%, rgba(143,0,255,.12) 0%, transparent 60%);
  pointer-events: none;
}

.dc-perchi__inner {
  position: relative;
  z-index: 1;
  width: min(1320px, calc(100% - 2.5rem));
  margin: 0 auto;
  padding: clamp(3rem, 7vw, 5rem) 0;
}

.dc-perchi__label {
  font-family: var(--font-impact);
  font-size: clamp(.65rem, 1.1vw, .85rem);
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--purple);
  margin-bottom: clamp(1.5rem, 3vw, 2rem);
  opacity: .9;
}

.dc-perchi__layout {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(2rem, 4vw, 3.5rem);
  margin-bottom: clamp(2rem, 4vw, 3rem);
}
@media (min-width: 900px) {
  .dc-perchi__layout {
    grid-template-columns: minmax(0,.38fr) minmax(0,.62fr);
    gap: clamp(2rem, 5vw, 4rem);
    align-items: start;
  }
}

.dc-perchi__title {
  font-family: var(--font-impact);
  font-size: clamp(2.2rem, 5.5vw, 4rem);
  line-height: 1;
  text-transform: uppercase;
  color: var(--gray-light);
  margin: 0 0 .75rem;
}
.dc-perchi-kw { color: var(--acid); }
.dc-perchi__lead {
  font-family: var(--font-impact);
  font-size: clamp(.95rem, 1.6vw, 1.2rem);
  text-transform: uppercase;
  color: var(--gray-light);
  line-height: 1.3;
  margin: 0 0 .75rem;
  opacity: .9;
}
.dc-perchi__body {
  font-size: clamp(.82rem, 1.2vw, .95rem);
  line-height: 1.65;
  color: rgba(205,204,204,.75);
}

/* card grid */
.dc-perchi__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: .6rem;
}
@media (min-width: 640px) {
  .dc-perchi__grid { grid-template-columns: repeat(4, 1fr); }
}
@media (min-width: 1024px) {
  .dc-perchi__grid { grid-template-columns: repeat(5, 1fr); }
}
@media (max-width: 400px) {
  .dc-perchi__grid { grid-template-columns: repeat(2, 1fr); }
}

.dc-perchi__card {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: .4rem;
  padding: .75rem .5rem;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(143,0,255,.22);
  border-radius: .65rem;
  text-align: center;
  transition: background .22s, border-color .22s, transform .22s;
}
.dc-perchi__card:hover {
  background: rgba(143,0,255,.12);
  border-color: rgba(143,0,255,.55);
  transform: translateY(-3px);
}
.dc-perchi__card-icon { font-size: 1.35rem; line-height: 1; }
.dc-perchi__card-label {
  font-size: clamp(.62rem, .9vw, .76rem);
  color: rgba(205,204,204,.85);
  line-height: 1.3;
}

/* tagline finale */
.dc-perchi__tagline {
  border-top: 1px solid rgba(143,0,255,.3);
  padding-top: clamp(1.5rem, 3vw, 2rem);
  text-align: center;
}
.dc-perchi__tagline p {
  font-family: var(--font-impact);
  font-size: clamp(1rem, 2.2vw, 1.55rem);
  text-transform: uppercase;
  color: var(--gray-light);
  margin: 0 0 .25rem;
  line-height: 1.3;
}
.dc-perchi__tagline p:last-child { margin: 0; }

/* ═══════════════════════════════════════════════════
   DC COSA CAMBIA PER LA TUA AZIENDA
═══════════════════════════════════════════════════ */
.section--dc-cambia {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(ellipse 75% 55% at 15% 15%, rgba(143, 0, 255, 0.45), transparent 55%),
    radial-gradient(ellipse 65% 50% at 88% 80%, rgba(143, 0, 255, 0.35), transparent 50%),
    linear-gradient(165deg, #7a00e0 0%, #5c00b0 38%, #480090 100%);
  color: var(--gray-light);
}

.dc-cambia__decor {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle, rgba(229, 255, 57, 0.07) 1px, transparent 1px),
    linear-gradient(rgba(255, 255, 255, 0.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.04) 1px, transparent 1px);
  background-size: 24px 24px, 48px 48px, 48px 48px;
  opacity: 0.5;
}

.dc-cambia__dots {
  position: absolute;
  width: 72px;
  height: 72px;
  pointer-events: none;
  background: radial-gradient(circle, rgba(205, 204, 204, 0.35) 1.5px, transparent 1.5px);
  background-size: 10px 10px;
  opacity: 0.55;
}
.dc-cambia__dots--tr { top: 1.5rem; right: 1.5rem; }
.dc-cambia__dots--br { bottom: 1.5rem; right: 1.5rem; }

.dc-cambia__inner {
  position: relative;
  z-index: 1;
  width: min(1320px, calc(100% - 2.5rem));
  margin: 0 auto;
  padding: clamp(2.75rem, 6vw, 4.25rem) 0 clamp(3rem, 6vw, 4.5rem);
}

.dc-cambia__layout {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(2rem, 4vw, 3rem);
  align-items: start;
}
@media (min-width: 1024px) {
  .dc-cambia__layout {
    grid-template-columns: minmax(0, 1.12fr) minmax(0, 0.88fr);
    gap: clamp(1.5rem, 3vw, 2.5rem);
  }
}

/* — titolo — */
.dc-cambia__title-wrap {
  display: flex;
  align-items: flex-start;
  gap: 0.85rem;
  margin-bottom: clamp(1rem, 2vw, 1.35rem);
}
.dc-cambia__title-rail {
  position: relative;
  flex-shrink: 0;
  width: 2px;
  min-height: 4.5rem;
  margin-top: 0.35rem;
  background: linear-gradient(180deg, var(--acid), rgba(229, 255, 57, 0.2));
  border-radius: 1px;
}
.dc-cambia__title-rail span {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: 0.45rem;
  height: 0.45rem;
  border-radius: 50%;
  background: var(--acid);
  box-shadow: 0 0 10px rgba(229, 255, 57, 0.45);
}
.dc-cambia__title-rail span:nth-child(1) { top: 0; }
.dc-cambia__title-rail span:nth-child(2) {
  top: 50%;
  transform: translate(-50%, -50%);
}
.dc-cambia__title-rail span:nth-child(3) { bottom: 0; }

.dc-cambia__title {
  font-family: var(--font-impact);
  font-size: clamp(1.55rem, 3.5vw, 2.85rem);
  line-height: 0.96;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--acid);
  margin: 0;
}
.dc-cambia__title-line { display: block; }

.dc-cambia-kw-outline {
  color: transparent;
  -webkit-text-stroke: clamp(1.5px, 0.08em, 2px) var(--acid);
  paint-order: stroke fill;
  filter: drop-shadow(0 0 10px rgba(229, 255, 57, 0.2));
}

.dc-cambia__lead {
  font-family: var(--font-impact);
  font-size: clamp(0.82rem, 1.45vw, 1rem);
  line-height: 1.35;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: var(--gray-light);
  margin: 0 0 clamp(0.85rem, 1.6vw, 1.1rem);
  max-width: 42ch;
}
.dc-cambia__lead-mark {
  display: block;
  color: var(--acid);
  font-size: 0.75em;
  letter-spacing: 0.15em;
  margin-bottom: 0.35rem;
  opacity: 0.85;
}

.dc-cambia__text {
  font-size: clamp(0.9rem, 1.4vw, 1rem);
  line-height: 1.62;
  color: var(--gray-light);
  margin: 0 0 clamp(1.25rem, 2.5vw, 1.75rem);
  max-width: 48ch;
}
.dc-cambia-kw {
  color: var(--acid);
  font-weight: 600;
}

/* — benefits grid — */
.dc-cambia__benefits {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.55rem;
}
@media (min-width: 520px) {
  .dc-cambia__benefits { grid-template-columns: repeat(3, 1fr); }
}
@media (min-width: 900px) {
  .dc-cambia__benefits { grid-template-columns: repeat(5, 1fr); }
}

.dc-cambia-benefit {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 0.45rem;
  padding: 0.75rem 0.5rem 0.85rem;
  border-radius: 0.55rem;
  background: rgba(20, 0, 40, 0.55);
  border: 1px solid rgba(143, 0, 255, 0.35);
  transition: background 0.22s, border-color 0.22s, transform 0.22s;
}
.dc-cambia-benefit:hover {
  background: rgba(30, 0, 55, 0.72);
  border-color: rgba(229, 255, 57, 0.35);
  transform: translateY(-2px);
}
.dc-cambia-benefit__num {
  position: absolute;
  top: 0.4rem;
  left: 0.45rem;
  font-size: 0.58rem;
  letter-spacing: 0.06em;
  color: rgba(205, 204, 204, 0.45);
  font-weight: 600;
}
.dc-cambia-benefit__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.75rem;
  height: 1.75rem;
  color: var(--acid);
  margin-top: 0.35rem;
}
.dc-cambia-benefit__icon svg {
  width: 100%;
  height: 100%;
}
.dc-cambia-benefit p {
  font-size: clamp(0.62rem, 0.95vw, 0.74rem);
  line-height: 1.35;
  color: var(--gray-light);
  margin: 0;
}

/* — right panel — */
.dc-cambia__right {
  position: relative;
}
.dc-cambia__panel {
  position: relative;
  padding: clamp(1.1rem, 2vw, 1.5rem);
  border-radius: 0.25rem;
  background: rgba(8, 0, 18, 0.6);
  border: 1px solid rgba(205, 204, 204, 0.35);
  box-shadow:
    0 0 0 1px rgba(143, 0, 255, 0.2),
    0 24px 48px rgba(0, 0, 0, 0.35),
    inset 0 0 32px rgba(143, 0, 255, 0.06);
}

.dc-cambia__panel-corner {
  position: absolute;
  width: 1.1rem;
  height: 1.1rem;
  border-color: var(--acid);
  border-style: solid;
  opacity: 0.75;
}
.dc-cambia__panel-corner--tl {
  top: -1px;
  left: -1px;
  border-width: 2px 0 0 2px;
}
.dc-cambia__panel-corner--tr {
  top: -1px;
  right: -1px;
  border-width: 2px 2px 0 0;
}
.dc-cambia__panel-corner--bl {
  bottom: -1px;
  left: -1px;
  border-width: 0 0 0 2px;
  border-bottom-width: 2px;
}
.dc-cambia__panel-corner--br {
  bottom: -1px;
  right: -1px;
  border-width: 0 2px 2px 0;
}

.dc-cambia__panel-head {
  margin-bottom: clamp(0.85rem, 1.5vw, 1.1rem);
  padding-bottom: 0.7rem;
  border-bottom: 1px solid rgba(205, 204, 204, 0.2);
}
.dc-cambia__panel-mark {
  display: block;
  font-size: 0.65rem;
  letter-spacing: 0.15em;
  color: var(--acid);
  opacity: 0.7;
  margin-bottom: 0.4rem;
}
.dc-cambia__panel-title {
  font-family: var(--font-impact);
  font-size: clamp(0.78rem, 1.35vw, 0.95rem);
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--gray-light);
  margin: 0;
  line-height: 1.3;
}
.dc-cambia__panel-title .dc-cambia-kw {
  color: var(--acid);
}

.dc-cambia__checklist {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.5rem;
}
.dc-cambia__checklist li {
  position: relative;
  display: flex;
  align-items: center;
  gap: 0.65rem;
  padding: 0.55rem 0.75rem 0.55rem 2.4rem;
  border-radius: 2rem;
  border: 1px solid rgba(205, 204, 204, 0.28);
  background: rgba(255, 255, 255, 0.03);
  font-size: clamp(0.78rem, 1.15vw, 0.88rem);
  line-height: 1.4;
  color: var(--gray-light);
  transition: border-color 0.2s, background 0.2s;
}
.dc-cambia__checklist li:hover {
  border-color: rgba(229, 255, 57, 0.35);
  background: rgba(229, 255, 57, 0.04);
}
.dc-cambia__checklist li::before {
  content: "✓";
  position: absolute;
  left: 0.65rem;
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.15rem;
  height: 1.15rem;
  border-radius: 50%;
  font-size: 0.62rem;
  font-weight: 700;
  color: var(--gray-dark);
  background: var(--acid);
  flex-shrink: 0;
}

.dc-cambia__pager {
  display: flex;
  justify-content: flex-end;
  gap: 0.35rem;
  margin-top: 1rem;
  padding-right: 0.25rem;
}
.dc-cambia__pager span {
  width: 0.45rem;
  height: 0.45rem;
  border-radius: 50%;
  background: rgba(205, 204, 204, 0.35);
}
.dc-cambia__pager span.is-active {
  background: var(--acid);
  box-shadow: 0 0 8px rgba(229, 255, 57, 0.5);
}

.page-configurator .dc-cambia-benefit,
.page-configurator .dc-cambia__panel {
  transition:
    transform 0.3s var(--ease-out),
    box-shadow 0.3s var(--ease-out),
    border-color 0.3s;
}
.page-configurator .dc-cambia__panel:hover {
  border-color: rgba(229, 255, 57, 0.3);
  box-shadow:
    0 0 0 1px rgba(229, 255, 57, 0.1),
    0 28px 56px rgba(0, 0, 0, 0.4),
    inset 0 0 40px rgba(143, 0, 255, 0.1);
}

@media (prefers-reduced-motion: reduce) {
  .page-configurator .dc-cambia-benefit:hover,
  .page-configurator .dc-cambia__panel:hover {
    transform: none;
  }
}

/* ═══════════════════════════════════════════════════
   DC FAQ
═══════════════════════════════════════════════════ */
.section--dc-faq {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(ellipse 70% 50% at 20% 0%, rgba(143, 0, 255, 0.35), transparent 55%),
    radial-gradient(ellipse 60% 45% at 90% 100%, rgba(143, 0, 255, 0.25), transparent 50%),
    linear-gradient(180deg, #0d0018 0%, #120022 50%, #0a0014 100%);
  color: var(--gray-light);
}

.dc-faq__decor {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(rgba(143, 0, 255, 0.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(143, 0, 255, 0.05) 1px, transparent 1px);
  background-size: 56px 56px;
  opacity: 0.45;
  mask-image: linear-gradient(180deg, #000 0%, transparent 92%);
}

.dc-faq__glow {
  position: absolute;
  width: min(420px, 55vw);
  height: min(420px, 55vw);
  border-radius: 50%;
  pointer-events: none;
  filter: blur(80px);
  opacity: 0.35;
}
.dc-faq__glow--left {
  top: 8%;
  left: -8%;
  background: var(--purple);
}
.dc-faq__glow--right {
  bottom: 5%;
  right: -6%;
  background: rgba(229, 255, 57, 0.45);
}

.dc-faq__inner {
  position: relative;
  z-index: 1;
  width: min(1080px, calc(100% - 2.5rem));
  margin: 0 auto;
  padding: clamp(3rem, 7vw, 4.75rem) 0 clamp(3rem, 6vw, 4.5rem);
}

.dc-faq__head {
  text-align: center;
  margin-bottom: clamp(2rem, 4vw, 3rem);
}

.dc-faq__badge {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.35rem 0.85rem;
  margin: 0 0 1rem;
  border-radius: var(--radius-pill);
  border: 1px solid rgba(229, 255, 57, 0.35);
  background: rgba(229, 255, 57, 0.08);
  font-family: var(--font-impact);
  font-size: clamp(0.62rem, 1vw, 0.72rem);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--acid);
}

.dc-faq__title {
  font-family: var(--font-impact);
  font-size: clamp(1.85rem, 4.5vw, 3.35rem);
  line-height: 0.98;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: var(--acid);
  margin: 0 0 0.75rem;
}

.dc-faq-kw-outline {
  color: transparent;
  -webkit-text-stroke: clamp(1.5px, 0.07em, 2px) var(--acid);
  paint-order: stroke fill;
  filter: drop-shadow(0 0 14px rgba(229, 255, 57, 0.25));
}

.dc-faq__subtitle {
  max-width: 42ch;
  margin: 0 auto;
  font-size: clamp(0.88rem, 1.35vw, 1rem);
  line-height: 1.55;
  color: rgba(205, 204, 204, 0.75);
}

.dc-faq__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.75rem;
}
@media (min-width: 768px) {
  .dc-faq__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.85rem;
  }
}

.dc-faq-card {
  position: relative;
  border-radius: 1rem;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(143, 0, 255, 0.28);
  backdrop-filter: blur(14px);
  box-shadow:
    0 8px 28px rgba(0, 0, 0, 0.28),
    inset 0 1px 0 rgba(255, 255, 255, 0.06);
  overflow: hidden;
  transition:
    border-color 0.3s var(--ease-out),
    box-shadow 0.3s var(--ease-out),
    transform 0.3s var(--ease-out),
    background 0.3s var(--ease-out);
}

.dc-faq-card::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 3px;
  background: linear-gradient(180deg, var(--acid), var(--purple));
  opacity: 0;
  transition: opacity 0.3s var(--ease-out);
}

.dc-faq-card:hover,
.dc-faq-card[open] {
  border-color: rgba(229, 255, 57, 0.35);
  background: rgba(255, 255, 255, 0.06);
  box-shadow:
    0 14px 40px rgba(0, 0, 0, 0.35),
    0 0 32px rgba(143, 0, 255, 0.15),
    inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.dc-faq-card[open]::before,
.dc-faq-card:hover::before {
  opacity: 1;
}

.dc-faq-card__trigger {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 0.85rem;
  padding: clamp(0.95rem, 1.6vw, 1.15rem) clamp(1rem, 1.8vw, 1.25rem);
  cursor: pointer;
  list-style: none;
  outline: none;
}

.dc-faq-card__trigger::-webkit-details-marker {
  display: none;
}

.dc-faq-card__num {
  font-family: var(--font-impact);
  font-size: clamp(0.72rem, 1.1vw, 0.82rem);
  letter-spacing: 0.08em;
  color: rgba(229, 255, 57, 0.55);
  transition: color 0.3s;
}

.dc-faq-card[open] .dc-faq-card__num,
.dc-faq-card:hover .dc-faq-card__num {
  color: var(--acid);
}

.dc-faq-card__question {
  font-family: var(--font-impact);
  font-size: clamp(0.78rem, 1.35vw, 0.95rem);
  line-height: 1.25;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: var(--gray-light);
  transition: color 0.3s;
}

.dc-faq-card[open] .dc-faq-card__question,
.dc-faq-card:hover .dc-faq-card__question {
  color: var(--acid);
}

.dc-faq-card__toggle {
  position: relative;
  width: 1.65rem;
  height: 1.65rem;
  flex-shrink: 0;
  border-radius: 50%;
  border: 1px solid rgba(229, 255, 57, 0.35);
  background: rgba(229, 255, 57, 0.08);
  transition:
    transform 0.35s var(--ease-out),
    background 0.3s,
    border-color 0.3s;
}

.dc-faq-card__toggle::before,
.dc-faq-card__toggle::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0.55rem;
  height: 1.5px;
  background: var(--acid);
  transform: translate(-50%, -50%);
  transition: transform 0.35s var(--ease-out);
}

.dc-faq-card__toggle::after {
  transform: translate(-50%, -50%) rotate(90deg);
}

.dc-faq-card[open] .dc-faq-card__toggle {
  background: var(--acid);
  border-color: var(--acid);
  transform: rotate(90deg);
}

.dc-faq-card[open] .dc-faq-card__toggle::before,
.dc-faq-card[open] .dc-faq-card__toggle::after {
  background: var(--gray-dark);
}

.dc-faq-card[open] .dc-faq-card__toggle::after {
  transform: translate(-50%, -50%) rotate(90deg) scaleX(0);
}

.dc-faq-card__body {
  padding: 0 clamp(1rem, 1.8vw, 1.25rem) clamp(1rem, 1.8vw, 1.25rem);
  padding-left: calc(clamp(1rem, 1.8vw, 1.25rem) + 2.1rem);
  border-top: 1px solid rgba(143, 0, 255, 0.2);
  animation: dc-faq-open 0.35s var(--ease-out);
}

.dc-faq-card__body p {
  font-size: clamp(0.82rem, 1.2vw, 0.92rem);
  line-height: 1.62;
  color: rgba(205, 204, 204, 0.85);
  margin: 0 0 0.55rem;
}

.dc-faq-card__body p:last-child {
  margin-bottom: 0;
}

@keyframes dc-faq-open {
  from {
    opacity: 0;
    transform: translateY(-6px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.page-configurator .dc-faq-card:hover {
  transform: translateY(-2px);
}

.page-configurator .dc-faq-card[open] {
  transform: translateY(-2px);
}

@media (prefers-reduced-motion: reduce) {
  .dc-faq-card__body {
    animation: none;
  }

  .page-configurator .dc-faq-card:hover,
  .page-configurator .dc-faq-card[open] {
    transform: none;
  }
}

/* ——— iMedia Digital Configurator: contatti ——— */
.section--dc-contact .bestia-contact__title {
  max-width: 24ch;
}

.dc-contact-kw {
  color: var(--acid);
  font-weight: 600;
}

.page-configurator .bestia-contact__form {
  transition:
    transform 0.35s var(--ease-out),
    border-color var(--transition),
    box-shadow var(--transition);
}

.page-configurator .bestia-contact__form:hover {
  transform: translateY(-3px);
  border-color: rgba(229, 255, 57, 0.55);
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.22);
}

.page-configurator .bestia-contact__field input,
.page-configurator .bestia-contact__field textarea,
.page-configurator .bestia-contact__dropdown-trigger {
  transition:
    border-color var(--transition),
    box-shadow var(--transition),
    background var(--transition);
}

.page-configurator .bestia-contact__submit {
  transition:
    transform var(--transition),
    box-shadow var(--transition);
}

.page-configurator .bestia-contact__submit:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(143, 0, 255, 0.35);
}

@media (prefers-reduced-motion: reduce) {
  .page-configurator .bestia-contact__form:hover,
  .page-configurator .bestia-contact__submit:hover {
    transform: none;
  }
}

/* ——— Footer ——— */
.site-footer {
  background: var(--gray-dark);
  color: var(--gray-light);
  border-top: 2px solid var(--acid);
}

.site-footer__inner {
  width: min(1200px, calc(100% - 2.5rem));
  margin: 0 auto;
  padding: clamp(1.35rem, 3vw, 1.85rem) 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.25rem;
}

.site-footer__left,
.site-footer__right {
  display: grid;
  gap: 0.65rem;
}

.site-footer__left {
  justify-items: start;
}

.site-footer__right {
  justify-items: start;
}

.site-footer__logo img {
  width: clamp(110px, 10vw, 145px);
  height: auto;
}

.site-footer__address {
  font-style: normal;
  font-size: 0.86rem;
  line-height: 1.45;
  text-align: left;
}

.site-footer__addresses {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.85rem 1.25rem;
}

.site-footer__address-label {
  display: block;
  margin-bottom: 0.25rem;
  font-family: var(--font-impact);
  font-size: 0.55rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--acid);
}

.site-footer__address--legal {
  color: rgba(205, 204, 204, 0.88);
}

.site-footer__contacts {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 0.5rem 1.25rem;
}

.site-footer__contacts a {
  font-size: 0.92rem;
  color: var(--white);
  transition: color var(--transition);
}

.site-footer__contacts a:hover {
  color: var(--acid);
}

.site-footer__nav {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem 1rem;
}

.site-footer__nav a {
  font-family: var(--font-impact);
  font-size: 0.78rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--white);
  transition: color var(--transition);
}

.site-footer__nav a:hover {
  color: var(--acid);
}

.site-footer__social {
  display: flex;
  gap: 0.75rem;
  align-items: center;
}

.social-icon {
  width: 2.1rem;
  height: 2.1rem;
  border-radius: 50%;
  border: 1px solid rgba(229, 255, 57, 0.35);
  background: rgba(0, 0, 0, 0.3);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--acid);
  transition:
    border-color var(--transition),
    transform var(--transition),
    box-shadow var(--transition);
}

.social-icon svg {
  width: 1.15rem;
  height: 1.15rem;
  fill: currentColor;
}

.social-icon:hover {
  border-color: rgba(229, 255, 57, 0.7);
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(229, 255, 57, 0.18);
}

.site-footer__copy {
  font-size: 0.78rem;
  color: rgba(205, 204, 204, 0.65);
  text-align: center;
  padding: 0 1.25rem 0.9rem;
}

@media (max-width: 599px) {
  .site-footer__addresses {
    grid-template-columns: 1fr;
    gap: 0.75rem;
  }
}

@media (min-width: 900px) {
  .site-footer__inner {
    grid-template-columns: 1fr auto;
    align-items: start;
    column-gap: clamp(2rem, 5vw, 4rem);
  }

  .site-footer__right {
    justify-items: end;
    text-align: right;
  }

  .site-footer__nav {
    justify-content: flex-end;
  }
}

@media (min-width: 1280px) {
  .site-footer__inner {
    width: min(1360px, calc(100% - 5rem));
    padding: clamp(1.5rem, 2.5vw, 2rem) 0;
  }

  .site-footer__left {
    gap: 0.75rem;
  }

  .site-footer__right {
    gap: 0.75rem;
    align-content: start;
  }
}

/* ═══════════════════════════════════════════════════
   iMedia Multiverse Controller
═══════════════════════════════════════════════════ */
.page-multiverse {
  background: #030008;
  color: var(--gray-light);
}

/* —— Hero —— */
.hero--multiverse {
  position: relative;
  overflow: hidden;
  min-height: 100svh;
  padding: calc(var(--header-h) + 1rem) 0 clamp(2rem, 4vh, 3rem);
  background: #030008;
}

.hero--multiverse__bg {
  position: absolute;
  inset: 0;
  margin: 0;
  line-height: 0;
}

.hero--multiverse__bg-image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}

.hero--multiverse__veil {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(
    90deg,
    rgba(3, 0, 8, 0.08) 0%,
    rgba(3, 0, 8, 0.18) 28%,
    rgba(3, 0, 8, 0.62) 52%,
    rgba(3, 0, 8, 0.88) 68%,
    rgba(3, 0, 8, 0.94) 100%
  );
}

.hero--multiverse__inner {
  position: relative;
  z-index: 2;
  width: min(1320px, calc(100% - 2.5rem));
  margin: 0 auto;
  min-height: calc(100svh - var(--header-h) - 2rem);
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

.hero--multiverse__copy {
  width: 100%;
  max-width: min(34rem, 100%);
  margin-left: auto;
  text-align: right;
}

.hero--multiverse__badge {
  display: inline-block;
  margin: 0 0 0.85rem;
  padding: 0.28rem 0.55rem;
  border-radius: 0.35rem;
  font-family: var(--font-impact);
  font-size: clamp(0.62rem, 1.1vw, 0.72rem);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--gray-dark);
  background: var(--acid);
  box-shadow: 0 0 20px rgba(229, 255, 57, 0.25);
}

.hero--multiverse__title-flag {
  display: flex;
  justify-content: flex-end;
  width: 100%;
  margin-bottom: clamp(1rem, 2vw, 1.35rem);
  transform: skewY(-3deg);
  transform-origin: right center;
}

.hero--multiverse__title {
  font-family: var(--font-impact);
  font-size: clamp(1.45rem, 3.8vw, 2.85rem);
  line-height: 0.98;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--acid);
  margin: 0;
  text-align: right;
  text-shadow:
    0 2px 24px rgba(0, 0, 0, 0.55),
    0 0 40px rgba(229, 255, 57, 0.15);
}

.hero--multiverse__title-line {
  display: block;
}

.multiverse-kw-outline {
  color: transparent;
  -webkit-text-stroke: clamp(1.5px, 0.08em, 2.5px) var(--acid);
  paint-order: stroke fill;
  filter: drop-shadow(0 0 10px rgba(229, 255, 57, 0.2));
}

.hero--multiverse__body {
  display: grid;
  gap: clamp(0.7rem, 1.4vw, 0.95rem);
  margin-bottom: clamp(1.15rem, 2.2vw, 1.5rem);
}

.hero--multiverse__body p {
  font-size: clamp(0.9rem, 1.4vw, 1.02rem);
  line-height: 1.62;
  color: var(--gray-light);
  margin: 0;
}

.multiverse-text-kw {
  color: var(--acid);
  font-weight: 600;
}

.hero--multiverse__punch {
  display: grid;
  gap: 0.2rem;
  margin-top: 0.15rem;
}

.hero--multiverse__punch p {
  font-family: var(--font-impact);
  font-size: clamp(0.82rem, 1.35vw, 0.95rem);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--acid);
}

.hero--multiverse__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.75rem;
}

@media (max-width: 720px) {
  .hero--multiverse__veil {
    background: linear-gradient(
      180deg,
      rgba(3, 0, 8, 0.35) 0%,
      rgba(3, 0, 8, 0.72) 42%,
      rgba(3, 0, 8, 0.94) 100%
    );
  }

  .hero--multiverse__inner {
    align-items: flex-end;
    padding-bottom: 1.5rem;
  }

  .hero--multiverse__copy {
    text-align: left;
    max-width: 100%;
  }

  .hero--multiverse__title-flag {
    justify-content: flex-start;
    transform: none;
    transform-origin: left center;
  }

  .hero--multiverse__title {
    text-align: left;
    font-size: clamp(1.35rem, 7vw, 2rem);
  }

  .hero--multiverse__actions {
    justify-content: flex-start;
  }
}

@media (prefers-reduced-motion: reduce) {
  .hero--multiverse__title-flag {
    transform: none;
  }
}

/* —— Problema / Soluzione —— */
.section--mv-ps {
  position: relative;
  overflow: hidden;
  background: var(--gray-light);
  color: var(--gray-dark);
}

.mv-ps__decor {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 12% 18%, rgba(143, 0, 255, 0.07), transparent 26%),
    radial-gradient(circle at 88% 82%, rgba(229, 255, 57, 0.05), transparent 28%),
    radial-gradient(circle, rgba(143, 0, 255, 0.1) 1px, transparent 1px);
  background-size: auto, auto, 22px 22px;
  opacity: 0.9;
}

.mv-ps__inner {
  position: relative;
  z-index: 1;
  width: min(1320px, calc(100% - 2.5rem));
  margin: 0 auto;
  padding: clamp(2.75rem, 6vw, 4.25rem) 0 clamp(3rem, 6vw, 4.5rem);
}

.mv-ps__split {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(1.25rem, 2.5vw, 1.75rem);
  align-items: stretch;
}

@media (min-width: 1024px) {
  .mv-ps__split {
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    gap: clamp(0.85rem, 1.6vw, 1.25rem);
  }
}

.mv-ps__panel {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: clamp(1.15rem, 2.2vw, 1.65rem);
  border-radius: 1rem;
  background: #fff;
  border: 1px solid rgba(143, 0, 255, 0.1);
  box-shadow: 0 14px 36px rgba(52, 52, 52, 0.08);
  transition:
    transform 0.35s var(--ease-out),
    border-color var(--transition),
    box-shadow var(--transition);
}

.mv-ps__panel--problem {
  border-top: 3px solid var(--gray-dark);
}

.mv-ps__panel--solution {
  border-top: 3px solid var(--purple);
}

.page-multiverse .mv-ps__panel:hover {
  transform: translateY(-4px);
  border-color: rgba(143, 0, 255, 0.28);
  box-shadow:
    0 20px 44px rgba(52, 52, 52, 0.12),
    0 0 28px rgba(143, 0, 255, 0.08);
}

.mv-ps__badge {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  margin: 0 0 clamp(0.85rem, 1.6vw, 1.1rem);
  padding: 0.35rem 0.75rem 0.35rem 0.55rem;
  border-radius: var(--radius-pill);
  font-family: var(--font-impact);
  font-size: clamp(0.58rem, 1vw, 0.68rem);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.mv-ps__badge--problem {
  color: var(--gray-dark);
  background: var(--gray-light);
  border: 1px solid rgba(52, 52, 52, 0.1);
}

.mv-ps__badge--solution {
  color: var(--gray-dark);
  background: rgba(143, 0, 255, 0.08);
  border: 1px solid rgba(143, 0, 255, 0.22);
}

.mv-ps__badge-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.35rem;
  height: 1.35rem;
  border-radius: 50%;
  font-size: 0.72rem;
  font-weight: 700;
}

.mv-ps__badge--problem .mv-ps__badge-icon {
  color: #fff;
  background: var(--gray-dark);
}

.mv-ps__badge--solution .mv-ps__badge-icon {
  color: var(--gray-dark);
  background: var(--acid);
}

.mv-ps__title {
  font-family: var(--font-impact);
  font-size: clamp(1.1rem, 2.2vw, 1.75rem);
  line-height: 1.02;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--purple);
  margin: 0 0 clamp(0.9rem, 1.8vw, 1.15rem);
}

.mv-ps-kw-outline {
  color: transparent;
  -webkit-text-stroke: clamp(1.5px, 0.08em, 2px) var(--purple);
  paint-order: stroke fill;
  filter: drop-shadow(0 0 10px rgba(143, 0, 255, 0.12));
}

.mv-ps-text-kw {
  color: var(--purple);
  font-weight: 600;
}

.mv-ps__intro {
  font-size: clamp(0.9rem, 1.4vw, 1rem);
  line-height: 1.58;
  color: var(--gray-dark);
  margin: 0 0 clamp(1rem, 2vw, 1.25rem);
}

.mv-ps__footer {
  font-size: clamp(0.82rem, 1.25vw, 0.92rem);
  line-height: 1.55;
  color: rgba(52, 52, 52, 0.78);
  margin: clamp(0.85rem, 1.6vw, 1.1rem) 0 0;
}

.mv-ps__bridge {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  padding: 0.5rem 0;
}

@media (min-width: 1024px) {
  .mv-ps__bridge {
    flex-direction: column;
    align-self: center;
  }
}

.mv-ps__bridge-line {
  display: none;
}

.mv-ps__bridge-pulse {
  width: 0.55rem;
  height: 0.55rem;
  border-radius: 50%;
  background: var(--acid);
  box-shadow: 0 0 16px rgba(229, 255, 57, 0.55);
  animation: mv-ps-pulse 2s ease-in-out infinite;
}

@keyframes mv-ps-pulse {
  0%,
  100% {
    transform: scale(1);
    opacity: 1;
  }
  50% {
    transform: scale(1.35);
    opacity: 0.65;
  }
}

.mv-ps__bridge-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.35rem;
  height: 2.35rem;
  border-radius: 50%;
  background: var(--acid);
  color: var(--gray-dark);
  box-shadow: 0 0 22px rgba(229, 255, 57, 0.45);
  transition: transform 0.3s var(--ease-out), box-shadow 0.3s;
}

.mv-ps__bridge-icon svg {
  width: 1.15rem;
  height: 1.15rem;
}

@media (max-width: 1023px) {
  .mv-ps__bridge-icon svg {
    transform: rotate(90deg);
  }
}

.page-multiverse .mv-ps__bridge:hover .mv-ps__bridge-icon {
  transform: scale(1.08);
  box-shadow: 0 0 28px rgba(229, 255, 57, 0.65);
}

.mv-ps__viz {
  position: relative;
  margin-bottom: 0.25rem;
}

.mv-ps__viz--problem {
  min-height: 13.5rem;
  padding: 1rem;
  border-radius: 0.75rem;
  background: linear-gradient(145deg, rgba(52, 52, 52, 0.04), rgba(143, 0, 255, 0.04));
  border: 1px dashed rgba(143, 0, 255, 0.2);
  overflow: hidden;
}

.mv-ps__viz-mesh {
  position: absolute;
  inset: 0;
  background: radial-gradient(circle, rgba(143, 0, 255, 0.08) 1px, transparent 1px);
  background-size: 16px 16px;
  opacity: 0.6;
}

.mv-ps__viz-wires {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  opacity: 0.55;
}

.mv-ps__viz-wires path {
  fill: none;
  stroke: rgba(143, 0, 255, 0.35);
  stroke-width: 1.5;
  stroke-dasharray: 5 6;
}

.mv-ps__chips {
  position: relative;
  z-index: 1;
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  max-width: 78%;
}

.mv-ps__chip {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.35rem 0.55rem;
  border-radius: 0.45rem;
  background: #fff;
  border: 1px solid rgba(143, 0, 255, 0.18);
  font-size: 0.68rem;
  font-weight: 600;
  color: var(--gray-dark);
  transform: rotate(var(--r, 0deg));
  box-shadow: 0 6px 14px rgba(52, 52, 52, 0.08);
  transition: transform 0.25s var(--ease-out), border-color 0.25s;
}

.page-multiverse .mv-ps__chip:hover {
  transform: rotate(0deg) translateY(-2px);
  border-color: rgba(143, 0, 255, 0.4);
}

.mv-ps__chip-icon {
  display: flex;
  width: 0.95rem;
  height: 0.95rem;
  color: var(--purple);
}

.mv-ps__chip-icon svg {
  width: 100%;
  height: 100%;
}

.mv-ps__alert-card {
  position: absolute;
  right: 0.75rem;
  bottom: 0.75rem;
  z-index: 2;
  min-width: 7.5rem;
  padding: 0.65rem 0.75rem;
  border-radius: 0.55rem;
  background: #fff;
  border: 1px solid rgba(52, 52, 52, 0.12);
  box-shadow: 0 10px 24px rgba(52, 52, 52, 0.12);
  text-align: center;
}

.mv-ps__alert-label {
  display: block;
  font-size: 0.58rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(52, 52, 52, 0.55);
}

.mv-ps__alert-value {
  display: block;
  font-family: var(--font-impact);
  font-size: 1.15rem;
  color: #c0392b;
  line-height: 1.1;
  margin: 0.15rem 0;
}

.mv-ps__alert-note {
  display: block;
  font-size: 0.62rem;
  color: rgba(52, 52, 52, 0.65);
}

.mv-ps__hub {
  position: relative;
  min-height: 15rem;
  margin-bottom: 0.5rem;
  padding: 1rem;
  border-radius: 0.75rem;
  background: linear-gradient(145deg, rgba(143, 0, 255, 0.06), rgba(229, 255, 57, 0.04));
  border: 1px solid rgba(143, 0, 255, 0.18);
  overflow: hidden;
}

.mv-ps__hub-wires {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.mv-ps__hub-wires path {
  fill: none;
  stroke: rgba(143, 0, 255, 0.35);
  stroke-width: 1.5;
  stroke-dasharray: 4 5;
}

.mv-ps__hub-core {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 5.5rem;
  height: 5.5rem;
  border-radius: 1rem;
  background: linear-gradient(145deg, #1a0035, #0d0018);
  border: 1px solid rgba(229, 255, 57, 0.35);
  box-shadow: 0 0 28px rgba(143, 0, 255, 0.35);
  color: var(--acid);
  font-family: var(--font-impact);
  text-align: center;
  line-height: 1;
}

.mv-ps__hub-core span {
  font-size: 1.35rem;
  letter-spacing: 0.04em;
}

.mv-ps__hub-core small {
  font-size: 0.52rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--gray-light);
  margin-top: 0.2rem;
}

.mv-ps__hub-nodes {
  position: absolute;
  z-index: 1;
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  gap: 0.45rem;
}

.mv-ps__hub-nodes li {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  padding: 0.35rem 0.55rem;
  border-radius: 2rem;
  background: #fff;
  border: 1px solid rgba(143, 0, 255, 0.2);
  font-size: 0.65rem;
  font-weight: 600;
  color: var(--gray-dark);
  box-shadow: 0 6px 14px rgba(52, 52, 52, 0.08);
  transition: transform 0.25s, border-color 0.25s;
}

.page-multiverse .mv-ps__hub-nodes li:hover {
  transform: translateY(-2px);
  border-color: rgba(229, 255, 57, 0.45);
}

.mv-ps__hub-nodes li span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.1rem;
  height: 1.1rem;
  border-radius: 50%;
  background: rgba(143, 0, 255, 0.1);
  color: var(--purple);
  font-size: 0.58rem;
  font-weight: 700;
}

.mv-ps__hub-nodes--top {
  top: 0.5rem;
  left: 50%;
  transform: translateX(-50%);
}

.mv-ps__hub-nodes--mid {
  top: 50%;
  left: 0.25rem;
  right: 0.25rem;
  justify-content: space-between;
  transform: translateY(-50%);
}

.mv-ps__hub-nodes--bottom {
  bottom: 0.5rem;
  left: 50%;
  transform: translateX(-50%);
  flex-wrap: wrap;
  justify-content: center;
  max-width: 92%;
}

.page-multiverse .mv-ps__hub {
  transition: box-shadow 0.35s var(--ease-out);
}

.page-multiverse .mv-ps__hub:hover {
  box-shadow: inset 0 0 32px rgba(143, 0, 255, 0.08);
}

@media (prefers-reduced-motion: reduce) {
  .mv-ps__bridge-pulse {
    animation: none;
  }

  .page-multiverse .mv-ps__panel:hover,
  .page-multiverse .mv-ps__chip:hover,
  .page-multiverse .mv-ps__hub-nodes li:hover {
    transform: none;
  }
}

/* —— Regia unica —— */
.section--mv-regia {
  position: relative;
  overflow: hidden;
  background: #f0f0f0;
  color: var(--gray-dark);
}

.mv-regia__inner {
  width: min(1320px, calc(100% - 2.5rem));
  margin: 0 auto;
  padding: clamp(2.75rem, 6vw, 4.25rem) 0 clamp(3rem, 6vw, 4.5rem);
}

.mv-regia__head {
  margin-bottom: clamp(2rem, 4vw, 3rem);
  text-align: center;
}

.mv-regia__eyebrow {
  font-family: var(--font-impact);
  font-size: clamp(0.62rem, 1vw, 0.72rem);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--purple);
  margin: 0 0 0.65rem;
  text-align: left;
}

.mv-regia__head-title {
  font-family: var(--font-impact);
  font-size: clamp(1.45rem, 3.2vw, 2.35rem);
  line-height: 1.02;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: var(--gray-dark);
  margin: 0 auto;
  text-align: center;
  max-width: 20ch;
}

.mv-regia-kw {
  color: var(--purple);
}

.mv-regia-kw-outline {
  color: transparent;
  -webkit-text-stroke: clamp(1.5px, 0.08em, 2px) var(--purple);
  paint-order: stroke fill;
  filter: drop-shadow(0 0 10px rgba(143, 0, 255, 0.12));
}

.mv-regia-text-kw {
  color: var(--purple);
  font-weight: 600;
}

.mv-regia__stage {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(1.5rem, 3vw, 2rem);
  align-items: start;
  margin-bottom: clamp(2rem, 4vw, 3rem);
}

@media (min-width: 1100px) {
  .mv-regia__stage {
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.35fr) minmax(0, 0.9fr);
    gap: clamp(0.75rem, 1.5vw, 1.25rem);
    align-items: center;
  }
}

.mv-regia__col--problem {
  display: grid;
  gap: 0.85rem;
}

.mv-regia__panel-title {
  font-family: var(--font-impact);
  font-size: clamp(1.65rem, 3vw, 2.35rem);
  line-height: 0.98;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--gray-dark);
  margin: 0;
}

.mv-regia__lead {
  font-family: var(--font-impact);
  font-size: clamp(0.82rem, 1.35vw, 0.95rem);
  line-height: 1.35;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: var(--purple);
  margin: 0;
}

.mv-regia__copy {
  display: grid;
  gap: 0.65rem;
}

.mv-regia__copy p {
  font-size: clamp(0.82rem, 1.2vw, 0.92rem);
  line-height: 1.58;
  color: rgba(52, 52, 52, 0.88);
  margin: 0;
}

.mv-regia__list {
  margin: 0;
  padding: 0 0 0 1rem;
  display: grid;
  gap: 0.25rem;
}

.mv-regia__list li {
  font-size: clamp(0.82rem, 1.2vw, 0.92rem);
  line-height: 1.45;
  color: rgba(52, 52, 52, 0.88);
}

.mv-regia__visual {
  margin: 0;
  position: relative;
  z-index: 1;
}

.mv-regia__visual-image {
  display: block;
  width: 100%;
  height: auto;
  filter: drop-shadow(0 20px 48px rgba(52, 52, 52, 0.14));
  transition: transform 0.45s var(--ease-out), filter 0.45s;
}

.page-multiverse .mv-regia__visual:hover .mv-regia__visual-image {
  transform: scale(1.015);
  filter: drop-shadow(0 28px 56px rgba(143, 0, 255, 0.18));
}

.mv-regia__col--solution .mv-regia__copy {
  gap: 0.75rem;
}

.mv-regia__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.75rem;
  margin-bottom: clamp(2rem, 4vw, 2.75rem);
}

@media (min-width: 520px) {
  .mv-regia__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 900px) {
  .mv-regia__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (min-width: 1200px) {
  .mv-regia__grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
}

.mv-regia-card {
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
  padding: clamp(0.85rem, 1.5vw, 1rem);
  border-radius: 0.75rem;
  background: #fff;
  border: 1px solid rgba(143, 0, 255, 0.1);
  box-shadow: 0 10px 28px rgba(52, 52, 52, 0.07);
  transition: transform 0.3s var(--ease-out), border-color 0.3s, box-shadow 0.3s;
}

.page-multiverse .mv-regia-card:hover {
  transform: translateY(-4px);
  border-color: rgba(143, 0, 255, 0.28);
  box-shadow: 0 16px 36px rgba(52, 52, 52, 0.1), 0 0 24px rgba(143, 0, 255, 0.08);
}

.mv-regia-card__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.65rem;
  height: 1.65rem;
  color: var(--acid);
  filter: drop-shadow(0 0 8px rgba(229, 255, 57, 0.35));
}

.mv-regia-card__icon svg {
  width: 100%;
  height: 100%;
  stroke: var(--gray-dark);
}

.mv-regia-card__title {
  font-family: var(--font-impact);
  font-size: clamp(0.72rem, 1.1vw, 0.82rem);
  line-height: 1.2;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: var(--gray-dark);
  margin: 0;
}

.mv-regia-card__text {
  font-size: clamp(0.72rem, 1.05vw, 0.8rem);
  line-height: 1.45;
  color: rgba(52, 52, 52, 0.78);
  margin: 0;
}

.mv-regia__tagline {
  font-family: var(--font-impact);
  font-size: clamp(0.82rem, 1.45vw, 1.05rem);
  line-height: 1.35;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  text-align: center;
  color: var(--gray-dark);
  margin: 0 auto;
  max-width: 52ch;
}

@media (prefers-reduced-motion: reduce) {
  .page-multiverse .mv-regia-card:hover,
  .page-multiverse .mv-regia__visual:hover .mv-regia__visual-image {
    transform: none;
  }
}

/* —— Cosa può controllare Multiverse Controller —— */
.section--mv-controlla {
  position: relative;
  overflow: hidden;
  background: var(--purple);
  color: var(--gray-light);
}

.section--mv-controlla::before {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(ellipse at 12% 18%, rgba(229, 255, 57, 0.08), transparent 32%),
    radial-gradient(ellipse at 88% 82%, rgba(0, 0, 0, 0.22), transparent 40%);
}

.mv-controlla__inner {
  position: relative;
  z-index: 1;
  width: min(1320px, calc(100% - 2.5rem));
  margin: 0 auto;
  padding: clamp(2.75rem, 6vw, 4.25rem) 0 clamp(3rem, 6vw, 4.5rem);
}

.mv-controlla__intro {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(1.5rem, 3vw, 2rem);
  align-items: center;
  margin-bottom: clamp(1.75rem, 3.5vw, 2.5rem);
}

@media (min-width: 900px) {
  .mv-controlla__intro {
    grid-template-columns: minmax(0, 0.88fr) minmax(0, 1.02fr);
    gap: clamp(1rem, 2.5vw, 2rem);
    align-items: center;
  }
}

.mv-controlla__head {
  display: grid;
  gap: clamp(0.85rem, 1.8vw, 1.25rem);
  max-width: 36rem;
}

.mv-controlla__title {
  font-family: var(--font-impact);
  font-size: clamp(1.65rem, 4vw, 3.1rem);
  line-height: 0.98;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: #fff;
  margin: 0;
}

.mv-controlla__title-line {
  display: block;
}

.mv-controlla-kw {
  color: var(--acid);
}

.mv-controlla-kw-outline {
  color: transparent;
  -webkit-text-stroke: clamp(1px, 0.06em, 2px) var(--acid);
  paint-order: stroke fill;
  filter: drop-shadow(0 0 10px rgba(229, 255, 57, 0.2));
}

.mv-controlla-text-kw {
  color: var(--acid);
  font-weight: 600;
}

.mv-controlla__lead {
  font-size: clamp(0.88rem, 1.35vw, 1rem);
  line-height: 1.62;
  color: rgba(205, 204, 204, 0.92);
  margin: 0;
  max-width: 42ch;
}

.mv-controlla__hub {
  margin: 0;
  width: min(100%, 24rem);
  margin-left: auto;
  transform: skewY(-3.5deg);
  transform-origin: right center;
  filter: drop-shadow(0 18px 36px rgba(0, 0, 0, 0.28));
  transition: transform 0.45s var(--ease-out), filter 0.45s;
}

@media (min-width: 900px) {
  .mv-controlla__hub {
    width: min(100%, 36rem);
    justify-self: end;
  }
}

.page-multiverse .mv-controlla__hub:hover {
  transform: skewY(-3.5deg) translateY(-4px) scale(1.02);
  filter: drop-shadow(0 22px 44px rgba(0, 0, 0, 0.34));
}

.mv-controlla__hub-image {
  display: block;
  width: 100%;
  height: auto;
}

@media (max-width: 899px) {
  .mv-controlla__hub {
    width: min(100%, 22rem);
    margin-left: auto;
    margin-right: 0;
    transform: skewY(-2.5deg);
  }

  .page-multiverse .mv-controlla__hub:hover {
    transform: skewY(-2.5deg) translateY(-3px) scale(1.01);
  }
}

.mv-controlla-panel {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: clamp(1rem, 2vw, 1.5rem);
  align-items: start;
  padding: clamp(1.15rem, 2.2vw, 1.65rem);
  margin-bottom: clamp(1rem, 2vw, 1.35rem);
  border-radius: 0.85rem;
  background: rgba(8, 0, 18, 0.42);
  border: 1px solid rgba(229, 255, 57, 0.14);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

.mv-controlla-panel--audience {
  grid-template-columns: auto 1fr;
  grid-template-rows: auto auto;
}

.mv-controlla-panel__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 0.55rem;
  background: rgba(0, 0, 0, 0.35);
  border: 1px solid rgba(143, 0, 255, 0.35);
  color: var(--acid);
  flex-shrink: 0;
}

.mv-controlla-panel__icon svg {
  width: 1.35rem;
  height: 1.35rem;
}

.mv-controlla-panel__copy {
  min-width: 0;
}

.mv-controlla-panel__title {
  font-family: var(--font-impact);
  font-size: clamp(1rem, 2vw, 1.45rem);
  line-height: 1.05;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: #fff;
  margin: 0 0 0.55rem;
}

.mv-controlla-panel__text {
  font-size: clamp(0.82rem, 1.2vw, 0.92rem);
  line-height: 1.58;
  color: rgba(205, 204, 204, 0.82);
  margin: 0;
  max-width: 52ch;
}

.mv-controlla-panel__chips {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.65rem 1rem;
  list-style: none;
  margin: 0.35rem 0 0;
  padding: 0;
}

.mv-controlla-panel__chips li {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.35rem;
  text-align: center;
  font-size: clamp(0.68rem, 1vw, 0.78rem);
  font-weight: 600;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--acid);
}

.mv-controlla-panel__chip-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.65rem;
  height: 1.65rem;
}

.mv-controlla-panel__chip-icon svg {
  width: 100%;
  height: 100%;
}

.mv-controlla-audience {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.55rem;
  margin-top: 0.35rem;
}

.mv-controlla-audience__card {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  min-height: 4.5rem;
  padding: 0.65rem 0.45rem;
  border-radius: 0.55rem;
  background: #fff;
  border: 1px solid rgba(143, 0, 255, 0.12);
  text-align: center;
  transition: transform 0.3s var(--ease-out), box-shadow 0.3s;
}

.page-multiverse .mv-controlla-audience__card:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.18);
}

.mv-controlla-audience__icon {
  font-size: 1.15rem;
  line-height: 1;
}

.mv-controlla-audience__label {
  font-size: clamp(0.62rem, 0.95vw, 0.72rem);
  line-height: 1.25;
  font-weight: 600;
  color: var(--gray-dark);
}

.mv-controlla__tagline {
  display: flex;
  align-items: center;
  gap: clamp(0.75rem, 2vw, 1.25rem);
  margin-top: clamp(1.5rem, 3vw, 2.25rem);
}

.mv-controlla__tagline-line {
  flex: 1;
  height: 1px;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(229, 255, 57, 0.45) 40%,
    rgba(229, 255, 57, 0.45) 60%,
    transparent
  );
  position: relative;
}

.mv-controlla__tagline-line::before,
.mv-controlla__tagline-line::after {
  content: '';
  position: absolute;
  top: 50%;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--acid);
  transform: translateY(-50%);
  box-shadow: 0 0 10px rgba(229, 255, 57, 0.45);
}

.mv-controlla__tagline-line::before {
  left: 0;
}

.mv-controlla__tagline-line::after {
  right: 0;
}

.mv-controlla__tagline p {
  font-family: var(--font-impact);
  font-size: clamp(0.72rem, 1.25vw, 0.9rem);
  line-height: 1.35;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  text-align: center;
  color: rgba(205, 204, 204, 0.9);
  margin: 0;
  max-width: 52ch;
  flex-shrink: 0;
}

@media (min-width: 720px) {
  .mv-controlla-panel {
    grid-template-columns: auto minmax(0, 1fr) minmax(0, 0.95fr);
    align-items: center;
  }

  .mv-controlla-panel--audience {
    grid-template-columns: auto minmax(0, 0.42fr) minmax(0, 0.58fr);
    grid-template-rows: auto;
    align-items: start;
  }

  .mv-controlla-panel__chips {
    grid-column: auto;
    margin: 0;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .mv-controlla-audience {
    grid-column: auto;
    margin: 0;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (min-width: 1024px) {
  .mv-controlla-panel__chips {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  .mv-controlla-audience {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
}

@media (max-width: 719px) {
  .mv-controlla__tagline {
    flex-direction: column;
  }

  .mv-controlla__tagline-line {
    width: 100%;
    max-width: 280px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .mv-controlla__hub,
  .page-multiverse .mv-controlla__hub:hover {
    transform: none;
  }

  .page-multiverse .mv-controlla-audience__card:hover {
    transform: none;
  }
}

/* —— Cosa cambia per la tua location —— */
.section--mv-cambia {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(ellipse 70% 55% at 18% 12%, rgba(143, 0, 255, 0.42), transparent 52%),
    radial-gradient(ellipse 60% 50% at 88% 78%, rgba(143, 0, 255, 0.3), transparent 48%),
    linear-gradient(165deg, #12001f 0%, #0a0012 45%, #0d0018 100%);
  color: var(--gray-light);
}

.mv-cambia__decor {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle, rgba(229, 255, 57, 0.06) 1px, transparent 1px),
    linear-gradient(rgba(143, 0, 255, 0.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(143, 0, 255, 0.05) 1px, transparent 1px);
  background-size: 24px 24px, 48px 48px, 48px 48px;
  opacity: 0.55;
}

.mv-cambia__dots {
  position: absolute;
  width: 72px;
  height: 72px;
  pointer-events: none;
  background: radial-gradient(circle, rgba(205, 204, 204, 0.28) 1.5px, transparent 1.5px);
  background-size: 10px 10px;
  opacity: 0.45;
}

.mv-cambia__dots--tr {
  top: 1.5rem;
  right: 1.5rem;
}

.mv-cambia__dots--br {
  bottom: 1.5rem;
  right: 1.5rem;
}

.mv-cambia__inner {
  position: relative;
  z-index: 1;
  width: min(1320px, calc(100% - 2.5rem));
  margin: 0 auto;
  padding: clamp(2.75rem, 6vw, 4.25rem) 0 clamp(3rem, 6vw, 4.5rem);
}

.mv-cambia__stage {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(1.75rem, 3.5vw, 2.5rem);
  align-items: start;
  margin-bottom: clamp(1.75rem, 3.5vw, 2.5rem);
}

@media (min-width: 1024px) {
  .mv-cambia__stage {
    grid-template-columns: minmax(0, 0.46fr) minmax(0, 0.54fr);
    gap: clamp(1.25rem, 2.5vw, 2rem);
    align-items: center;
  }
}

.mv-cambia__title-wrap {
  display: flex;
  align-items: flex-start;
  gap: 0.85rem;
  margin-bottom: clamp(1rem, 2vw, 1.35rem);
}

.mv-cambia__title-rail {
  position: relative;
  flex-shrink: 0;
  width: 2px;
  min-height: 4.5rem;
  margin-top: 0.35rem;
  background: linear-gradient(180deg, var(--acid), rgba(229, 255, 57, 0.2));
  border-radius: 1px;
}

.mv-cambia__title-rail span {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: 0.45rem;
  height: 0.45rem;
  border-radius: 50%;
  background: var(--acid);
  box-shadow: 0 0 10px rgba(229, 255, 57, 0.45);
}

.mv-cambia__title-rail span:nth-child(1) {
  top: 0;
}

.mv-cambia__title-rail span:nth-child(2) {
  top: 50%;
  transform: translate(-50%, -50%);
}

.mv-cambia__title-rail span:nth-child(3) {
  bottom: 0;
}

.mv-cambia__title {
  font-family: var(--font-impact);
  font-size: clamp(1.45rem, 3.2vw, 2.55rem);
  line-height: 0.96;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--acid);
  margin: 0;
}

.mv-cambia__title-line {
  display: block;
}

.mv-cambia-kw-outline {
  color: transparent;
  -webkit-text-stroke: clamp(1.5px, 0.08em, 2px) var(--acid);
  paint-order: stroke fill;
  filter: drop-shadow(0 0 10px rgba(229, 255, 57, 0.2));
}

.mv-cambia__lead {
  font-family: var(--font-impact);
  font-size: clamp(0.78rem, 1.35vw, 0.92rem);
  line-height: 1.35;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  margin: 0 0 clamp(0.85rem, 1.6vw, 1.1rem);
  max-width: 38ch;
}

.mv-cambia__lead-mark {
  color: var(--acid);
  margin-right: 0.35rem;
}

.mv-cambia-kw {
  color: var(--acid);
  font-weight: 600;
}

.mv-cambia__lead-rest {
  color: var(--gray-light);
}

.mv-cambia__text {
  font-size: clamp(0.9rem, 1.4vw, 1rem);
  line-height: 1.62;
  color: rgba(205, 204, 204, 0.9);
  margin: 0 0 clamp(1.15rem, 2.2vw, 1.5rem);
  max-width: 44ch;
}

.mv-cambia__result {
  position: relative;
  padding: clamp(1rem, 1.8vw, 1.25rem);
  border-radius: 0.35rem;
  background: rgba(8, 0, 16, 0.62);
  border: 1px solid rgba(205, 204, 204, 0.22);
  box-shadow:
    0 0 0 1px rgba(143, 0, 255, 0.18),
    0 18px 40px rgba(0, 0, 0, 0.32),
    inset 0 0 28px rgba(143, 0, 255, 0.06);
}

.mv-cambia__result-corner {
  position: absolute;
  width: 1rem;
  height: 1rem;
  border-color: var(--acid);
  border-style: solid;
  opacity: 0.75;
}

.mv-cambia__result-corner--tl {
  top: -1px;
  left: -1px;
  border-width: 2px 0 0 2px;
}

.mv-cambia__result-corner--tr {
  top: -1px;
  right: -1px;
  border-width: 2px 2px 0 0;
}

.mv-cambia__result-corner--bl {
  bottom: -1px;
  left: -1px;
  border-width: 0 0 0 2px;
  border-bottom-width: 2px;
}

.mv-cambia__result-corner--br {
  bottom: -1px;
  right: -1px;
  border-width: 0 2px 2px 0;
}

.mv-cambia__result-title {
  font-family: var(--font-impact);
  font-size: clamp(0.78rem, 1.25vw, 0.9rem);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--acid);
  margin: 0 0 0.65rem;
}

.mv-cambia__result-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.38rem;
}

.mv-cambia__result-list li {
  position: relative;
  padding-left: 1.35rem;
  font-size: clamp(0.82rem, 1.2vw, 0.9rem);
  line-height: 1.4;
  color: var(--gray-light);
}

.mv-cambia__result-list li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 0.12rem;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 0.95rem;
  height: 0.95rem;
  border-radius: 50%;
  font-size: 0.55rem;
  font-weight: 700;
  color: var(--gray-dark);
  background: var(--acid);
}

.mv-cambia__visual {
  margin: 0;
  justify-self: center;
  width: min(100%, 34rem);
  filter: drop-shadow(0 24px 48px rgba(0, 0, 0, 0.45));
  transition: transform 0.45s var(--ease-out), filter 0.45s;
}

@media (min-width: 1024px) {
  .mv-cambia__visual {
    justify-self: end;
    width: min(100%, 38rem);
  }
}

.page-multiverse .mv-cambia__visual:hover {
  transform: translateY(-4px) scale(1.01);
  filter: drop-shadow(0 28px 56px rgba(0, 0, 0, 0.5));
}

.mv-cambia__visual-image {
  display: block;
  width: 100%;
  height: auto;
}

.mv-cambia__fit {
  position: relative;
  padding: clamp(1.15rem, 2.2vw, 1.55rem);
  border-radius: 0.35rem;
  background: rgba(8, 0, 16, 0.55);
  border: 1px solid rgba(143, 0, 255, 0.35);
  box-shadow:
    0 0 0 1px rgba(229, 255, 57, 0.05),
    0 20px 44px rgba(0, 0, 0, 0.35),
    inset 0 0 28px rgba(143, 0, 255, 0.07);
}

.mv-cambia__fit-title {
  font-family: var(--font-impact);
  font-size: clamp(0.82rem, 1.45vw, 1rem);
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--gray-light);
  margin: 0 0 clamp(0.85rem, 1.6vw, 1.1rem);
  padding-bottom: 0.7rem;
  border-bottom: 1px solid rgba(143, 0, 255, 0.28);
}

.mv-cambia__fit-grid {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
}

@media (min-width: 768px) {
  .mv-cambia__fit-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: clamp(1rem, 2.5vw, 2rem);
  }
}

.mv-cambia__fit-grid li {
  position: relative;
  padding: 0.6rem 0 0.6rem 1.55rem;
  font-size: clamp(0.82rem, 1.2vw, 0.9rem);
  line-height: 1.45;
  color: rgba(205, 204, 204, 0.9);
  border-bottom: 1px solid rgba(143, 0, 255, 0.16);
}

.mv-cambia__fit-grid li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.72rem;
  width: 0.72rem;
  height: 0.82rem;
  clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);
  border: 1px solid var(--acid);
  background: rgba(229, 255, 57, 0.08);
  box-shadow: 0 0 8px rgba(229, 255, 57, 0.2);
}

@media (prefers-reduced-motion: reduce) {
  .page-multiverse .mv-cambia__visual:hover {
    transform: none;
  }
}

/* ——— iMedia Multiverse Controller: FAQ ——— */
@media (min-width: 768px) {
  .section--mv-faq .dc-faq-card:last-child:nth-child(odd) {
    grid-column: 1 / -1;
    max-width: calc(50% - 0.425rem);
    justify-self: center;
  }
}

.page-multiverse .dc-faq-card:hover {
  transform: translateY(-2px);
}

.page-multiverse .dc-faq-card[open] {
  transform: translateY(-2px);
}

@media (prefers-reduced-motion: reduce) {
  .page-multiverse .dc-faq-card:hover,
  .page-multiverse .dc-faq-card[open] {
    transform: none;
  }
}

/* ——— iMedia Multiverse Controller: contatti ——— */
.section--mv-contact .bestia-contact__title {
  max-width: 24ch;
}

.mv-contact-kw {
  color: var(--acid);
  font-weight: 600;
}

.page-multiverse .bestia-contact__form {
  transition:
    transform 0.35s var(--ease-out),
    border-color var(--transition),
    box-shadow var(--transition);
}

.page-multiverse .bestia-contact__form:hover {
  transform: translateY(-3px);
  border-color: rgba(229, 255, 57, 0.55);
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.22);
}

.page-multiverse .bestia-contact__field input,
.page-multiverse .bestia-contact__field textarea,
.page-multiverse .bestia-contact__dropdown-trigger {
  transition:
    border-color var(--transition),
    box-shadow var(--transition),
    background var(--transition);
}

.page-multiverse .bestia-contact__submit {
  transition:
    transform var(--transition),
    box-shadow var(--transition);
}

.page-multiverse .bestia-contact__submit:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(143, 0, 255, 0.35);
}

@media (prefers-reduced-motion: reduce) {
  .page-multiverse .bestia-contact__form:hover,
  .page-multiverse .bestia-contact__submit:hover {
    transform: none;
  }
}

/* ═══════════════════════════════════════════════════
   CASE STUDY
═══════════════════════════════════════════════════ */
.hero--case-study {
  position: relative;
  min-height: min(100svh, 920px);
  display: flex;
  align-items: center;
  overflow: hidden;
  color: var(--gray-light);
  background: #030008;
  padding-top: var(--header-h);
}

.cs-hero__atmosphere {
  position: absolute;
  inset: 0;
  pointer-events: none;
  overflow: hidden;
}

.cs-hero__grid {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(143, 0, 255, 0.07) 1px, transparent 1px),
    linear-gradient(90deg, rgba(143, 0, 255, 0.07) 1px, transparent 1px);
  background-size: 56px 56px;
  mask-image: radial-gradient(ellipse 90% 80% at 50% 45%, black 15%, transparent 78%);
  animation: cs-hero-grid-pulse 8s ease-in-out infinite;
}

.cs-hero__glow {
  position: absolute;
  width: min(42vw, 520px);
  height: min(42vw, 520px);
  border-radius: 50%;
  filter: blur(80px);
  opacity: 0.35;
}

.cs-hero__glow--tl {
  top: -12%;
  left: -8%;
  background: rgba(143, 0, 255, 0.45);
  animation: cs-hero-glow-drift 12s ease-in-out infinite;
}

.cs-hero__glow--br {
  right: -6%;
  bottom: -10%;
  background: rgba(59, 130, 246, 0.28);
  animation: cs-hero-glow-drift 14s ease-in-out infinite reverse;
}

.cs-hero__corner {
  position: absolute;
  width: clamp(2.5rem, 5vw, 4rem);
  height: clamp(2.5rem, 5vw, 4rem);
  border-color: rgba(143, 0, 255, 0.45);
  border-style: solid;
  opacity: 0.7;
}

.cs-hero__corner--tl {
  top: clamp(1rem, 3vw, 2rem);
  left: clamp(1rem, 3vw, 2rem);
  border-width: 1px 0 0 1px;
}

.cs-hero__corner--tr {
  top: clamp(1rem, 3vw, 2rem);
  right: clamp(1rem, 3vw, 2rem);
  border-width: 1px 1px 0 0;
}

.cs-hero__corner--bl {
  bottom: clamp(1rem, 3vw, 2rem);
  left: clamp(1rem, 3vw, 2rem);
  border-width: 0 0 1px 1px;
}

.cs-hero__corner--br {
  right: clamp(1rem, 3vw, 2rem);
  bottom: clamp(1rem, 3vw, 2rem);
  border-width: 0 1px 1px 0;
}

.cs-hero__plus {
  position: absolute;
  width: 18px;
  height: 18px;
  opacity: 0.45;
}

.cs-hero__plus::before,
.cs-hero__plus::after {
  content: "";
  position: absolute;
  background: rgba(143, 0, 255, 0.75);
}

.cs-hero__plus::before {
  top: 50%;
  left: 0;
  width: 100%;
  height: 1px;
  transform: translateY(-50%);
}

.cs-hero__plus::after {
  top: 0;
  left: 50%;
  width: 1px;
  height: 100%;
  transform: translateX(-50%);
}

.cs-hero__plus--1 {
  top: 18%;
  right: 12%;
  animation: cs-hero-plus-float 6s ease-in-out infinite;
}

.cs-hero__plus--2 {
  bottom: 22%;
  left: 8%;
  animation: cs-hero-plus-float 7s ease-in-out infinite 0.8s;
}

.cs-hero__plus--3 {
  top: 42%;
  left: 4%;
  animation: cs-hero-plus-float 5.5s ease-in-out infinite 1.4s;
}

.cs-hero__inner {
  position: relative;
  z-index: 1;
  width: min(1320px, calc(100% - 2.5rem));
  margin: 0 auto;
  padding: clamp(2rem, 5vw, 3.5rem) 0 clamp(2.5rem, 5vw, 3.5rem);
}

.cs-hero__layout {
  display: grid;
  gap: clamp(2rem, 4vw, 3rem);
  align-items: center;
}

@media (min-width: 1024px) {
  .cs-hero__layout {
    grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
    gap: clamp(2rem, 3.5vw, 3.5rem);
  }
}

.cs-hero__label {
  display: inline-flex;
  margin-bottom: 0.85rem;
  font-family: var(--font-impact);
  font-size: clamp(0.62rem, 1vw, 0.72rem);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--purple);
  text-shadow: 0 0 18px rgba(143, 0, 255, 0.45);
}

.cs-hero__title {
  font-family: var(--font-impact);
  font-size: clamp(1.75rem, 4.2vw, 3.15rem);
  line-height: 0.98;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--white);
  margin: 0 0 1.15rem;
}

.cs-hero__title-line {
  display: block;
}

.cs-hero__kw {
  color: var(--purple);
  text-shadow:
    0 0 24px rgba(143, 0, 255, 0.55),
    0 0 48px rgba(59, 130, 246, 0.18);
}

.cs-hero__body {
  display: grid;
  gap: 0.85rem;
  margin-bottom: 1.5rem;
}

.cs-hero__text {
  font-size: clamp(0.92rem, 1.35vw, 1.02rem);
  line-height: 1.62;
  color: rgba(205, 204, 204, 0.92);
  margin: 0;
  max-width: 52ch;
}

.cs-hero__tagline {
  font-size: clamp(0.95rem, 1.4vw, 1.05rem);
  font-weight: 600;
  color: var(--purple);
  margin: 0;
  text-shadow: 0 0 16px rgba(143, 0, 255, 0.35);
}

.cs-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.cs-hero__btn {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-size: clamp(0.68rem, 1vw, 0.78rem);
  letter-spacing: 0.08em;
  padding: 0.72rem 1.15rem;
}

.cs-hero__btn--primary {
  color: #fff;
  background: linear-gradient(135deg, #8f00ff 0%, #6d00c7 100%);
  border-color: rgba(143, 0, 255, 0.85);
  box-shadow:
    0 0 24px rgba(143, 0, 255, 0.45),
    0 8px 24px rgba(0, 0, 0, 0.35);
  animation: cs-hero-cta-glow 3.2s ease-in-out infinite;
}

.cs-hero__btn--primary:hover {
  transform: translateY(-2px);
  box-shadow:
    0 0 36px rgba(143, 0, 255, 0.62),
    0 12px 28px rgba(0, 0, 0, 0.4);
}

.cs-hero__btn--ghost {
  color: var(--purple);
  background: rgba(143, 0, 255, 0.06);
  border-color: rgba(143, 0, 255, 0.55);
}

.cs-hero__btn--ghost:hover {
  color: #fff;
  background: rgba(143, 0, 255, 0.18);
  border-color: rgba(143, 0, 255, 0.85);
  box-shadow: 0 0 22px rgba(143, 0, 255, 0.28);
  transform: translateY(-2px);
}

.cs-hero__btn-arrow {
  font-family: var(--font-body);
  font-weight: 600;
  transition: transform 0.3s var(--ease-out);
}

.cs-hero__btn:hover .cs-hero__btn-arrow {
  transform: translateX(3px);
}

.cs-hero__visual {
  width: 100%;
}

.cs-hero__frame {
  position: relative;
  padding: clamp(0.55rem, 1.2vw, 0.85rem);
  border: 1px solid rgba(143, 0, 255, 0.35);
  background:
    linear-gradient(180deg, rgba(143, 0, 255, 0.08), rgba(3, 0, 8, 0.55)),
    rgba(8, 2, 16, 0.72);
  box-shadow:
    0 0 0 1px rgba(143, 0, 255, 0.12) inset,
    0 24px 64px rgba(0, 0, 0, 0.55),
    0 0 48px rgba(143, 0, 255, 0.18);
  animation: cs-hero-frame-pulse 4.5s ease-in-out infinite;
}

.cs-hero__frame-line {
  position: absolute;
  background: linear-gradient(90deg, transparent, rgba(143, 0, 255, 0.9), transparent);
  opacity: 0;
  animation: cs-hero-line-draw 1.1s var(--ease-out) forwards;
}

.cs-hero__frame-line--top,
.cs-hero__frame-line--bottom {
  left: 12%;
  right: 12%;
  height: 2px;
}

.cs-hero__frame-line--top {
  top: 0;
  animation-delay: 0.35s;
}

.cs-hero__frame-line--bottom {
  bottom: 0;
  animation-delay: 0.55s;
}

.cs-hero__frame-line--left,
.cs-hero__frame-line--right {
  top: 12%;
  bottom: 12%;
  width: 2px;
  background: linear-gradient(180deg, transparent, rgba(143, 0, 255, 0.9), transparent);
  animation-name: cs-hero-line-draw-y;
}

.cs-hero__frame-line--left {
  left: 0;
  animation-delay: 0.45s;
}

.cs-hero__frame-line--right {
  right: 0;
  animation-delay: 0.65s;
}

.cs-hero__frame-notch {
  position: absolute;
  width: clamp(1.1rem, 2vw, 1.6rem);
  height: clamp(1.1rem, 2vw, 1.6rem);
  border: 2px solid rgba(143, 0, 255, 0.85);
  box-shadow: 0 0 14px rgba(143, 0, 255, 0.45);
}

.cs-hero__frame-notch--tl {
  top: -1px;
  left: -1px;
  border-width: 2px 0 0 2px;
}

.cs-hero__frame-notch--tr {
  top: -1px;
  right: -1px;
  border-width: 2px 2px 0 0;
}

.cs-hero__frame-notch--bl {
  bottom: -1px;
  left: -1px;
  border-width: 0 0 2px 2px;
}

.cs-hero__frame-notch--br {
  right: -1px;
  bottom: -1px;
  border-width: 0 2px 2px 0;
}

.cs-hero__media {
  position: relative;
  margin: 0;
  overflow: hidden;
  border: 1px solid rgba(143, 0, 255, 0.22);
  aspect-ratio: 1018 / 820;
}

.cs-hero__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 42%;
  transform: scale(1.04);
  animation: cs-hero-image-in 1.4s var(--ease-out) 0.25s both;
  will-change: transform;
}

.cs-hero__scanlines {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: repeating-linear-gradient(
    180deg,
    rgba(255, 255, 255, 0.03) 0,
    rgba(255, 255, 255, 0.03) 1px,
    transparent 1px,
    transparent 3px
  );
  opacity: 0.35;
  mix-blend-mode: soft-light;
  animation: cs-hero-scan 6s linear infinite;
}

.cs-hero__stats {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.65rem;
  margin: 0.75rem 0 0;
  padding: 0;
  list-style: none;
}

@media (min-width: 640px) {
  .cs-hero__stats {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (min-width: 1100px) {
  .cs-hero__stats {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0.5rem;
  }
}

.cs-hero__stat {
  display: grid;
  gap: 0.2rem;
  padding: 0.65rem 0.5rem;
  border-radius: 0.55rem;
  background: rgba(3, 0, 8, 0.72);
  border: 1px solid rgba(143, 0, 255, 0.2);
  text-align: center;
  transition:
    transform 0.35s var(--ease-out),
    border-color 0.35s var(--ease-out),
    box-shadow 0.35s var(--ease-out);
}

.cs-hero__stat:hover {
  transform: translateY(-2px);
  border-color: rgba(143, 0, 255, 0.45);
  box-shadow: 0 0 18px rgba(143, 0, 255, 0.2);
}

.cs-hero__stat-icon {
  display: flex;
  justify-content: center;
  color: var(--purple);
}

.cs-hero__stat-icon svg {
  width: 1.15rem;
  height: 1.15rem;
}

.cs-hero__stat-value {
  font-family: var(--font-impact);
  font-size: clamp(1.05rem, 1.8vw, 1.35rem);
  line-height: 1;
  letter-spacing: 0.04em;
  color: var(--white);
}

.cs-hero__stat-label {
  font-size: clamp(0.58rem, 0.9vw, 0.68rem);
  line-height: 1.25;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: rgba(205, 204, 204, 0.78);
}

.cs-hero__enter {
  opacity: 0;
  transform: translateY(24px);
  animation: cs-hero-enter 0.85s var(--ease-out) var(--d, 0s) forwards;
}

.cs-hero__stat--enter {
  opacity: 0;
  transform: translateY(16px) scale(0.96);
  animation: cs-hero-stat-in 0.7s var(--ease-out) var(--d, 0s) forwards;
}

@keyframes cs-hero-enter {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes cs-hero-stat-in {
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@keyframes cs-hero-image-in {
  from {
    opacity: 0;
    transform: scale(1.12);
    filter: blur(6px);
  }
  to {
    opacity: 1;
    transform: scale(1.04);
    filter: blur(0);
  }
}

@keyframes cs-hero-line-draw {
  from {
    opacity: 0;
    transform: scaleX(0);
  }
  to {
    opacity: 1;
    transform: scaleX(1);
  }
}

@keyframes cs-hero-line-draw-y {
  from {
    opacity: 0;
    transform: scaleY(0);
  }
  to {
    opacity: 1;
    transform: scaleY(1);
  }
}

@keyframes cs-hero-frame-pulse {
  0%,
  100% {
    box-shadow:
      0 0 0 1px rgba(143, 0, 255, 0.12) inset,
      0 24px 64px rgba(0, 0, 0, 0.55),
      0 0 40px rgba(143, 0, 255, 0.16);
  }
  50% {
    box-shadow:
      0 0 0 1px rgba(143, 0, 255, 0.2) inset,
      0 28px 72px rgba(0, 0, 0, 0.58),
      0 0 56px rgba(143, 0, 255, 0.28);
  }
}

@keyframes cs-hero-cta-glow {
  0%,
  100% {
    box-shadow:
      0 0 20px rgba(143, 0, 255, 0.38),
      0 8px 24px rgba(0, 0, 0, 0.35);
  }
  50% {
    box-shadow:
      0 0 34px rgba(143, 0, 255, 0.58),
      0 10px 28px rgba(0, 0, 0, 0.38);
  }
}

@keyframes cs-hero-grid-pulse {
  0%,
  100% {
    opacity: 0.55;
  }
  50% {
    opacity: 0.85;
  }
}

@keyframes cs-hero-glow-drift {
  0%,
  100% {
    transform: translate(0, 0);
  }
  50% {
    transform: translate(18px, -12px);
  }
}

@keyframes cs-hero-plus-float {
  0%,
  100% {
    transform: translateY(0);
    opacity: 0.35;
  }
  50% {
    transform: translateY(-6px);
    opacity: 0.65;
  }
}

@keyframes cs-hero-scan {
  0% {
    background-position: 0 0;
  }
  100% {
    background-position: 0 48px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .cs-hero__enter,
  .cs-hero__stat--enter,
  .cs-hero__image,
  .cs-hero__frame-line {
    opacity: 1;
    transform: none;
    animation: none;
  }

  .cs-hero__grid,
  .cs-hero__glow,
  .cs-hero__plus,
  .cs-hero__frame,
  .cs-hero__btn--primary,
  .cs-hero__scanlines {
    animation: none;
  }
}

.cs-kw-outline {
  color: transparent;
  -webkit-text-stroke: clamp(1.5px, 0.08em, 2px) var(--acid);
  paint-order: stroke fill;
  filter: drop-shadow(0 0 10px rgba(229, 255, 57, 0.2));
}

.cs-kw {
  color: var(--acid);
  font-weight: 600;
}

.section--cs-board {
  position: relative;
  overflow: hidden;
  background: #030008;
  color: var(--gray-light);
  padding: clamp(2.5rem, 6vw, 4rem) 0 clamp(3rem, 6vw, 4.5rem);
}

.cs-board__atmosphere {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.cs-board__grid-bg {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(143, 0, 255, 0.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(143, 0, 255, 0.05) 1px, transparent 1px);
  background-size: 48px 48px;
  mask-image: radial-gradient(ellipse 90% 80% at 50% 40%, black 10%, transparent 80%);
}

.cs-board__inner {
  position: relative;
  z-index: 1;
  width: min(1360px, calc(100% - 2.5rem));
  margin: 0 auto;
}

.cs-board__kicker {
  font-family: var(--font-impact);
  font-size: clamp(0.72rem, 1.2vw, 0.85rem);
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--purple);
  margin: 0 0 clamp(1rem, 2.5vw, 1.5rem);
  text-shadow: 0 0 16px rgba(143, 0, 255, 0.35);
}

.cs-board__layout {
  display: grid;
  gap: clamp(0.85rem, 1.8vw, 1.1rem);
  grid-template-columns: minmax(0, 0.36fr) minmax(0, 0.32fr) minmax(0, 0.32fr);
  grid-template-areas:
    "contesto visual visual"
    "problema svolta quote";
}

.cs-board__panel {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 0;
  padding: clamp(0.9rem, 1.8vw, 1.2rem);
  border: 1px solid rgba(143, 0, 255, 0.38);
  background:
    linear-gradient(160deg, rgba(143, 0, 255, 0.07), rgba(3, 0, 8, 0.88)),
    rgba(6, 2, 14, 0.92);
  box-shadow:
    0 0 0 1px rgba(143, 0, 255, 0.1) inset,
    0 16px 40px rgba(0, 0, 0, 0.45);
  animation: cs-board-panel-pulse 5s ease-in-out infinite;
}

.cs-board__panel--contesto {
  grid-area: contesto;
}

.cs-board__panel--visual {
  grid-area: visual;
  padding-bottom: clamp(0.75rem, 1.5vw, 1rem);
}

.cs-board__panel--problema {
  grid-area: problema;
}

.cs-board__panel--svolta {
  grid-area: svolta;
}

.cs-board__panel--quote {
  grid-area: quote;
  justify-content: center;
  border-color: rgba(229, 255, 57, 0.28);
  background:
    linear-gradient(145deg, rgba(143, 0, 255, 0.1), rgba(3, 0, 8, 0.92)),
    rgba(6, 2, 14, 0.95);
}

.cs-board__panel-head {
  display: flex;
  align-items: baseline;
  gap: 0.55rem;
  margin-bottom: 0.85rem;
}

.cs-board__step {
  font-family: var(--font-impact);
  font-size: clamp(1.4rem, 2.8vw, 2rem);
  line-height: 1;
  letter-spacing: 0.04em;
  color: rgba(143, 0, 255, 0.55);
}

.cs-board__panel-title {
  font-family: var(--font-impact);
  font-size: clamp(1rem, 2vw, 1.45rem);
  line-height: 1;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--white);
  margin: 0;
  text-shadow: 0 0 18px rgba(143, 0, 255, 0.25);
}

.cs-board__panel-body {
  flex: 1;
  display: grid;
  gap: 0.75rem;
}

.cs-board__panel-body p {
  font-size: clamp(0.82rem, 1.15vw, 0.92rem);
  line-height: 1.58;
  color: rgba(205, 204, 204, 0.9);
  margin: 0;
}

.cs-board__panel-body--split {
  grid-template-columns: minmax(0, 1fr) minmax(0, 0.95fr);
  gap: 0.85rem;
  align-items: start;
}

.cs-board__accent {
  color: var(--purple) !important;
  font-weight: 600;
  text-shadow: 0 0 12px rgba(143, 0, 255, 0.25);
}

.cs-board__hero-line {
  font-family: var(--font-impact);
  font-size: clamp(0.95rem, 1.6vw, 1.2rem) !important;
  line-height: 1.15 !important;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--acid) !important;
  text-shadow: 0 0 16px rgba(229, 255, 57, 0.28);
}

.cs-board__tags {
  margin-top: 0.35rem;
}

.cs-board__tags-label {
  font-family: var(--font-impact);
  font-size: clamp(0.62rem, 1vw, 0.72rem);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(205, 204, 204, 0.75);
  margin: 0 0 0.55rem;
}

.cs-board__tags-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.4rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.cs-board__tag {
  padding: 0.38rem 0.35rem;
  border: 1px solid rgba(229, 255, 57, 0.35);
  border-radius: 0.35rem;
  background: rgba(3, 0, 8, 0.65);
  font-size: clamp(0.48rem, 0.85vw, 0.58rem);
  line-height: 1.2;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  text-align: center;
  color: var(--acid);
  transition:
    background 0.3s var(--ease-out),
    box-shadow 0.3s var(--ease-out),
    transform 0.3s var(--ease-out);
}

.cs-board__tag:hover {
  background: rgba(229, 255, 57, 0.12);
  box-shadow: 0 0 14px rgba(229, 255, 57, 0.2);
  transform: translateY(-1px);
}

.cs-board__bar {
  margin: clamp(0.75rem, 1.5vw, 1rem) 0 0;
  padding: 0.55rem 0.7rem;
  font-family: var(--font-impact);
  font-size: clamp(0.58rem, 0.95vw, 0.68rem);
  line-height: 1.35;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.cs-board__bar--acid {
  color: var(--gray-dark);
  background: var(--acid);
  box-shadow: 0 0 20px rgba(229, 255, 57, 0.25);
}

.cs-board__bar--warn {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  color: var(--acid);
  background: rgba(8, 4, 12, 0.95);
  border: 1px solid rgba(229, 255, 57, 0.22);
}

.cs-board__bar-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.2rem;
  height: 1.2rem;
  border-radius: 0.2rem;
  background: var(--acid);
  color: var(--gray-dark);
  font-size: 0.9rem;
  line-height: 1;
  flex-shrink: 0;
}

.cs-board__risk {
  padding: 0.65rem 0.7rem;
  border: 1px solid rgba(229, 255, 57, 0.35);
  border-radius: 0.5rem;
  background: rgba(3, 0, 8, 0.75);
}

.cs-board__risk-title {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  font-family: var(--font-impact);
  font-size: clamp(0.62rem, 1vw, 0.72rem);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--acid);
  margin: 0 0 0.5rem;
}

.cs-board__risk-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.1rem;
  height: 1.1rem;
  border-radius: 50%;
  background: #f5c518;
  color: var(--gray-dark);
  font-size: 0.75rem;
  font-weight: 700;
}

.cs-board__risk-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0.28rem;
}

.cs-board__risk-list li {
  position: relative;
  padding-left: 0.75rem;
  font-size: clamp(0.58rem, 0.9vw, 0.66rem);
  line-height: 1.35;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--acid);
}

.cs-board__risk-list li::before {
  content: "•";
  position: absolute;
  left: 0;
  color: rgba(229, 255, 57, 0.65);
}

.cs-board__quote-mark {
  font-family: var(--font-impact);
  font-size: clamp(2.5rem, 5vw, 4rem);
  line-height: 0.7;
  color: var(--acid);
  opacity: 0.85;
  text-shadow: 0 0 20px rgba(229, 255, 57, 0.35);
}

.cs-board__quote-mark--open {
  margin-bottom: 0.25rem;
}

.cs-board__quote-mark--close {
  align-self: flex-end;
  margin-top: 0.25rem;
}

.cs-board__quote-line {
  font-family: var(--font-impact);
  font-size: clamp(0.72rem, 1.2vw, 0.88rem);
  line-height: 1.35;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: rgba(205, 204, 204, 0.88);
  margin: 0;
}

.cs-board__quote-line--accent {
  margin-top: 0.65rem;
  font-size: clamp(0.82rem, 1.35vw, 1rem);
  color: var(--acid);
  text-shadow: 0 0 14px rgba(229, 255, 57, 0.25);
}

.cs-board__visual-title {
  font-family: var(--font-impact);
  font-size: clamp(1.1rem, 2.2vw, 1.75rem);
  line-height: 1.02;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  text-align: center;
  color: var(--white);
  margin: 0 0 0.75rem;
}

.cs-board__kw-outline {
  color: transparent;
  -webkit-text-stroke: clamp(1px, 0.06em, 1.5px) var(--purple);
  paint-order: stroke fill;
  filter: drop-shadow(0 0 10px rgba(143, 0, 255, 0.45));
}

.cs-board__kw-acid {
  color: var(--acid);
  text-shadow: 0 0 16px rgba(229, 255, 57, 0.35);
  animation: cs-board-acid-pulse 3.5s ease-in-out infinite;
}

.cs-board__visual-stage {
  position: relative;
  flex: 1;
  padding: clamp(0.4rem, 0.9vw, 0.6rem);
  border: 1px solid rgba(143, 0, 255, 0.42);
  background: rgba(3, 0, 8, 0.55);
  box-shadow: 0 0 32px rgba(143, 0, 255, 0.16);
}

.cs-board__frame-notch {
  position: absolute;
  width: clamp(0.85rem, 1.6vw, 1.2rem);
  height: clamp(0.85rem, 1.6vw, 1.2rem);
  border: 2px solid rgba(143, 0, 255, 0.9);
  box-shadow: 0 0 12px rgba(143, 0, 255, 0.45);
  z-index: 4;
}

.cs-board__frame-notch--tl {
  top: -1px;
  left: -1px;
  border-width: 2px 0 0 2px;
}

.cs-board__frame-notch--tr {
  top: -1px;
  right: -1px;
  border-width: 2px 2px 0 0;
}

.cs-board__frame-notch--bl {
  bottom: -1px;
  left: -1px;
  border-width: 0 0 2px 2px;
}

.cs-board__frame-notch--br {
  right: -1px;
  bottom: -1px;
  border-width: 0 2px 2px 0;
}

.cs-board__media {
  position: relative;
  margin: 0;
  overflow: hidden;
  aspect-ratio: 1024 / 374;
  border: 1px solid rgba(143, 0, 255, 0.22);
}

.cs-board__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transform: scale(1.03);
  will-change: transform;
}

.cs-board__media-veil {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(
    180deg,
    rgba(3, 0, 8, 0.12) 0%,
    transparent 40%,
    rgba(3, 0, 8, 0.18) 100%
  );
}

.cs-board__lines {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 2;
}

.cs-board__line {
  fill: none;
  stroke: rgba(143, 0, 255, 0.75);
  stroke-width: 1.5;
  stroke-dasharray: 120;
  stroke-dashoffset: 120;
  filter: drop-shadow(0 0 4px rgba(143, 0, 255, 0.55));
}

.cs-board__visual-stage.is-animated .cs-board__line {
  animation: cs-board-line-draw 1.1s var(--ease-out) forwards;
}

.cs-board__visual-stage.is-animated .cs-board__line:nth-child(1) {
  animation-delay: 0.15s;
}

.cs-board__visual-stage.is-animated .cs-board__line:nth-child(2) {
  animation-delay: 0.25s;
}

.cs-board__visual-stage.is-animated .cs-board__line:nth-child(3) {
  animation-delay: 0.2s;
}

.cs-board__visual-stage.is-animated .cs-board__line:nth-child(4) {
  animation-delay: 0.3s;
}

.cs-board__visual-stage.is-animated .cs-board__line:nth-child(5) {
  animation-delay: 0.35s;
}

.cs-board__visual-stage.is-animated .cs-board__line:nth-child(6) {
  animation-delay: 0.4s;
}

.cs-board__callouts {
  position: absolute;
  inset: 0;
  margin: 0;
  padding: 0;
  list-style: none;
  z-index: 3;
  pointer-events: none;
}

.cs-board__callout {
  position: absolute;
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  max-width: min(12.5rem, 32vw);
  padding: 0.4rem 0.55rem;
  border-radius: 0.4rem;
  border: 1px solid rgba(143, 0, 255, 0.45);
  background: rgba(3, 0, 8, 0.94);
  box-shadow: 0 0 16px rgba(143, 0, 255, 0.18);
  pointer-events: auto;
  animation: cs-board-callout-float 4.5s ease-in-out infinite;
  transition:
    border-color 0.35s var(--ease-out),
    box-shadow 0.35s var(--ease-out);
}

.cs-board__callout:hover {
  border-color: rgba(143, 0, 255, 0.85);
  box-shadow: 0 0 24px rgba(143, 0, 255, 0.35);
}

.cs-board__callout-icon {
  flex: 0 0 auto;
  color: var(--purple);
}

.cs-board__callout-icon svg {
  width: 0.9rem;
  height: 0.9rem;
}

.cs-board__callout-text {
  font-size: clamp(0.48rem, 1vw, 0.62rem);
  line-height: 1.2;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.92);
}

.cs-board__callout--vr {
  top: 12%;
  left: 2%;
  animation-delay: 0s;
}

.cs-board__callout--laser {
  bottom: 10%;
  left: 2%;
  animation-delay: 0.6s;
}

.cs-board__callout--events {
  top: 6%;
  left: 34%;
  transform: translateX(-50%);
  animation-delay: 1.2s;
}

.cs-board__callout--staff {
  bottom: 6%;
  left: 34%;
  transform: translateX(-50%);
  animation-delay: 1.8s;
}

.cs-board__callout--family {
  top: 12%;
  left: 56%;
  animation-delay: 0.3s;
}

.cs-board__callout--data {
  bottom: 10%;
  left: 54%;
  animation-delay: 0.9s;
}

.cs-board__dash {
  position: absolute;
  top: 8%;
  right: 2%;
  bottom: 8%;
  width: min(10.5rem, 22vw);
  display: grid;
  gap: 0.5rem;
  z-index: 3;
}

.cs-board__dash-card {
  padding: 0.55rem 0.6rem;
  border-radius: 0.5rem;
  border: 1px solid rgba(143, 0, 255, 0.38);
  background: rgba(3, 0, 8, 0.92);
  box-shadow: 0 0 18px rgba(143, 0, 255, 0.16);
}

.cs-board__dash-label {
  display: block;
  margin-bottom: 0.35rem;
  font-size: clamp(0.48rem, 0.85vw, 0.58rem);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(205, 204, 204, 0.72);
}

.cs-board__dash-event {
  display: grid;
  grid-template-columns: 2.2rem 1fr;
  gap: 0.4rem;
  align-items: center;
}

.cs-board__dash-thumb {
  width: 2.2rem;
  height: 2.2rem;
  border-radius: 0.3rem;
  border: 1px solid rgba(143, 0, 255, 0.35);
  background-size: 220%;
  background-position: 42% 38%;
}

.cs-board__dash-event-copy {
  display: grid;
  gap: 0.1rem;
}

.cs-board__dash-event-copy strong {
  font-size: clamp(0.52rem, 0.9vw, 0.62rem);
  line-height: 1.2;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--white);
  font-weight: 600;
}

.cs-board__dash-event-copy span {
  font-size: clamp(0.55rem, 0.9vw, 0.65rem);
  color: var(--purple);
}

.cs-board__dash-metrics {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 0.4rem;
}

.cs-board__dash-value {
  font-family: var(--font-impact);
  font-size: clamp(1.35rem, 2.5vw, 1.85rem);
  line-height: 1;
  letter-spacing: 0.03em;
  color: var(--white);
}

.cs-board__dash-delta {
  font-size: clamp(0.55rem, 0.9vw, 0.65rem);
  font-weight: 600;
  color: var(--acid);
  text-align: right;
  line-height: 1.2;
}

.cs-board__dash-delta small {
  display: block;
  font-weight: 400;
  color: rgba(205, 204, 204, 0.7);
}

.cs-board__reveal,
.cs-board__tag--reveal,
.cs-board__callout--reveal,
.cs-board__dash--reveal,
.cs-board__bar--reveal {
  opacity: 0;
  transform: translateY(18px);
  animation: cs-board-reveal 0.75s var(--ease-out) var(--d, 0s) forwards;
}

.cs-board__callout--reveal {
  transform: translateY(12px) scale(0.96);
}

.cs-board__callout--events.cs-board__callout--reveal,
.cs-board__callout--staff.cs-board__callout--reveal {
  animation-name: cs-board-reveal-centered;
}

@keyframes cs-board-reveal {
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@keyframes cs-board-reveal-centered {
  to {
    opacity: 1;
    transform: translateX(-50%) translateY(0) scale(1);
  }
}

@keyframes cs-board-line-draw {
  to {
    stroke-dashoffset: 0;
  }
}

@keyframes cs-board-panel-pulse {
  0%,
  100% {
    box-shadow:
      0 0 0 1px rgba(143, 0, 255, 0.1) inset,
      0 16px 40px rgba(0, 0, 0, 0.45);
  }
  50% {
    box-shadow:
      0 0 0 1px rgba(143, 0, 255, 0.18) inset,
      0 20px 48px rgba(0, 0, 0, 0.5),
      0 0 28px rgba(143, 0, 255, 0.12);
  }
}

@keyframes cs-board-acid-pulse {
  0%,
  100% {
    text-shadow: 0 0 12px rgba(229, 255, 57, 0.28);
  }
  50% {
    text-shadow: 0 0 22px rgba(229, 255, 57, 0.5);
  }
}

@keyframes cs-board-callout-float {
  0%,
  100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-3px);
  }
}

.cs-board__callout--events,
.cs-board__callout--staff {
  animation-name: cs-board-callout-float-center;
}

@keyframes cs-board-callout-float-center {
  0%,
  100% {
    transform: translateX(-50%) translateY(0);
  }
  50% {
    transform: translateX(-50%) translateY(-3px);
  }
}

@media (max-width: 1100px) {
  .cs-board__layout {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    grid-template-areas:
      "contesto contesto"
      "visual visual"
      "problema problema"
      "svolta quote";
  }

  .cs-board__panel-body--split {
    grid-template-columns: 1fr;
  }

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

@media (max-width: 720px) {
  .cs-board__layout {
    grid-template-columns: 1fr;
    grid-template-areas:
      "contesto"
      "visual"
      "problema"
      "svolta"
      "quote";
  }

  .cs-board__tags-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .cs-board__callouts {
    position: static;
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.45rem;
    margin-top: 0.65rem;
  }

  .cs-board__callout,
  .cs-board__callout--events,
  .cs-board__callout--staff,
  .cs-board__callout--family,
  .cs-board__callout--data {
    position: static;
    max-width: none;
    transform: none;
    animation: none;
  }

  .cs-board__lines,
  .cs-board__dash {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .cs-board__reveal,
  .cs-board__tag--reveal,
  .cs-board__callout--reveal,
  .cs-board__dash--reveal,
  .cs-board__bar--reveal {
    opacity: 1;
    transform: none;
    animation: none;
  }

  .cs-board__panel,
  .cs-board__kw-acid,
  .cs-board__callout {
    animation: none;
  }

  .cs-board__line {
    stroke-dashoffset: 0;
  }
}

.section--cs-built {
  position: relative;
  overflow: hidden;
  background: #efefef;
  color: var(--gray-dark);
  padding: clamp(2.5rem, 6vw, 4rem) 0 clamp(3rem, 6vw, 4.5rem);
}

.cs-built__dots {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image: radial-gradient(rgba(52, 52, 52, 0.14) 1px, transparent 1px);
  background-size: 18px 18px;
  mask-image: linear-gradient(180deg, black 0%, black 85%, transparent 100%);
}

.cs-built__inner {
  position: relative;
  z-index: 1;
  width: min(1320px, calc(100% - 2.5rem));
  margin: 0 auto;
}

.cs-built__label {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  margin: 0 0 0.65rem;
  font-family: var(--font-impact);
  font-size: clamp(0.62rem, 1vw, 0.72rem);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--purple);
}

.cs-built__label-dot {
  width: 0.45rem;
  height: 0.45rem;
  border-radius: 50%;
  background: var(--purple);
  box-shadow: 0 0 10px rgba(143, 0, 255, 0.45);
}

.cs-built__title {
  font-family: var(--font-impact);
  font-size: clamp(2rem, 5.5vw, 3.6rem);
  line-height: 0.95;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  margin: 0 0 0.65rem;
}

.cs-built__title-line {
  display: block;
  color: var(--gray-dark);
}

.cs-built__title-kw {
  color: transparent;
  -webkit-text-stroke: clamp(1.5px, 0.08em, 2px) var(--purple);
  paint-order: stroke fill;
  filter: drop-shadow(0 0 12px rgba(143, 0, 255, 0.35));
}

.cs-built__subtitle {
  font-size: clamp(0.95rem, 1.45vw, 1.08rem);
  font-weight: 700;
  line-height: 1.4;
  color: var(--gray-dark);
  margin: 0 0 0.55rem;
}

.cs-built__intro {
  font-size: clamp(0.86rem, 1.25vw, 0.95rem);
  line-height: 1.58;
  color: rgba(52, 52, 52, 0.82);
  margin: 0;
  max-width: 52ch;
}

a.cs-built-kw--link {
  font-weight: 600;
  color: var(--purple);
  text-decoration: underline;
  text-decoration-color: rgba(143, 0, 255, 0.35);
  text-underline-offset: 0.15em;
  transition:
    color var(--transition),
    text-decoration-color var(--transition);
}

a.cs-built-kw--link:hover {
  color: #6a00c7;
  text-decoration-color: rgba(143, 0, 255, 0.65);
}

.cs-built__head {
  max-width: 36rem;
  margin: 0;
}

.cs-built__hero {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(1.25rem, 3vw, 2rem);
  align-items: center;
  margin-bottom: clamp(1.75rem, 4vw, 2.75rem);
}

@media (min-width: 900px) {
  .cs-built__hero {
    grid-template-columns: minmax(0, 0.52fr) minmax(0, 0.48fr);
    gap: clamp(1rem, 2.5vw, 2rem);
  }
}

.cs-built__visual-wrap,
.cs-built__visual-link {
  display: block;
  margin: 0;
  width: min(100%, 22rem);
  margin-left: auto;
  transform: skewY(-3.5deg);
  transform-origin: right center;
  filter: drop-shadow(0 16px 32px rgba(52, 52, 52, 0.14));
  transition: transform 0.45s var(--ease-out), filter 0.45s;
  text-decoration: none;
  color: inherit;
}

@media (min-width: 900px) {
  .cs-built__visual-wrap,
  .cs-built__visual-link {
    width: min(100%, 26rem);
    justify-self: end;
  }
}

.page-case-study .cs-built__visual-wrap:hover,
.page-case-study .cs-built__visual-link:hover {
  transform: skewY(-3.5deg) translateY(-4px) scale(1.02);
  filter: drop-shadow(0 20px 40px rgba(52, 52, 52, 0.18));
}

.cs-built__visual {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 0.35rem;
  animation: cs-built-visual-float 5s ease-in-out infinite;
}

.cs-built__reveal {
  opacity: 0;
  animation: cs-built-reveal 0.8s var(--ease-out) var(--d, 0s) forwards;
}

.cs-built__reveal {
  transform: translateY(18px);
}

@keyframes cs-built-reveal {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes cs-built-visual-float {
  0%,
  100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-4px);
  }
}

.cs-result {
  margin-top: clamp(0.5rem, 2vw, 1rem);
}

.cs-result__panel {
  padding: clamp(1.25rem, 2.5vw, 1.75rem);
  border-radius: 0.85rem;
  border: 2px solid rgba(229, 255, 57, 0.55);
  background:
    linear-gradient(145deg, rgba(143, 0, 255, 0.14), rgba(8, 2, 18, 0.96)),
    #120818;
  box-shadow:
    0 0 0 1px rgba(143, 0, 255, 0.2) inset,
    0 24px 64px rgba(0, 0, 0, 0.45),
    0 0 48px rgba(143, 0, 255, 0.12);
}

.cs-result__main {
  display: grid;
  gap: clamp(1rem, 2.5vw, 1.5rem);
}

.cs-result__hero {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(0.85rem, 2vw, 1.25rem);
  align-items: start;
}

@media (min-width: 768px) {
  .cs-result__hero {
    grid-template-columns: minmax(0, 0.42fr) minmax(0, 0.58fr);
    gap: clamp(0.75rem, 1.8vw, 1.35rem);
  }
}

.cs-result__title-skew {
  width: fit-content;
  max-width: 100%;
  justify-self: start;
}

.cs-result__title {
  font-family: var(--font-impact);
  font-size: clamp(2rem, 5vw, 3.4rem);
  line-height: 1;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  margin: 0;
  white-space: nowrap;
}

.cs-result__title-solid {
  display: inline;
  color: var(--acid);
  text-shadow: 0 0 18px rgba(229, 255, 57, 0.28);
}

.cs-result__title-kw {
  display: inline;
  margin-left: 0.12em;
  color: transparent;
  -webkit-text-stroke: clamp(1.5px, 0.08em, 2px) var(--acid);
  paint-order: stroke fill;
  filter: drop-shadow(0 0 14px rgba(229, 255, 57, 0.35));
}

.cs-result__intro {
  max-width: 52rem;
}

.cs-result__subtitle {
  font-size: clamp(0.92rem, 1.4vw, 1.05rem);
  font-weight: 700;
  line-height: 1.4;
  color: var(--acid);
  margin: 0 0 0.55rem;
}

.cs-result__lead {
  font-size: clamp(0.86rem, 1.25vw, 0.95rem);
  line-height: 1.58;
  color: rgba(205, 204, 204, 0.92);
  margin: 0;
  max-width: 62ch;
}

.cs-result__checklist {
  padding: clamp(0.85rem, 1.5vw, 1.1rem);
  border-radius: 0.55rem;
  border: 1px solid rgba(229, 255, 57, 0.45);
  background: rgba(3, 0, 8, 0.55);
}

.cs-result__checklist--compact {
  padding: clamp(0.55rem, 1vw, 0.75rem);
  margin-left: auto;
  width: min(100%, 22rem);
}

@media (min-width: 768px) {
  .cs-result__checklist--compact {
    width: 100%;
    max-width: none;
    justify-self: end;
  }
}

.cs-result__checklist-title {
  font-family: var(--font-impact);
  font-size: clamp(0.58rem, 0.95vw, 0.68rem);
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--acid);
  margin: 0 0 0.45rem;
  line-height: 1.25;
}

.cs-result__checklist--compact .cs-result__checklist-title {
  font-size: clamp(0.52rem, 0.85vw, 0.62rem);
  margin-bottom: 0.35rem;
}

.cs-result__checklist-grid {
  display: grid;
  gap: 0.28rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.cs-result__checklist--compact .cs-result__checklist-grid {
  grid-template-columns: 1fr;
  gap: 0.22rem;
}

@media (min-width: 900px) {
  .cs-result__checklist--compact .cs-result__checklist-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 0.65rem;
  }
}

.cs-result__checklist-grid li {
  position: relative;
  padding-left: 0.95rem;
  font-size: clamp(0.76rem, 1.1vw, 0.84rem);
  line-height: 1.4;
  color: rgba(205, 204, 204, 0.88);
}

.cs-result__checklist--compact .cs-result__checklist-grid li {
  font-size: clamp(0.62rem, 0.95vw, 0.72rem);
  padding-left: 0.85rem;
  line-height: 1.35;
}

.cs-result__checklist-grid li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 0;
  color: var(--acid);
  font-weight: 700;
  font-size: 0.85em;
}

@media (max-width: 767px) {
  .cs-result__title {
    white-space: normal;
  }

  .cs-result__checklist--compact {
    width: 100%;
    margin-left: 0;
  }
}

.cs-result__compare {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.85rem;
  align-items: stretch;
}

@media (min-width: 720px) {
  .cs-result__compare {
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1.75fr);
    gap: 0.75rem;
    align-items: center;
  }

  .cs-result__dash-app {
    min-height: 11.5rem;
  }

  .cs-result__dash-side {
    min-width: 4.5rem;
  }
}

.cs-result__zone-label {
  font-family: var(--font-impact);
  font-size: clamp(0.58rem, 0.95vw, 0.68rem);
  letter-spacing: 0.07em;
  text-transform: uppercase;
  margin: 0 0 0.45rem;
}

.cs-result__zone-label--chaos {
  color: var(--purple);
  text-shadow: 0 0 12px rgba(143, 0, 255, 0.35);
}

.cs-result__zone-label--dash {
  color: var(--acid);
  text-shadow: 0 0 12px rgba(229, 255, 57, 0.28);
}

.cs-result__chaos-stage {
  position: relative;
  min-height: clamp(7.5rem, 18vw, 9.5rem);
  border-radius: 0.55rem;
  border: 1px solid rgba(143, 0, 255, 0.22);
  background:
    radial-gradient(ellipse at 30% 40%, rgba(143, 0, 255, 0.12), transparent 55%),
    rgba(3, 0, 8, 0.72);
  overflow: hidden;
}

.cs-result__chaos-svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.cs-result__chaos-tags {
  position: relative;
  z-index: 1;
  margin: 0;
  padding: 0;
  list-style: none;
  min-height: inherit;
}

.cs-result__tag {
  position: absolute;
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.28rem 0.45rem;
  border-radius: 0.35rem;
  border: 1px solid rgba(143, 0, 255, 0.4);
  background: rgba(8, 2, 16, 0.88);
  font-size: clamp(0.44rem, 0.75vw, 0.54rem);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: rgba(205, 204, 204, 0.9);
  white-space: nowrap;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.35);
  animation: cs-result-tag-float 5s ease-in-out infinite;
}

.cs-result__tag-ico {
  color: var(--purple);
  font-size: 0.75em;
  line-height: 1;
}

.cs-result__tag--1 {
  top: 6%;
  left: 4%;
  animation-delay: 0s;
}

.cs-result__tag--2 {
  top: 4%;
  left: 38%;
  animation-delay: 0.4s;
}

.cs-result__tag--3 {
  top: 10%;
  right: 2%;
  animation-delay: 0.8s;
}

.cs-result__tag--4 {
  top: 38%;
  left: 2%;
  animation-delay: 0.2s;
}

.cs-result__tag--5 {
  top: 42%;
  left: 36%;
  animation-delay: 0.6s;
}

.cs-result__tag--6 {
  bottom: 8%;
  left: 6%;
  animation-delay: 1s;
}

.cs-result__tag--7 {
  bottom: 10%;
  right: 4%;
  animation-delay: 0.5s;
}

.cs-result__tag--8 {
  top: 52%;
  right: 0;
  animation-delay: 1.2s;
}

.cs-result__transition {
  display: flex;
  align-items: center;
  justify-content: center;
}

.cs-result__arrow {
  font-family: var(--font-impact);
  font-size: clamp(1rem, 2.2vw, 1.45rem);
  letter-spacing: -0.06em;
  color: var(--acid);
  text-shadow: 0 0 18px rgba(229, 255, 57, 0.45);
  animation: cs-result-arrow-pulse 2.5s ease-in-out infinite;
}

@media (max-width: 719px) {
  .cs-result__arrow {
    transform: rotate(90deg);
  }
}

.cs-result__dash-frame {
  padding: 2px;
  border-radius: 0.65rem;
  background: linear-gradient(135deg, rgba(143, 0, 255, 0.85), rgba(229, 255, 57, 0.35));
  box-shadow:
    0 0 24px rgba(143, 0, 255, 0.35),
    0 12px 32px rgba(0, 0, 0, 0.4);
}

.cs-result__dash-app {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0;
  min-height: clamp(9rem, 22vw, 11.5rem);
  border-radius: 0.58rem;
  background: #0a0610;
  overflow: hidden;
}

.cs-result__dash-side {
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
  padding: 0.45rem 0.35rem;
  border-right: 1px solid rgba(143, 0, 255, 0.2);
  background: rgba(8, 2, 16, 0.95);
  min-width: 3.6rem;
}

.cs-result__dash-logo {
  font-family: var(--font-impact);
  font-size: clamp(0.55rem, 0.9vw, 0.65rem);
  letter-spacing: 0.06em;
  color: var(--acid);
  text-align: center;
  padding: 0.2rem 0;
}

.cs-result__dash-nav {
  display: flex;
  flex-direction: column;
  gap: 0.18rem;
}

.cs-result__dash-nav span {
  font-size: clamp(0.38rem, 0.65vw, 0.46rem);
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: rgba(205, 204, 204, 0.55);
  padding: 0.18rem 0.28rem;
  border-radius: 0.25rem;
  white-space: nowrap;
}

.cs-result__dash-nav .is-active {
  color: #fff;
  background: rgba(143, 0, 255, 0.45);
  box-shadow: 0 0 10px rgba(143, 0, 255, 0.3);
}

.cs-result__dash-main {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  padding: 0.35rem;
  min-width: 0;
}

.cs-result__dash-kpis {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.28rem;
}

.cs-result__kpi {
  padding: 0.28rem 0.32rem;
  border-radius: 0.3rem;
  border: 1px solid rgba(143, 0, 255, 0.18);
  background: rgba(12, 4, 20, 0.9);
}

.cs-result__kpi-label {
  display: block;
  font-size: clamp(0.36rem, 0.6vw, 0.44rem);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: rgba(205, 204, 204, 0.6);
  margin-bottom: 0.1rem;
}

.cs-result__kpi-value {
  display: block;
  font-family: var(--font-impact);
  font-size: clamp(0.62rem, 1.1vw, 0.78rem);
  line-height: 1;
  color: #fff;
}

.cs-result__kpi-delta {
  display: block;
  font-size: clamp(0.34rem, 0.55vw, 0.42rem);
  font-weight: 600;
  color: var(--acid);
  margin-top: 0.08rem;
}

.cs-result__kpi-meta {
  display: block;
  font-size: clamp(0.32rem, 0.52vw, 0.4rem);
  color: rgba(205, 204, 204, 0.55);
  margin-top: 0.08rem;
}

.cs-result__dash-widgets {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.28rem;
  flex: 1;
}

.cs-result__widget {
  padding: 0.28rem 0.32rem;
  border-radius: 0.3rem;
  border: 1px solid rgba(143, 0, 255, 0.16);
  background: rgba(12, 4, 20, 0.88);
  min-width: 0;
}

.cs-result__widget-title {
  margin: 0 0 0.28rem;
  font-size: clamp(0.36rem, 0.6vw, 0.44rem);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: rgba(205, 204, 204, 0.7);
}

.cs-result__bar-row {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 0.12rem 0.25rem;
  align-items: center;
  margin-bottom: 0.2rem;
  font-size: clamp(0.32rem, 0.52vw, 0.4rem);
  color: rgba(205, 204, 204, 0.75);
}

.cs-result__bar-row span {
  grid-column: 1 / -1;
}

.cs-result__bar {
  height: 0.22rem;
  border-radius: 999px;
  background: rgba(143, 0, 255, 0.15);
  overflow: hidden;
}

.cs-result__bar i {
  display: block;
  height: 100%;
  width: var(--w, 50%);
  border-radius: inherit;
  background: linear-gradient(90deg, var(--purple), rgba(143, 0, 255, 0.55));
}

.cs-result__bar-row em {
  font-style: normal;
  font-size: clamp(0.3rem, 0.5vw, 0.38rem);
  color: rgba(205, 204, 204, 0.55);
}

.cs-result__event-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0.22rem;
}

.cs-result__event-list li {
  display: flex;
  align-items: center;
  gap: 0.28rem;
}

.cs-result__avatar {
  width: 0.85rem;
  height: 0.85rem;
  border-radius: 50%;
  flex-shrink: 0;
  border: 1px solid rgba(143, 0, 255, 0.35);
}

.cs-result__avatar--1 {
  background: linear-gradient(135deg, #8f00ff, #4a0080);
}

.cs-result__avatar--2 {
  background: linear-gradient(135deg, #e5ff39, #8f9900);
}

.cs-result__avatar--3 {
  background: linear-gradient(135deg, #6b21a8, #1e1b4b);
}

.cs-result__event-list strong {
  display: block;
  font-size: clamp(0.34rem, 0.55vw, 0.42rem);
  font-weight: 600;
  color: rgba(255, 255, 255, 0.9);
  line-height: 1.2;
}

.cs-result__event-list small {
  display: block;
  font-size: clamp(0.3rem, 0.48vw, 0.36rem);
  color: rgba(205, 204, 204, 0.55);
}

.cs-result__status-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0.22rem;
}

.cs-result__status-list li {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.25rem;
  font-size: clamp(0.32rem, 0.52vw, 0.4rem);
  color: rgba(205, 204, 204, 0.8);
}

.cs-result__online {
  display: inline-flex;
  align-items: center;
  gap: 0.15rem;
  font-size: clamp(0.3rem, 0.48vw, 0.36rem);
  font-weight: 600;
  color: var(--acid);
}

.cs-result__online::before {
  content: "";
  width: 0.28rem;
  height: 0.28rem;
  border-radius: 50%;
  background: var(--acid);
  box-shadow: 0 0 6px rgba(229, 255, 57, 0.55);
}

.cs-result__chart {
  display: block;
  width: 100%;
  height: clamp(2.2rem, 5vw, 2.8rem);
}

@keyframes cs-result-tag-float {
  0%,
  100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-2px);
  }
}

@keyframes cs-result-arrow-pulse {
  0%,
  100% {
    opacity: 0.8;
    transform: scale(1);
  }
  50% {
    opacity: 1;
    transform: scale(1.06);
  }
}

@media (max-width: 719px) {
  .cs-result__dash-kpis {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .cs-result__dash-widgets {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .cs-result__tag {
    font-size: 0.42rem;
    padding: 0.22rem 0.35rem;
  }
}

.cs-result__footer {
  margin: clamp(1rem, 2vw, 1.35rem) 0 0;
  padding: 0.65rem 0.85rem;
  border-radius: 0.45rem;
  border: 1px solid rgba(229, 255, 57, 0.35);
  background: rgba(229, 255, 57, 0.08);
  font-size: clamp(0.72rem, 1.1vw, 0.82rem);
  line-height: 1.45;
  font-style: italic;
  text-align: center;
  color: rgba(205, 204, 204, 0.9);
}

.cs-result__footer span {
  color: var(--acid);
  font-style: normal;
  font-family: var(--font-impact);
  letter-spacing: -0.04em;
}

@media (max-width: 899px) {
  .cs-built__visual-wrap {
    width: min(100%, 20rem);
    transform: skewY(-2.5deg);
  }

  .page-case-study .cs-built__visual-wrap:hover {
    transform: skewY(-2.5deg) translateY(-3px) scale(1.01);
  }
}

@media (prefers-reduced-motion: reduce) {
  .cs-built__reveal,
  .cs-built__visual,
  .cs-result__tag,
  .cs-result__arrow {
    opacity: 1;
    transform: none;
    animation: none;
  }
}

.section--cs-learned {
  position: relative;
  overflow: hidden;
  background: #efefef;
  color: var(--gray-dark);
  padding: clamp(2.5rem, 6vw, 4rem) 0 clamp(3rem, 6vw, 4.5rem);
}

.cs-learned__dots {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image: radial-gradient(rgba(52, 52, 52, 0.14) 1px, transparent 1px);
  background-size: 18px 18px;
  mask-image: linear-gradient(180deg, black 0%, black 88%, transparent 100%);
}

.cs-learned__inner {
  position: relative;
  z-index: 1;
  width: min(1320px, calc(100% - 2.5rem));
  margin: 0 auto;
}

.cs-learned__layout {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(1rem, 2.5vw, 1.35rem);
  align-items: start;
}

@media (min-width: 900px) {
  .cs-learned__layout {
    grid-template-columns: minmax(0, 0.38fr) minmax(0, 0.62fr);
    grid-template-rows: auto 1fr;
    column-gap: clamp(1.25rem, 2.8vw, 2rem);
    row-gap: clamp(0.85rem, 1.8vw, 1.15rem);
  }

  .cs-learned__head {
    grid-column: 1;
    grid-row: 1;
  }

  .cs-learned__visual-wrap {
    grid-column: 2;
    grid-row: 1 / -1;
    align-self: start;
  }

  .cs-learned__body {
    grid-column: 1;
    grid-row: 2;
  }
}

.cs-learned__head {
  margin: 0;
}

.cs-learned__title {
  font-family: var(--font-impact);
  font-size: clamp(2rem, 5.5vw, 3.6rem);
  line-height: 0.95;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  margin: 0;
}

.cs-learned__title-line {
  display: block;
  color: var(--gray-dark);
}

.cs-learned__title-kw {
  color: transparent;
  -webkit-text-stroke: clamp(1.5px, 0.08em, 2px) var(--purple);
  paint-order: stroke fill;
  filter: drop-shadow(0 0 12px rgba(143, 0, 255, 0.35));
}

.cs-learned__body {
  display: grid;
  gap: clamp(0.75rem, 1.6vw, 1rem);
}

.cs-learned__body p {
  margin: 0;
  font-size: clamp(0.86rem, 1.25vw, 0.95rem);
  line-height: 1.62;
  color: rgba(52, 52, 52, 0.88);
}

.cs-learned__lead {
  font-weight: 700;
  color: var(--gray-dark) !important;
}

.cs-learned__emph {
  font-weight: 700;
  color: var(--gray-dark) !important;
}

.cs-learned__visual-wrap {
  margin: 0;
  width: 100%;
}

.cs-learned__visual {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 0.35rem;
  filter: drop-shadow(0 14px 32px rgba(52, 52, 52, 0.12));
}

.cs-learned__reveal {
  opacity: 0;
  transform: translateY(18px);
  animation: cs-learned-reveal 0.8s var(--ease-out) var(--d, 0s) forwards;
}

@keyframes cs-learned-reveal {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (max-width: 899px) {
  .cs-learned__layout {
    gap: 1.25rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .cs-learned__reveal {
    opacity: 1;
    transform: none;
    animation: none;
  }
}

.cs-relevance {
  margin-top: clamp(2rem, 4.5vw, 3rem);
}

.cs-relevance__panel {
  padding: clamp(1.25rem, 2.5vw, 1.75rem);
  border-radius: 0.85rem;
  border: 2px solid rgba(229, 255, 57, 0.55);
  background:
    linear-gradient(145deg, rgba(143, 0, 255, 0.1), rgba(4, 2, 14, 0.98)),
    #0a0612;
  box-shadow:
    0 0 0 1px rgba(143, 0, 255, 0.18) inset,
    0 24px 64px rgba(0, 0, 0, 0.42),
    0 0 40px rgba(143, 0, 255, 0.1);
}

.cs-relevance__main {
  display: grid;
  gap: clamp(1.25rem, 3vw, 2rem);
}

@media (min-width: 900px) {
  .cs-relevance__main {
    grid-template-columns: minmax(0, 0.46fr) minmax(0, 0.54fr);
    gap: clamp(1rem, 2.5vw, 1.75rem);
    align-items: start;
  }
}

.cs-relevance__title {
  font-family: var(--font-impact);
  font-size: clamp(1.85rem, 4.8vw, 3.2rem);
  line-height: 0.95;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  margin: 0 0 0.85rem;
}

.cs-relevance__title-line {
  display: block;
  color: var(--acid);
  text-shadow: 0 0 16px rgba(229, 255, 57, 0.22);
}

.cs-relevance__title-kw {
  color: transparent;
  -webkit-text-stroke: clamp(1.5px, 0.08em, 2px) var(--acid);
  paint-order: stroke fill;
  filter: drop-shadow(0 0 14px rgba(229, 255, 57, 0.35));
}

.cs-relevance__copy p {
  margin: 0 0 0.75rem;
  font-size: clamp(0.86rem, 1.25vw, 0.95rem);
  line-height: 1.58;
  color: rgba(205, 204, 204, 0.92);
}

.cs-relevance__copy p:last-child {
  margin-bottom: 0;
}

.cs-relevance__lead {
  font-weight: 700;
  color: rgba(255, 255, 255, 0.95) !important;
}

.cs-relevance__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.55rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

@media (min-width: 640px) {
  .cs-relevance__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (min-width: 1024px) {
  .cs-relevance__grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0.5rem;
  }
}

.cs-relevance__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  min-height: 5.5rem;
  padding: 0.65rem 0.45rem;
  border-radius: 0.5rem;
  border: 1px solid rgba(229, 255, 57, 0.28);
  background: rgba(3, 0, 8, 0.72);
  text-align: center;
  transition:
    border-color 0.3s var(--ease-out),
    box-shadow 0.3s var(--ease-out),
    transform 0.3s var(--ease-out);
}

.page-case-study .cs-relevance__item:hover {
  transform: translateY(-2px);
  border-color: rgba(229, 255, 57, 0.55);
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.28);
}

.cs-relevance__ico {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.65rem;
  height: 1.65rem;
  color: var(--acid);
  filter: drop-shadow(0 0 8px rgba(229, 255, 57, 0.35));
}

.cs-relevance__ico svg {
  width: 100%;
  height: 100%;
}

.cs-relevance__label {
  font-family: var(--font-impact);
  font-size: clamp(0.52rem, 0.9vw, 0.62rem);
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--acid);
  line-height: 1.2;
}

.cs-relevance__footer {
  margin: clamp(1rem, 2vw, 1.35rem) 0 0;
  padding: 0.65rem 0.85rem;
  border-radius: 0.45rem;
  border: 1px solid rgba(229, 255, 57, 0.35);
  background: rgba(229, 255, 57, 0.08);
  font-size: clamp(0.72rem, 1.1vw, 0.82rem);
  line-height: 1.45;
  font-style: italic;
  text-align: center;
  color: rgba(205, 204, 204, 0.9);
}

.cs-relevance__footer span {
  color: var(--acid);
  font-style: normal;
  font-family: var(--font-impact);
  letter-spacing: -0.04em;
}

@media (prefers-reduced-motion: reduce) {
  .page-case-study .cs-relevance__item:hover {
    transform: none;
  }
}

.section--cs-lab {
  position: relative;
  overflow: hidden;
  background: #efefef;
  color: var(--gray-dark);
  padding: clamp(2.5rem, 6vw, 4rem) 0 clamp(3rem, 6vw, 4.5rem);
}

.cs-lab__dots {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image: radial-gradient(rgba(52, 52, 52, 0.14) 1px, transparent 1px);
  background-size: 18px 18px;
  mask-image: linear-gradient(180deg, black 0%, black 90%, transparent 100%);
}

.cs-lab__inner {
  position: relative;
  z-index: 1;
  width: min(1320px, calc(100% - 2.5rem));
  margin: 0 auto;
  display: grid;
  gap: clamp(2rem, 4vw, 3rem);
}

.cs-lab__top {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(1rem, 2.2vw, 1.35rem);
  align-items: start;
}

@media (min-width: 1024px) {
  .cs-lab__top {
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
    grid-template-rows: auto auto;
    column-gap: clamp(1rem, 2.2vw, 1.5rem);
    row-gap: clamp(0.85rem, 1.8vw, 1.15rem);
  }

  .cs-lab__head {
    grid-column: 1;
    grid-row: 1;
  }

  .cs-lab__visual-wrap {
    grid-column: 2;
    grid-row: 1 / -1;
    align-self: start;
  }

  .cs-lab__cards {
    grid-column: 1;
    grid-row: 2;
  }
}

.cs-lab__title {
  font-family: var(--font-impact);
  font-size: clamp(1.85rem, 5vw, 3.2rem);
  line-height: 0.95;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  margin: 0;
}

.cs-lab__label {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  margin: 0 0 0.65rem;
  font-family: var(--font-impact);
  font-size: clamp(0.62rem, 1vw, 0.72rem);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--purple);
}

.cs-lab__label-dot {
  width: 0.45rem;
  height: 0.45rem;
  border-radius: 50%;
  background: var(--purple);
  box-shadow: 0 0 10px rgba(143, 0, 255, 0.45);
}

.cs-lab__label {
  display: block;
  color: var(--gray-dark);
}

.cs-lab__title-kw {
  color: transparent;
  -webkit-text-stroke: clamp(1.5px, 0.08em, 2px) var(--purple);
  paint-order: stroke fill;
  filter: drop-shadow(0 0 12px rgba(143, 0, 255, 0.35));
}

.cs-lab__cards {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.65rem;
}

@media (min-width: 640px) {
  .cs-lab__cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 1200px) {
  .cs-lab__cards {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0.55rem;
  }
}

.cs-lab__card {
  display: block;
  text-decoration: none;
  color: inherit;
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  min-height: 11rem;
  padding: 0.85rem 0.75rem 0.75rem;
  border-radius: 0.55rem;
  border: 1px solid rgba(143, 0, 255, 0.12);
  background: #fff;
  box-shadow: 0 8px 24px rgba(52, 52, 52, 0.08);
  transition:
    transform 0.35s var(--ease-out),
    box-shadow 0.35s var(--ease-out),
    border-color 0.35s;
}

.page-case-study .cs-lab__card:hover {
  transform: translateY(-3px);
  border-color: rgba(143, 0, 255, 0.28);
  box-shadow: 0 14px 32px rgba(52, 52, 52, 0.12);
}

.cs-lab__card-index {
  position: absolute;
  top: 0.55rem;
  right: 0.55rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.35rem;
  height: 1.35rem;
  padding: 0 0.25rem;
  border-radius: 0.25rem;
  background: var(--purple);
  font-family: var(--font-impact);
  font-size: 0.58rem;
  letter-spacing: 0.04em;
  color: #fff;
}

.cs-lab__card-ico {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.65rem;
  height: 1.65rem;
  color: var(--purple);
}

.cs-lab__card-ico svg {
  width: 100%;
  height: 100%;
}

.cs-lab__card-value {
  font-family: var(--font-impact);
  font-size: clamp(1.35rem, 2.5vw, 1.75rem);
  line-height: 1;
  color: var(--purple);
  font-variant-numeric: tabular-nums;
  text-shadow: 0 0 14px rgba(143, 0, 255, 0.2);
}

.cs-lab__card-title {
  margin: 0;
  font-family: var(--font-impact);
  font-size: clamp(0.58rem, 0.95vw, 0.68rem);
  line-height: 1.25;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--gray-dark);
}

.cs-lab__card-text {
  margin: 0;
  font-size: clamp(0.68rem, 1vw, 0.76rem);
  line-height: 1.45;
  color: rgba(52, 52, 52, 0.78);
}

.cs-lab__card--text {
  min-height: 10.5rem;
}

.cs-lab__card--text .cs-lab__card-title {
  margin-top: 0.15rem;
}

.cs-lab__visual-wrap {
  margin: 0;
  width: 100%;
}

@media (min-width: 1024px) {
  .cs-lab__visual-wrap {
    align-self: stretch;
    display: flex;
    align-items: flex-start;
  }
}

.cs-lab__visual {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 0.55rem;
  filter: drop-shadow(0 16px 36px rgba(52, 52, 52, 0.14));
}

.cs-lab__reveal {
  opacity: 0;
  transform: translateY(18px);
  animation: cs-lab-reveal 0.8s var(--ease-out) var(--d, 0s) forwards;
}

@keyframes cs-lab-reveal {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.cs-born__panel {
  padding: clamp(1.25rem, 2.5vw, 1.75rem);
  border-radius: 0.85rem;
  border: 2px solid rgba(143, 0, 255, 0.45);
  background:
    linear-gradient(145deg, rgba(143, 0, 255, 0.08), rgba(4, 2, 14, 0.98)),
    #08040f;
  box-shadow:
    0 0 0 1px rgba(143, 0, 255, 0.15) inset,
    0 24px 64px rgba(0, 0, 0, 0.45);
}

.cs-born__main {
  display: grid;
  gap: clamp(1.25rem, 3vw, 2rem);
}

@media (min-width: 900px) {
  .cs-born__main {
    grid-template-columns: minmax(0, 0.46fr) minmax(0, 0.54fr);
    gap: clamp(1rem, 2.5vw, 1.75rem);
    align-items: center;
  }
}

.cs-born__title {
  font-family: var(--font-impact);
  font-size: clamp(2rem, 5vw, 3.4rem);
  line-height: 0.95;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  margin: 0 0 0.85rem;
}

.cs-born__title-solid {
  display: block;
  color: #fff;
}

.cs-born__title-kw {
  display: block;
  color: transparent;
  -webkit-text-stroke: clamp(1.5px, 0.08em, 2px) var(--acid);
  paint-order: stroke fill;
  filter: drop-shadow(0 0 14px rgba(229, 255, 57, 0.35));
}

.cs-born__copy p {
  margin: 0 0 0.75rem;
  font-size: clamp(0.86rem, 1.25vw, 0.95rem);
  line-height: 1.58;
  color: rgba(205, 204, 204, 0.92);
}

.cs-born__callout {
  display: flex;
  align-items: flex-start;
  gap: 0.65rem;
  margin-top: 0.85rem;
  padding: 0.75rem 0.85rem;
  border-radius: 0.5rem;
  border: 1px solid rgba(229, 255, 57, 0.45);
  background: rgba(229, 255, 57, 0.06);
}

.cs-born__callout-ico {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.65rem;
  height: 1.65rem;
  border-radius: 50%;
  border: 1px solid rgba(229, 255, 57, 0.45);
  font-size: 0.9rem;
  flex-shrink: 0;
}

.cs-born__callout p {
  margin: 0;
  font-size: clamp(0.8rem, 1.15vw, 0.9rem);
  line-height: 1.5;
  font-weight: 600;
  color: var(--acid);
}

.cs-born__hub {
  position: relative;
  min-height: 15.5rem;
  padding: 0.35rem 0;
}

.cs-born__hub-svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.cs-born__line,
.cs-born__ring {
  fill: none;
  stroke-linecap: round;
  transition: stroke 0.35s var(--ease-out), stroke-width 0.35s var(--ease-out), opacity 0.35s;
}

.cs-born__line {
  stroke: rgba(143, 0, 255, 0.42);
  stroke-width: 1.25;
  stroke-dasharray: 5 5;
}

.cs-born__ring {
  stroke: rgba(229, 255, 57, 0.28);
  stroke-width: 1;
  stroke-dasharray: 4 6;
}

.cs-born__hub:has(.cs-born__node:hover) .cs-born__line {
  stroke: rgba(143, 0, 255, 0.18);
}

.cs-born__hub:has(.cs-born__node:hover) .cs-born__line.is-active,
.cs-born__hub:has(.cs-born__node:focus-visible) .cs-born__line.is-active {
  stroke: rgba(229, 255, 57, 0.85);
  stroke-width: 1.75;
  filter: drop-shadow(0 0 6px rgba(229, 255, 57, 0.45));
}

.cs-born__nodes {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0.55rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.cs-born__nodes--top {
  margin-bottom: 0.85rem;
}

.cs-born__nodes--bottom {
  margin-top: 0.85rem;
}

.cs-born__nodes li {
  display: flex;
  justify-content: center;
}

.cs-born__node {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.2rem;
  width: 100%;
  min-height: 3.35rem;
  padding: 0.55rem 0.4rem;
  border-radius: 0.45rem;
  border: 1px solid rgba(143, 0, 255, 0.4);
  background: rgba(8, 2, 16, 0.92);
  text-decoration: none;
  text-align: center;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.28);
  transition:
    transform 0.38s var(--ease-out),
    border-color 0.38s var(--ease-out),
    box-shadow 0.38s var(--ease-out),
    background 0.38s var(--ease-out);
}

.cs-born__node-label {
  font-family: var(--font-impact);
  font-size: clamp(0.58rem, 0.95vw, 0.72rem);
  letter-spacing: 0.05em;
  text-transform: uppercase;
  line-height: 1.15;
  color: rgba(255, 255, 255, 0.95);
}

.cs-born__node-meta {
  font-size: clamp(0.46rem, 0.72vw, 0.56rem);
  letter-spacing: 0.03em;
  text-transform: uppercase;
  line-height: 1.2;
  color: rgba(229, 255, 57, 0.72);
  transition: color 0.35s var(--ease-out);
}

.page-case-study .cs-born__node:hover,
.page-case-study .cs-born__node:focus-visible {
  transform: translateY(-5px) scale(1.04);
  border-color: rgba(229, 255, 57, 0.75);
  background: rgba(12, 4, 22, 0.98);
  box-shadow:
    0 14px 30px rgba(0, 0, 0, 0.35),
    0 0 22px rgba(229, 255, 57, 0.18);
  outline: none;
}

.page-case-study .cs-born__node:hover .cs-born__node-meta,
.page-case-study .cs-born__node:focus-visible .cs-born__node-meta {
  color: var(--acid);
}

.cs-born__core {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  margin: 0.15rem auto;
  text-decoration: none;
  transition: transform 0.4s var(--ease-out), filter 0.4s var(--ease-out);
  animation: cs-born-core-pulse 3.2s ease-in-out infinite;
}

.page-case-study .cs-born__core:hover,
.page-case-study .cs-born__core:focus-visible {
  transform: scale(1.05);
  outline: none;
}

.cs-born__core-hex {
  display: block;
  width: clamp(5rem, 9vw, 6.25rem);
  height: clamp(5rem, 9vw, 6.25rem);
  padding: 3px;
  background: linear-gradient(145deg, var(--acid), rgba(143, 0, 255, 0.85));
  clip-path: polygon(50% 0%, 93% 25%, 93% 75%, 50% 100%, 7% 75%, 7% 25%);
  box-shadow:
    0 0 28px rgba(229, 255, 57, 0.28),
    0 0 42px rgba(143, 0, 255, 0.2);
}

.cs-born__core-img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 18%;
  clip-path: polygon(50% 0%, 93% 25%, 93% 75%, 50% 100%, 7% 75%, 7% 25%);
  background: #08040f;
}

@keyframes cs-born-core-pulse {
  0%,
  100% {
    filter: drop-shadow(0 0 12px rgba(229, 255, 57, 0.2));
  }
  50% {
    filter: drop-shadow(0 0 22px rgba(229, 255, 57, 0.38));
  }
}

@media (max-width: 639px) {
  .cs-born__nodes {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.45rem;
  }

  .cs-born__nodes--top {
    margin-bottom: 0.65rem;
  }

  .cs-born__nodes--bottom {
    margin-top: 0.65rem;
  }

  .cs-born__node {
    min-height: 3rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .cs-lab__reveal,
  .cs-born__core {
    opacity: 1;
    transform: none;
    animation: none;
  }

  .page-case-study .cs-lab__card:hover,
  .page-case-study .cs-born__node:hover,
  .page-case-study .cs-born__node:focus-visible,
  .page-case-study .cs-born__core:hover {
    transform: none;
  }
}

.section--cs-contact .bestia-contact__title {
  max-width: 22ch;
}

.cs-contact-kw {
  color: var(--acid);
  font-weight: 600;
}

.page-case-study .bestia-contact__form {
  transition:
    transform 0.35s var(--ease-out),
    border-color var(--transition),
    box-shadow var(--transition);
}

.page-case-study .bestia-contact__form:hover {
  transform: translateY(-3px);
  border-color: rgba(229, 255, 57, 0.55);
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.22);
}

.page-case-study .bestia-contact__submit:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(143, 0, 255, 0.35);
}

@media (prefers-reduced-motion: reduce) {
  .page-case-study .bestia-contact__form:hover,
  .page-case-study .bestia-contact__submit:hover,
  .page-case-study .cs-board__callout:hover,
  .page-case-study .cs-board__tag:hover {
    transform: none;
  }
}

/* ——— Pagina Chi siamo ——— */
.page-chi-siamo {
  background: var(--acid);
  color: var(--purple);
}

.page-chi-siamo .site-nav__link.is-active {
  color: var(--acid);
}

.hero--chi-siamo {
  position: relative;
  padding-top: var(--header-h);
  min-height: 100svh;
  background: var(--acid);
  overflow: hidden;
}

.cs-about-hero__layout {
  display: grid;
  min-height: calc(100svh - var(--header-h));
}

@media (min-width: 900px) {
  .cs-about-hero__layout {
    grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.92fr);
    align-items: stretch;
  }
}

.cs-about-hero__copy {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 0;
  padding: clamp(1.5rem, 3.5vw, 2.75rem) clamp(1.25rem, 4vw, 3.25rem)
    clamp(2rem, 4vw, 3rem);
  background: var(--acid);
}

@media (min-width: 900px) {
  .cs-about-hero__copy {
    padding-right: clamp(2rem, 4vw, 3.5rem);
    clip-path: polygon(
      0 0,
      100% 0,
      calc(100% - 2rem) 44%,
      calc(100% - 0.85rem) 44%,
      calc(100% - 0.85rem) 56%,
      calc(100% - 2rem) 56%,
      100% 100%,
      0 100%
    );
  }
}

.cs-about-hero__frame {
  position: absolute;
  inset: clamp(0.85rem, 2vw, 1.35rem) clamp(0.85rem, 2.2vw, 1.5rem)
    clamp(0.85rem, 2vw, 1.35rem) clamp(0.85rem, 2.2vw, 1.5rem);
  border: 1px solid rgba(143, 0, 255, 0.55);
  pointer-events: none;
}

.cs-about-hero__frame-corner {
  position: absolute;
  width: 1.1rem;
  height: 1.1rem;
  border-color: var(--purple);
  border-style: solid;
}

.cs-about-hero__frame-corner--tl {
  top: -1px;
  left: -1px;
  border-width: 2px 0 0 2px;
}

.cs-about-hero__frame-corner--tr {
  top: -1px;
  right: -1px;
  border-width: 2px 2px 0 0;
}

.cs-about-hero__frame-corner--bl {
  bottom: -1px;
  left: -1px;
  border-width: 0 0 2px 2px;
}

.cs-about-hero__frame-corner--br {
  right: -1px;
  bottom: -1px;
  border-width: 0 2px 2px 0;
}

.cs-about-hero__frame-tick {
  position: absolute;
  left: 50%;
  width: 0.55rem;
  height: 0.55rem;
  border: 1px solid rgba(143, 0, 255, 0.65);
  transform: translateX(-50%) rotate(45deg);
  background: var(--acid);
}

.cs-about-hero__frame-tick--top {
  top: -0.28rem;
}

.cs-about-hero__frame-tick--bottom {
  bottom: -0.28rem;
}

.cs-about-hero__eyebrow {
  margin: 0 0 0.85rem;
  font-family: var(--font-impact);
  font-size: clamp(0.62rem, 1vw, 0.72rem);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--purple);
}

.cs-about-hero__title {
  margin: 0 0 clamp(1rem, 2vw, 1.35rem);
  font-family: var(--font-impact);
  font-size: clamp(1.85rem, 4.4vw, 3.35rem);
  line-height: 0.95;
  letter-spacing: 0.01em;
  text-transform: uppercase;
  color: var(--purple);
}

.cs-about-hero__title-line {
  display: block;
}

.cs-about-hero__title-line--outline {
  color: transparent;
  -webkit-text-stroke: clamp(1.5px, 0.1em, 2.5px) var(--purple);
}

@supports not (-webkit-text-stroke: 1px #8f00ff) {
  .cs-about-hero__title-line--outline {
    color: var(--acid);
    -webkit-text-stroke: 0;
    text-shadow: 0 0 0 var(--purple);
  }
}

.cs-about-hero__body {
  display: grid;
  gap: 0.85rem;
  max-width: 44rem;
}

.cs-about-hero__lead,
.cs-about-hero__text {
  margin: 0;
  font-size: clamp(0.92rem, 1.35vw, 1.02rem);
  line-height: 1.62;
  color: rgba(52, 52, 52, 0.92);
}

.page-chi-siamo .site-footer {
  margin-top: 0;
}

.cs-about-hero__list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0.35rem;
}

.cs-about-hero__list li {
  position: relative;
  padding-left: 1.35rem;
  font-size: clamp(0.9rem, 1.3vw, 1rem);
  line-height: 1.55;
  color: rgba(52, 52, 52, 0.9);
}

.cs-about-hero__list li::before {
  content: "//";
  position: absolute;
  left: 0;
  top: 0;
  font-family: var(--font-impact);
  font-size: 0.78em;
  letter-spacing: 0.04em;
  color: var(--purple);
}

.cs-about-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: clamp(1.1rem, 2vw, 1.5rem);
}

.cs-about-hero__btn {
  gap: 0.45rem;
  padding: 0.9rem 1.35rem;
  font-size: clamp(0.62rem, 1vw, 0.74rem);
}

.cs-about-hero__btn--primary {
  color: #fff;
  background: var(--purple);
  border-color: var(--purple);
  box-shadow: 0 10px 28px rgba(143, 0, 255, 0.28);
}

.page-chi-siamo .cs-about-hero__btn--primary:hover {
  color: #fff;
  background: #7a00df;
  border-color: #7a00df;
  transform: translateY(-2px);
  box-shadow: 0 14px 32px rgba(143, 0, 255, 0.38);
}

.cs-about-hero__btn--ghost {
  color: var(--purple);
  background: transparent;
  border-color: rgba(143, 0, 255, 0.75);
}

.page-chi-siamo .cs-about-hero__btn--ghost:hover {
  color: var(--purple);
  background: rgba(143, 0, 255, 0.08);
  border-color: var(--purple);
  transform: translateY(-2px);
}

.cs-about-hero__btn-arrow {
  font-size: 1.05em;
  line-height: 1;
}

.cs-about-hero__visual {
  position: relative;
  min-height: 18rem;
  background: #0a0610;
}

@media (min-width: 900px) {
  .cs-about-hero__visual {
    margin-left: -2.5rem;
    min-height: calc(100svh - var(--header-h));
    clip-path: polygon(10% 0, 100% 0, 100% 100%, 0 100%);
  }
}

.cs-about-hero__figure {
  position: absolute;
  inset: 0;
  margin: 0;
}

.cs-about-hero__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}

.cs-about-hero__chips {
  position: absolute;
  z-index: 2;
  top: clamp(0.85rem, 2vw, 1.35rem);
  left: clamp(0.65rem, 2vw, 1.25rem);
  right: clamp(0.65rem, 2vw, 1.25rem);
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.45rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

@media (min-width: 640px) {
  .cs-about-hero__chips {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

.cs-about-hero__chip {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
  padding: 0.45rem 0.5rem;
  border: 1px solid rgba(143, 0, 255, 0.55);
  border-radius: 0.35rem;
  background: rgba(8, 2, 16, 0.72);
  backdrop-filter: blur(8px);
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.28);
}

.cs-about-hero__chip strong {
  font-family: var(--font-impact);
  font-size: clamp(0.58rem, 0.95vw, 0.68rem);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #fff;
  font-weight: 400;
}

.cs-about-hero__chip span {
  font-size: clamp(0.48rem, 0.75vw, 0.56rem);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: rgba(229, 255, 57, 0.88);
}

.cs-about-hero__flow {
  position: absolute;
  z-index: 2;
  top: 50%;
  right: clamp(0.5rem, 1.5vw, 1rem);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.2rem;
  margin: 0;
  transform: translateY(-50%);
  font-family: var(--font-impact);
  font-size: clamp(0.52rem, 0.85vw, 0.62rem);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--acid);
  text-shadow: 0 0 16px rgba(229, 255, 57, 0.35);
}

.cs-about-hero__flow-arrow {
  font-size: 0.9em;
  line-height: 1;
  opacity: 0.85;
}

.cs-about-hero__dock {
  position: absolute;
  z-index: 2;
  left: clamp(0.65rem, 2vw, 1.25rem);
  right: clamp(0.65rem, 2vw, 1.25rem);
  bottom: clamp(0.85rem, 2vw, 1.35rem);
  padding: 0.55rem 0.45rem 0.45rem;
  border: 1px solid rgba(143, 0, 255, 0.55);
  border-radius: 0.55rem;
  background: rgba(8, 2, 16, 0.78);
  backdrop-filter: blur(10px);
  box-shadow: 0 14px 34px rgba(0, 0, 0, 0.35);
}

.cs-about-hero__dock-list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.35rem 0.25rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

@media (min-width: 640px) {
  .cs-about-hero__dock-list {
    grid-template-columns: repeat(7, minmax(0, 1fr));
  }
}

.cs-about-hero__dock-list li {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.25rem;
  text-align: center;
}

.cs-about-hero__dock-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.35rem;
  height: 1.35rem;
  color: var(--acid);
}

.cs-about-hero__dock-icon svg {
  width: 100%;
  height: 100%;
}

.cs-about-hero__dock-list span:last-child {
  font-size: clamp(0.42rem, 0.68vw, 0.52rem);
  letter-spacing: 0.03em;
  text-transform: uppercase;
  line-height: 1.15;
  color: rgba(255, 255, 255, 0.88);
}

@media (max-width: 899px) {
  .cs-about-hero__visual {
    min-height: 22rem;
    order: -1;
  }

  .cs-about-hero__copy {
    padding-top: 1.25rem;
  }

  .cs-about-hero__flow {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .page-chi-siamo .cs-about-hero__btn--primary:hover,
  .page-chi-siamo .cs-about-hero__btn--ghost:hover {
    transform: none;
  }
}

/* ——— Chi siamo: Manifesto ——— */
.section--cs-about-manifesto {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(ellipse 85% 55% at 15% -8%, rgba(229, 255, 57, 0.1), transparent 52%),
    radial-gradient(ellipse 60% 45% at 95% 105%, rgba(0, 0, 0, 0.35), transparent 55%),
    radial-gradient(ellipse 50% 40% at 50% 50%, rgba(180, 77, 255, 0.18), transparent 70%),
    linear-gradient(165deg, #5c00ad 0%, #8f00ff 32%, #7a00df 62%, #6200b5 100%);
  color: #fff;
}

.section--cs-about-metodo {
  background: var(--purple);
  color: var(--white);
}

.mf-manifesto__atmosphere {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.mf-manifesto__grid {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(255, 255, 255, 0.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.04) 1px, transparent 1px);
  background-size: 48px 48px;
  mask-image: radial-gradient(ellipse at 35% 20%, #000 20%, transparent 75%);
  opacity: 0.5;
}

.mf-manifesto__mesh {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
}

[data-manifesto-section].is-active .mf-manifesto__mesh {
  animation: mf-team-mesh-in 1.2s var(--ease-out) 0.1s forwards;
}

.mf-manifesto__mesh-line {
  fill: none;
  stroke: rgba(255, 255, 255, 0.08);
  stroke-width: 1;
  stroke-dasharray: 8 10;
}

.mf-manifesto__mesh-line--v {
  stroke: rgba(229, 255, 57, 0.1);
}

.mf-manifesto__glow {
  position: absolute;
  border-radius: 50%;
  filter: blur(88px);
  opacity: 0.5;
  animation: mf-method-glow 16s ease-in-out infinite;
}

.mf-manifesto__glow--tl {
  top: -10%;
  left: -6%;
  width: 46%;
  height: 40%;
  background: rgba(229, 255, 57, 0.12);
}

.mf-manifesto__glow--br {
  right: -8%;
  bottom: -6%;
  width: 42%;
  height: 38%;
  background: rgba(0, 0, 0, 0.35);
  animation-delay: -7s;
}

.mf-manifesto__inner {
  position: relative;
  z-index: 1;
  width: min(100%, 86rem);
  margin: 0 auto;
  padding: clamp(3.5rem, 8vw, 6rem) clamp(1.25rem, 4vw, 3.5rem) clamp(3.5rem, 7vw, 5.5rem);
}

.mf-manifesto__hero {
  margin-bottom: clamp(2.5rem, 6vw, 4rem);
  text-align: center;
}

.mf-manifesto__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  margin: 0 0 1.25rem;
  font-family: var(--font-impact);
  font-size: clamp(0.62rem, 1vw, 0.74rem);
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--acid);
}

.mf-manifesto__eyebrow-dot {
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  background: var(--acid);
  box-shadow: 0 0 14px rgba(229, 255, 57, 0.65);
  animation: mf-live-blink 2s ease-in-out infinite;
}

.mf-manifesto__mega {
  margin: 0 auto;
  max-width: min(100%, 40rem);
  font-family: var(--font-impact);
  font-size: clamp(2.1rem, 6.8vw, 5rem);
  line-height: 0.95;
  letter-spacing: 0.01em;
  text-transform: uppercase;
  text-align: center;
  text-wrap: balance;
}

.mf-manifesto__mega-line {
  display: block;
  color: #fff;
}

.mf-manifesto__mega-outline {
  color: transparent;
  -webkit-text-stroke: clamp(1.5px, 0.06em, 3px) rgba(255, 255, 255, 0.55);
}

.mf-manifesto__mega-line--accent {
  margin-top: 0.12em;
  color: var(--acid);
  filter: drop-shadow(0 0 32px rgba(229, 255, 57, 0.28));
}

.mf-manifesto__layout {
  display: grid;
  gap: clamp(2rem, 5vw, 3.5rem);
  align-items: start;
}

@media (min-width: 1024px) {
  .mf-manifesto__layout {
    grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
    gap: clamp(2.5rem, 5vw, 4rem);
  }

  .mf-manifesto__viz-wrap {
    position: sticky;
    top: calc(var(--header-h, 4.5rem) + 1.5rem);
  }
}

.mf-manifesto__copy {
  display: flex;
  flex-direction: column;
  gap: clamp(1.25rem, 3vw, 1.75rem);
}

.mf-manifesto__lead {
  margin: 0;
  font-size: clamp(1.05rem, 1.85vw, 1.28rem);
  line-height: 1.65;
  color: rgba(255, 255, 255, 0.88);
}

.mf-manifesto__points {
  display: grid;
  gap: clamp(0.75rem, 2vw, 1rem);
}

.mf-manifesto__point {
  position: relative;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: clamp(0.85rem, 2vw, 1.25rem);
  align-items: start;
  padding: clamp(1rem, 2.2vw, 1.35rem) clamp(1rem, 2.2vw, 1.45rem);
  border-radius: 0.85rem;
  border: 1px solid rgba(255, 255, 255, 0.1);
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.07), rgba(255, 255, 255, 0.02)),
    rgba(8, 4, 18, 0.45);
  backdrop-filter: blur(14px);
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.22);
  overflow: hidden;
  transition:
    transform 0.45s var(--ease-out),
    border-color 0.45s,
    box-shadow 0.45s,
    opacity 0.45s;
}

.mf-manifesto__point::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 3px;
  border-radius: 999px;
  background: linear-gradient(180deg, var(--acid), rgba(143, 0, 255, 0.7));
  box-shadow: 0 0 14px rgba(229, 255, 57, 0.3);
  opacity: 0.75;
  transition: opacity 0.35s, box-shadow 0.35s;
}

.mf-manifesto__point.is-dimmed {
  opacity: 0.5;
  transform: scale(0.98);
}

.mf-manifesto__point.is-highlighted {
  transform: translateX(6px);
  border-color: rgba(229, 255, 57, 0.35);
  box-shadow:
    0 24px 52px rgba(0, 0, 0, 0.32),
    0 0 28px rgba(229, 255, 57, 0.12);
}

.mf-manifesto__point.is-highlighted::before {
  opacity: 1;
  box-shadow: 0 0 22px rgba(229, 255, 57, 0.45);
}

.mf-manifesto__point-shine {
  position: absolute;
  inset: 0;
  background: linear-gradient(105deg, transparent 40%, rgba(229, 255, 57, 0.07) 50%, transparent 60%);
  transform: translateX(-120%);
  pointer-events: none;
}

.mf-manifesto__point.is-highlighted .mf-manifesto__point-shine {
  animation: mf-method-shine 0.9s var(--ease-out);
}

.mf-manifesto__point-num {
  font-family: var(--font-impact);
  font-size: clamp(1.25rem, 2.8vw, 1.85rem);
  line-height: 1;
  letter-spacing: 0.04em;
  color: rgba(229, 255, 57, 0.25);
  transition: color 0.35s, text-shadow 0.35s;
}

.mf-manifesto__point.is-highlighted .mf-manifesto__point-num {
  color: var(--acid);
  text-shadow: 0 0 20px rgba(229, 255, 57, 0.35);
}

.mf-manifesto__point-title {
  margin: 0 0 0.4rem;
  font-family: var(--font-impact);
  font-size: clamp(0.82rem, 1.4vw, 1rem);
  line-height: 1.15;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #fff;
}

.mf-manifesto__point-text {
  margin: 0;
  font-size: clamp(0.88rem, 1.25vw, 0.98rem);
  line-height: 1.58;
  color: rgba(255, 255, 255, 0.72);
}

.mf-manifesto__closing {
  padding: clamp(1rem, 2.5vw, 1.35rem) clamp(1.1rem, 2.5vw, 1.5rem);
  border-radius: 0.85rem;
  border: 1px solid rgba(229, 255, 57, 0.22);
  background:
    radial-gradient(circle at 0% 0%, rgba(229, 255, 57, 0.08), transparent 50%),
    rgba(4, 2, 10, 0.55);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.04);
  opacity: 0;
  transform: translateY(16px);
}

[data-manifesto-closing].is-active {
  animation: mf-method-card-in 0.8s var(--ease-out) forwards;
}

.mf-manifesto__closing-text {
  margin: 0;
  font-size: clamp(0.95rem, 1.45vw, 1.08rem);
  line-height: 1.62;
  color: rgba(255, 255, 255, 0.9);
}

.cs-about-kw {
  color: var(--acid);
  font-weight: 600;
  transition: text-shadow 0.35s var(--ease-out);
}

.page-chi-siamo .mf-manifesto__point-text:hover .cs-about-kw,
.page-chi-siamo .mf-manifesto__closing-text:hover .cs-about-kw,
.page-chi-siamo .cs-about-kw:focus-visible {
  text-shadow: 0 0 16px rgba(229, 255, 57, 0.45);
}

/* ——— Manifesto: visual experience ——— */
.mf-manifesto__viz-wrap {
  width: 100%;
  perspective: 1200px;
  transition: transform 0.12s linear;
}

.mf-viz {
  position: relative;
  min-height: clamp(24rem, 52vw, 34rem);
  padding: clamp(0.95rem, 2vw, 1.25rem);
  border-radius: 1rem;
  border: 1px solid rgba(229, 255, 57, 0.32);
  background:
    radial-gradient(circle at 18% 42%, rgba(255, 80, 80, 0.1), transparent 42%),
    radial-gradient(circle at 82% 58%, rgba(229, 255, 57, 0.12), transparent 40%),
    linear-gradient(145deg, #0a0612 0%, #12081c 48%, #0e0a14 100%);
  box-shadow:
    0 40px 88px rgba(0, 0, 0, 0.48),
    0 0 0 1px rgba(143, 0, 255, 0.25) inset,
    0 0 56px rgba(143, 0, 255, 0.15);
  overflow: hidden;
  transform: rotateX(2deg) rotateY(-1deg);
  transition: transform 0.6s var(--ease-out), box-shadow 0.6s var(--ease-out);
}

[data-manifesto-viz].is-active .mf-viz {
  transform: rotateX(0deg) rotateY(0deg);
}

.page-chi-siamo [data-manifesto-viz]:hover .mf-viz {
  box-shadow:
    0 48px 96px rgba(0, 0, 0, 0.52),
    0 0 0 1px rgba(229, 255, 57, 0.28) inset,
    0 0 72px rgba(143, 0, 255, 0.22);
}

.mf-viz__atmosphere {
  position: absolute;
  inset: 0;
  pointer-events: none;
  overflow: hidden;
}

.mf-viz__glow {
  position: absolute;
  border-radius: 50%;
  filter: blur(48px);
  opacity: 0.55;
  animation: mf-glow-drift 10s ease-in-out infinite;
}

.mf-viz__glow--chaos {
  top: 8%;
  left: -8%;
  width: 55%;
  height: 55%;
  background: rgba(255, 70, 70, 0.22);
}

.mf-viz__glow--order {
  right: -6%;
  bottom: 4%;
  width: 50%;
  height: 50%;
  background: rgba(229, 255, 57, 0.16);
  animation-delay: -4s;
}

.mf-viz__grid {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(229, 255, 57, 0.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(229, 255, 57, 0.04) 1px, transparent 1px);
  background-size: 28px 28px;
  mask-image: radial-gradient(ellipse at center, #000 30%, transparent 78%);
  opacity: 0.65;
}

.mf-viz__scanline {
  position: absolute;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, rgba(229, 255, 57, 0.35), transparent);
  animation: mf-scan 4.5s linear infinite;
  opacity: 0;
}

[data-manifesto-viz].is-active .mf-viz__scanline {
  opacity: 1;
}

.mf-viz__chrome {
  position: absolute;
  inset: 0.65rem;
  pointer-events: none;
}

.mf-viz__corner {
  position: absolute;
  width: 1.25rem;
  height: 1.25rem;
  border-color: rgba(229, 255, 57, 0.45);
  border-style: solid;
}

.mf-viz__corner--tl {
  top: 0;
  left: 0;
  border-width: 2px 0 0 2px;
}

.mf-viz__corner--tr {
  top: 0;
  right: 0;
  border-width: 2px 2px 0 0;
}

.mf-viz__corner--bl {
  bottom: 0;
  left: 0;
  border-width: 0 0 2px 2px;
}

.mf-viz__corner--br {
  right: 0;
  bottom: 0;
  border-width: 0 2px 2px 0;
}

.mf-viz__header {
  position: relative;
  z-index: 2;
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.65rem;
}

.mf-viz__status {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.35rem 0.65rem;
  border-radius: 999px;
  font-family: var(--font-impact);
  font-size: clamp(0.48rem, 0.78vw, 0.58rem);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.mf-viz__status--chaos {
  color: #ff8a8a;
  background: rgba(255, 80, 80, 0.1);
  border: 1px solid rgba(255, 100, 100, 0.35);
}

.mf-viz__status--order {
  color: var(--acid);
  background: rgba(229, 255, 57, 0.1);
  border: 1px solid rgba(229, 255, 57, 0.35);
}

.mf-viz__status-ico {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1rem;
  height: 1rem;
  border-radius: 0.25rem;
  font-size: 0.62rem;
  line-height: 1;
}

.mf-viz__stage {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  gap: 0.35rem;
  min-height: clamp(18rem, 38vw, 24rem);
  align-items: center;
  transform-style: preserve-3d;
  transition: transform 0.15s linear;
}

.mf-viz__panel {
  position: relative;
  height: 100%;
  min-height: clamp(16rem, 34vw, 22rem);
  border-radius: 0.75rem;
  overflow: hidden;
}

.mf-viz__panel--chaos {
  background: linear-gradient(160deg, rgba(8, 4, 14, 0.92), rgba(18, 8, 24, 0.88));
  border: 1px solid rgba(255, 255, 255, 0.06);
  box-shadow: inset 0 0 40px rgba(0, 0, 0, 0.35);
}

.mf-viz__panel--order {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  padding: 0.55rem;
  background: linear-gradient(155deg, rgba(245, 245, 245, 0.97), rgba(232, 232, 238, 0.94));
  border: 1px solid rgba(229, 255, 57, 0.35);
  box-shadow:
    0 12px 32px rgba(0, 0, 0, 0.18),
    inset 0 0 0 1px rgba(255, 255, 255, 0.65);
}

.mf-viz__wires {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.mf-viz__wire {
  fill: none;
  stroke-width: 1.5;
  stroke-linecap: round;
  stroke-dasharray: 220;
  stroke-dashoffset: 220;
  transition: stroke 0.4s;
}

.mf-viz__wire--chaos {
  stroke: rgba(255, 120, 120, 0.28);
}

.mf-viz__wire--order {
  stroke: rgba(143, 0, 255, 0.35);
}

[data-manifesto-viz].is-active .mf-viz__wire {
  animation: mf-wire-draw 1.4s var(--ease-out) forwards;
}

[data-manifesto-viz].is-active .mf-viz__wire--chaos:nth-child(1) { animation-delay: 0.05s; }
[data-manifesto-viz].is-active .mf-viz__wire--chaos:nth-child(2) { animation-delay: 0.12s; }
[data-manifesto-viz].is-active .mf-viz__wire--chaos:nth-child(3) { animation-delay: 0.18s; }
[data-manifesto-viz].is-active .mf-viz__wire--chaos:nth-child(4) { animation-delay: 0.1s; }
[data-manifesto-viz].is-active .mf-viz__wire--chaos:nth-child(5) { animation-delay: 0.22s; }
[data-manifesto-viz].is-active .mf-viz__wire--chaos:nth-child(6) { animation-delay: 0.28s; }
[data-manifesto-viz].is-active .mf-viz__wire--chaos:nth-child(7) { animation-delay: 0.16s; }
[data-manifesto-viz].is-active .mf-viz__wire--chaos:nth-child(8) { animation-delay: 0.24s; }
[data-manifesto-viz].is-active .mf-viz__wire--chaos:nth-child(9) { animation-delay: 0.32s; }
[data-manifesto-viz].is-active .mf-viz__wire--order:nth-child(10) { animation-delay: 0.45s; }
[data-manifesto-viz].is-active .mf-viz__wire--order:nth-child(11) { animation-delay: 0.52s; }
[data-manifesto-viz].is-active .mf-viz__wire--order:nth-child(12) { animation-delay: 0.58s; }

.mf-viz__nodes {
  position: absolute;
  inset: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.mf-viz__node {
  position: absolute;
  left: var(--tx);
  top: var(--ty);
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.42rem 0.58rem;
  border-radius: 0.45rem;
  border: 1px solid rgba(255, 255, 255, 0.14);
  background: rgba(12, 6, 20, 0.82);
  backdrop-filter: blur(6px);
  font-family: var(--font-impact);
  font-size: clamp(0.48rem, 0.82vw, 0.62rem);
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.92);
  white-space: nowrap;
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.32);
  opacity: 0;
  transform: translateY(12px) scale(0.92);
  transition:
    transform 0.4s var(--ease-out),
    border-color 0.35s,
    box-shadow 0.35s;
}

.mf-viz__node span {
  color: rgba(255, 130, 130, 0.85);
  font-size: 0.9em;
}

[data-manifesto-viz].is-active .mf-viz__node {
  opacity: 1;
  transform: translateY(0) scale(1);
  animation: mf-node-float 4.5s ease-in-out infinite;
  animation-delay: var(--float, 0s);
}

.page-chi-siamo .mf-viz__node:hover {
  border-color: rgba(255, 120, 120, 0.55);
  box-shadow:
    0 12px 28px rgba(0, 0, 0, 0.38),
    0 0 18px rgba(255, 90, 90, 0.2);
  transform: translateY(-4px) scale(1.04);
  z-index: 2;
}

.mf-viz__portal {
  position: relative;
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: center;
  width: clamp(5.5rem, 14vw, 7.5rem);
  height: clamp(5.5rem, 14vw, 7.5rem);
  flex-shrink: 0;
}

.mf-viz__ring {
  position: absolute;
  border-radius: 50%;
  border: 1px solid rgba(229, 255, 57, 0.35);
  opacity: 0;
}

[data-manifesto-viz].is-active .mf-viz__ring {
  opacity: 1;
}

.mf-viz__ring--1 {
  inset: -12%;
  animation: mf-ring-spin 14s linear infinite;
}

.mf-viz__ring--2 {
  inset: -24%;
  border-style: dashed;
  border-color: rgba(143, 0, 255, 0.4);
  animation: mf-ring-spin 20s linear infinite reverse;
}

.mf-viz__ring--3 {
  inset: -36%;
  border-color: rgba(229, 255, 57, 0.15);
  animation: mf-ring-pulse 3s ease-in-out infinite;
}

.mf-viz__hub {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  width: clamp(4.75rem, 12vw, 6.25rem);
  height: clamp(4.75rem, 12vw, 6.25rem);
  padding: 0.65rem;
  border-radius: 50%;
  border: 2px solid rgba(229, 255, 57, 0.65);
  background: #fff;
  box-shadow:
    0 0 0 6px rgba(143, 0, 255, 0.18),
    0 0 40px rgba(229, 255, 57, 0.28),
    0 20px 48px rgba(0, 0, 0, 0.4);
  opacity: 0;
  transform: scale(0.6);
}

[data-manifesto-viz].is-active .mf-viz__hub {
  animation: mf-hub-enter 1s var(--ease-out) 0.2s forwards, mf-hub-pulse 3.2s ease-in-out 1.2s infinite;
}

.mf-viz__logo {
  width: 100%;
  height: auto;
  object-fit: contain;
}

.mf-viz__beam {
  position: absolute;
  top: 10%;
  bottom: 10%;
  left: 50%;
  width: 3px;
  margin-left: -1.5px;
  background: linear-gradient(
    180deg,
    transparent,
    rgba(229, 255, 57, 0.85),
    rgba(143, 0, 255, 0.85),
    transparent
  );
  filter: blur(0.5px);
  opacity: 0;
  transform: scaleY(0.2);
}

[data-manifesto-viz].is-active .mf-viz__beam {
  animation: mf-beam 2.4s var(--ease-out) 0.35s forwards;
}

.mf-viz__dash {
  flex: 1;
  padding: 0.65rem;
  border-radius: 0.55rem;
  background: #fff;
  border: 1px solid rgba(52, 52, 52, 0.08);
  box-shadow: 0 8px 24px rgba(52, 52, 52, 0.08);
  opacity: 0;
  transform: translateX(18px);
}

[data-manifesto-viz].is-active .mf-viz__dash {
  animation: mf-slide-in 0.85s var(--ease-out) 0.5s forwards;
}

.mf-viz__dash-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  margin-bottom: 0.55rem;
}

.mf-viz__dash-title {
  margin: 0;
  font-family: var(--font-impact);
  font-size: clamp(0.52rem, 0.85vw, 0.62rem);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--gray-dark);
}

.mf-viz__dash-live {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  padding: 0.15rem 0.45rem;
  border-radius: 999px;
  font-size: 0.48rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--purple);
  background: rgba(143, 0, 255, 0.08);
  border: 1px solid rgba(143, 0, 255, 0.2);
}

.mf-viz__dash-live::before {
  content: "";
  width: 0.35rem;
  height: 0.35rem;
  border-radius: 50%;
  background: var(--acid);
  box-shadow: 0 0 8px rgba(229, 255, 57, 0.65);
  animation: mf-live-blink 1.4s ease-in-out infinite;
}

.mf-viz__kpis {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.4rem;
  margin-bottom: 0.55rem;
}

.mf-viz__kpi {
  padding: 0.4rem 0.45rem;
  border-radius: 0.4rem;
  background: linear-gradient(145deg, #f6f6f8, #ececf0);
  border: 1px solid rgba(52, 52, 52, 0.06);
}

.mf-viz__kpi span {
  display: block;
  font-size: clamp(0.4rem, 0.68vw, 0.48rem);
  line-height: 1.2;
  color: rgba(52, 52, 52, 0.62);
}

.mf-viz__kpi strong {
  display: block;
  margin-top: 0.12rem;
  font-family: var(--font-impact);
  font-size: clamp(0.72rem, 1.1vw, 0.88rem);
  font-weight: 400;
  color: var(--purple);
}

.mf-viz__bars {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0.35rem;
}

.mf-viz__bars li {
  display: grid;
  grid-template-columns: 1fr 1.4fr;
  align-items: center;
  gap: 0.35rem;
  font-size: clamp(0.4rem, 0.66vw, 0.48rem);
  color: rgba(52, 52, 52, 0.72);
}

.mf-viz__bar {
  height: 0.35rem;
  border-radius: 999px;
  background: rgba(52, 52, 52, 0.08);
  overflow: hidden;
}

.mf-viz__bar i {
  display: block;
  height: 100%;
  width: 0;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--purple), #b44dff);
  box-shadow: 0 0 10px rgba(143, 0, 255, 0.35);
}

[data-manifesto-viz].is-active .mf-viz__bar i {
  animation: mf-bar-grow 1.1s var(--ease-out) forwards;
}

.mf-viz__bars li:nth-child(1) i { animation-delay: 0.7s; --w: 88%; }
.mf-viz__bars li:nth-child(2) i { animation-delay: 0.78s; --w: 76%; }
.mf-viz__bars li:nth-child(3) i { animation-delay: 0.86s; --w: 92%; }
.mf-viz__bars li:nth-child(4) i { animation-delay: 0.94s; --w: 68%; }

.mf-viz__wins {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.mf-viz__win {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.38rem 0.45rem;
  border-radius: 0.45rem;
  background: rgba(255, 255, 255, 0.72);
  border: 1px solid rgba(143, 0, 255, 0.15);
  font-family: var(--font-impact);
  font-size: clamp(0.44rem, 0.72vw, 0.54rem);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: rgba(52, 52, 52, 0.88);
  opacity: 0;
  transform: translateX(12px);
}

[data-manifesto-viz].is-active .mf-viz__win {
  animation: mf-slide-in 0.7s var(--ease-out) forwards;
  animation-delay: calc(0.65s + var(--d, 0s));
}

.mf-viz__win-ico {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.5rem;
  height: 1.5rem;
  flex-shrink: 0;
  border-radius: 50%;
  background: #fff;
  border: 1px solid rgba(143, 0, 255, 0.25);
  color: var(--purple);
  font-size: 0.68rem;
  box-shadow: 0 4px 12px rgba(143, 0, 255, 0.12);
}

.mf-viz__footer {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0.55rem;
  margin-top: 0.75rem;
  padding-top: 0.65rem;
  border-top: 1px solid rgba(229, 255, 57, 0.12);
  font-family: var(--font-impact);
  font-size: clamp(0.46rem, 0.75vw, 0.56rem);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.55);
}

.mf-viz__footer-hub {
  color: var(--acid);
  text-shadow: 0 0 14px rgba(229, 255, 57, 0.35);
}

.mf-viz__footer-dot {
  width: 0.45rem;
  height: 0.45rem;
  border-radius: 50%;
  background: var(--acid);
  box-shadow: 0 0 10px rgba(229, 255, 57, 0.55);
  animation: mf-dot-travel 2.8s ease-in-out infinite;
}

@keyframes mf-glow-drift {
  0%,
  100% {
    transform: translate(0, 0) scale(1);
  }
  50% {
    transform: translate(3%, -4%) scale(1.06);
  }
}

@keyframes mf-scan {
  0% {
    top: -2%;
    opacity: 0;
  }
  8% {
    opacity: 0.7;
  }
  92% {
    opacity: 0.7;
  }
  100% {
    top: 102%;
    opacity: 0;
  }
}

@keyframes mf-wire-draw {
  to {
    stroke-dashoffset: 0;
  }
}

@keyframes mf-node-float {
  0%,
  100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-5px);
  }
}

@keyframes mf-ring-spin {
  to {
    transform: rotate(360deg);
  }
}

@keyframes mf-ring-pulse {
  0%,
  100% {
    transform: scale(1);
    opacity: 0.35;
  }
  50% {
    transform: scale(1.04);
    opacity: 0.65;
  }
}

@keyframes mf-hub-enter {
  to {
    opacity: 1;
    transform: scale(1);
  }
}

@keyframes mf-hub-pulse {
  0%,
  100% {
    box-shadow:
      0 0 0 6px rgba(143, 0, 255, 0.18),
      0 0 32px rgba(229, 255, 57, 0.22),
      0 20px 48px rgba(0, 0, 0, 0.4);
  }
  50% {
    box-shadow:
      0 0 0 8px rgba(143, 0, 255, 0.28),
      0 0 48px rgba(229, 255, 57, 0.38),
      0 24px 56px rgba(0, 0, 0, 0.45);
  }
}

@keyframes mf-beam {
  to {
    opacity: 0.85;
    transform: scaleY(1);
  }
}

@keyframes mf-slide-in {
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes mf-bar-grow {
  from {
    width: 0;
  }
  to {
    width: var(--w);
  }
}

@keyframes mf-live-blink {
  0%,
  100% {
    opacity: 1;
  }
  50% {
    opacity: 0.35;
  }
}

@keyframes mf-dot-travel {
  0%,
  100% {
    transform: translateX(0);
    opacity: 0.5;
  }
  50% {
    transform: translateX(6px);
    opacity: 1;
  }
}

@media (max-width: 899px) {
  .mf-viz {
    transform: none;
  }

  .mf-viz__stage {
    grid-template-columns: 1fr;
    grid-template-rows: auto auto auto;
    gap: 0.75rem;
    min-height: auto;
  }

  .mf-viz__portal {
    width: 100%;
    height: auto;
    padding: 0.5rem 0;
    order: -1;
  }

  .mf-viz__panel {
    min-height: 14rem;
  }

  .mf-viz__panel--order {
    min-height: auto;
  }

  .mf-viz__node {
    font-size: 0.44rem;
    padding: 0.32rem 0.45rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .mf-manifesto__glow,
  .mf-manifesto__mesh,
  .mf-manifesto__eyebrow-dot,
  .mf-manifesto__closing,
  .mf-viz,
  .mf-viz__glow,
  .mf-viz__scanline,
  .mf-viz__ring,
  .mf-viz__hub,
  .mf-viz__beam,
  .mf-viz__node,
  .mf-viz__wire,
  .mf-viz__dash,
  .mf-viz__win,
  .mf-viz__bar i,
  .mf-viz__footer-dot,
  .mf-viz__dash-live::before {
    animation: none !important;
    transition: none !important;
  }

  .mf-manifesto__mesh {
    opacity: 1;
  }

  .mf-manifesto__closing {
    opacity: 1;
    transform: none;
  }

  .mf-manifesto__point.is-dimmed,
  .mf-manifesto__point.is-highlighted {
    opacity: 1;
    transform: none;
  }

  .mf-viz__wire {
    stroke-dashoffset: 0;
  }

  .mf-viz__node,
  .mf-viz__hub,
  .mf-viz__dash,
  .mf-viz__win {
    opacity: 1;
    transform: none;
  }

  .mf-viz__bar i {
    width: var(--w);
  }

  .mf-viz__beam {
    opacity: 0.6;
    transform: scaleY(1);
  }

  .page-chi-siamo .mf-viz__node:hover {
    transform: none;
  }
}

/* ——— Chi siamo: Metodo ——— */
.section--cs-about-metodo {
  position: relative;
  overflow: hidden;
}

.cs-about-metodo__atmosphere {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.cs-about-metodo__grid {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(229, 255, 57, 0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(229, 255, 57, 0.035) 1px, transparent 1px);
  background-size: 36px 36px;
  mask-image: linear-gradient(180deg, transparent, #000 18%, #000 82%, transparent);
  opacity: 0.7;
}

.cs-about-metodo__glow {
  position: absolute;
  width: 42%;
  height: 55%;
  border-radius: 50%;
  filter: blur(72px);
  opacity: 0.45;
  animation: mf-method-glow 12s ease-in-out infinite;
}

.cs-about-metodo__glow--left {
  top: 10%;
  left: -12%;
  background: rgba(229, 255, 57, 0.14);
}

.cs-about-metodo__glow--right {
  right: -10%;
  bottom: 0;
  background: rgba(143, 0, 255, 0.35);
  animation-delay: -5s;
}

.cs-about-metodo__inner {
  position: relative;
  z-index: 1;
  width: min(100%, 76rem);
  margin: 0 auto;
  padding: clamp(2.5rem, 5vw, 4rem) clamp(1.25rem, 4vw, 3.5rem) clamp(3rem, 6vw, 4.75rem);
}

.cs-about-metodo__header {
  text-align: center;
  margin-bottom: clamp(2rem, 4.5vw, 3rem);
}

.cs-about-metodo__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  margin: 0 0 0.75rem;
  font-family: var(--font-impact);
  font-size: clamp(0.58rem, 0.95vw, 0.68rem);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--acid);
}

.cs-about-metodo__eyebrow-dot {
  width: 0.45rem;
  height: 0.45rem;
  border-radius: 50%;
  background: var(--acid);
  box-shadow: 0 0 10px rgba(229, 255, 57, 0.55);
  animation: mf-live-blink 1.8s ease-in-out infinite;
}

.cs-about-metodo__title {
  margin: 0 0 0.75rem;
  font-family: var(--font-impact);
  font-size: clamp(1.85rem, 4.2vw, 3rem);
  line-height: 0.98;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--acid);
}

.cs-about-metodo__subtitle {
  margin: 0 auto;
  max-width: 36rem;
  font-size: clamp(0.95rem, 1.4vw, 1.08rem);
  line-height: 1.55;
  color: rgba(255, 255, 255, 0.84);
}

.mf-method {
  position: relative;
}

.mf-method__rail {
  display: none;
}

@media (min-width: 900px) {
  .mf-method__rail {
    display: block;
    position: absolute;
    z-index: 0;
    top: 3.25rem;
    left: 8%;
    right: 8%;
    height: 3px;
    pointer-events: none;
  }

  .mf-method__rail-track {
    position: absolute;
    inset: 0;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.08);
  }

  .mf-method__rail-fill {
    position: absolute;
    inset: 0;
    width: 0;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--acid), rgba(229, 255, 57, 0.45));
    box-shadow: 0 0 16px rgba(229, 255, 57, 0.45);
  }

  [data-metodo-track].is-active .mf-method__rail-fill {
    animation: mf-method-rail 1.8s var(--ease-out) 0.25s forwards;
  }
}

.mf-method__track {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 1rem;
}

@media (min-width: 900px) {
  .mf-method__track {
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) auto minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: stretch;
    gap: 0.75rem;
  }
}

.mf-method__card {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
  min-height: 100%;
  padding: clamp(1.1rem, 2vw, 1.45rem);
  border-radius: 0.85rem;
  border: 1px solid rgba(229, 255, 57, 0.22);
  background:
    linear-gradient(155deg, rgba(255, 255, 255, 0.08), rgba(8, 4, 18, 0.55)),
    rgba(10, 5, 20, 0.72);
  backdrop-filter: blur(12px);
  box-shadow:
    0 18px 42px rgba(0, 0, 0, 0.28),
    inset 0 0 0 1px rgba(255, 255, 255, 0.04);
  overflow: hidden;
  opacity: 0;
  transform: translateY(28px) scale(0.96);
  transition:
    transform 0.45s var(--ease-out),
    border-color 0.45s var(--ease-out),
    box-shadow 0.45s var(--ease-out),
    background 0.45s var(--ease-out);
}

[data-metodo-track].is-active .mf-method__card {
  animation: mf-method-card-in 0.75s var(--ease-out) forwards;
}

[data-metodo-track].is-active .mf-method__card[data-step="1"] { animation-delay: 0.1s; }
[data-metodo-track].is-active .mf-method__card[data-step="2"] { animation-delay: 0.22s; }
[data-metodo-track].is-active .mf-method__card[data-step="3"] { animation-delay: 0.34s; }
[data-metodo-track].is-active .mf-method__card[data-step="4"] { animation-delay: 0.46s; }

.page-chi-siamo .mf-method__card:hover,
.page-chi-siamo .mf-method__card:focus-visible {
  transform: translateY(-8px) scale(1.02);
  border-color: rgba(229, 255, 57, 0.65);
  background:
    linear-gradient(155deg, rgba(229, 255, 57, 0.1), rgba(8, 4, 18, 0.5)),
    rgba(12, 6, 24, 0.88);
  box-shadow:
    0 28px 56px rgba(0, 0, 0, 0.38),
    0 0 32px rgba(229, 255, 57, 0.12),
    inset 0 0 0 1px rgba(229, 255, 57, 0.15);
  outline: none;
}

.mf-method__card.is-highlighted {
  border-color: rgba(229, 255, 57, 0.55);
}

.mf-method__card-shine {
  position: absolute;
  top: 0;
  left: -120%;
  width: 45%;
  height: 100%;
  background: linear-gradient(
    105deg,
    transparent,
    rgba(229, 255, 57, 0.12),
    transparent
  );
  transform: skewX(-18deg);
  pointer-events: none;
}

.page-chi-siamo .mf-method__card:hover .mf-method__card-shine,
.page-chi-siamo .mf-method__card.is-highlighted .mf-method__card-shine {
  animation: mf-method-shine 0.85s var(--ease-out);
}

.mf-method__card-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
}

.mf-method__num {
  font-family: var(--font-impact);
  font-size: clamp(1.35rem, 2.2vw, 1.75rem);
  line-height: 1;
  letter-spacing: 0.04em;
  color: rgba(229, 255, 57, 0.28);
  transition: color 0.4s var(--ease-out), text-shadow 0.4s;
}

.page-chi-siamo .mf-method__card:hover .mf-method__num,
.page-chi-siamo .mf-method__card.is-highlighted .mf-method__num {
  color: var(--acid);
  text-shadow: 0 0 18px rgba(229, 255, 57, 0.35);
}

.mf-method__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.65rem;
  height: 2.65rem;
  flex-shrink: 0;
  border-radius: 50%;
  border: 1px solid rgba(229, 255, 57, 0.35);
  background: rgba(143, 0, 255, 0.2);
  color: var(--acid);
  box-shadow: 0 0 20px rgba(143, 0, 255, 0.2);
  transition:
    transform 0.45s var(--ease-out),
    box-shadow 0.45s var(--ease-out),
    border-color 0.45s;
}

.page-chi-siamo .mf-method__card:hover .mf-method__icon,
.page-chi-siamo .mf-method__card.is-highlighted .mf-method__icon {
  transform: scale(1.08) rotate(-4deg);
  border-color: rgba(229, 255, 57, 0.75);
  box-shadow:
    0 0 24px rgba(229, 255, 57, 0.25),
    0 0 28px rgba(143, 0, 255, 0.25);
}

.mf-method__icon svg {
  width: 1.35rem;
  height: 1.35rem;
}

.mf-method__card-title {
  margin: 0;
  font-family: var(--font-impact);
  font-size: clamp(1rem, 1.6vw, 1.2rem);
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--acid);
}

.mf-method__card-text {
  margin: 0;
  flex: 1;
  font-size: clamp(0.82rem, 1.15vw, 0.92rem);
  line-height: 1.58;
  color: rgba(255, 255, 255, 0.82);
}

.mf-method__tag {
  display: inline-flex;
  align-self: flex-start;
  margin-top: 0.15rem;
  padding: 0.28rem 0.55rem;
  border-radius: 999px;
  border: 1px solid rgba(229, 255, 57, 0.28);
  background: rgba(229, 255, 57, 0.06);
  font-family: var(--font-impact);
  font-size: clamp(0.46rem, 0.72vw, 0.54rem);
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: rgba(229, 255, 57, 0.88);
  transition: background 0.35s, border-color 0.35s;
}

.page-chi-siamo .mf-method__card:hover .mf-method__tag,
.page-chi-siamo .mf-method__card.is-highlighted .mf-method__tag {
  background: rgba(229, 255, 57, 0.12);
  border-color: rgba(229, 255, 57, 0.5);
}

.mf-method__arrow {
  display: none;
}

@media (min-width: 900px) {
  .mf-method__arrow {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    width: 1.85rem;
    height: 1.85rem;
    margin-top: 3rem;
    flex-shrink: 0;
    border-radius: 50%;
    border: 1px solid rgba(229, 255, 57, 0.25);
    background: rgba(255, 255, 255, 0.06);
    color: var(--acid);
    opacity: 0;
    transform: scale(0.6);
  }

  [data-metodo-track].is-active .mf-method__arrow {
    animation: mf-method-arrow-in 0.55s var(--ease-out) forwards;
  }

  [data-metodo-track].is-active .mf-method__arrow:nth-of-type(1) { animation-delay: 0.28s; }
  [data-metodo-track].is-active .mf-method__arrow:nth-of-type(2) { animation-delay: 0.4s; }
  [data-metodo-track].is-active .mf-method__arrow:nth-of-type(3) { animation-delay: 0.52s; }

  .mf-method__arrow svg {
    width: 0.95rem;
    height: 0.95rem;
  }

  .mf-method__arrow-dot {
    position: absolute;
    width: 0.35rem;
    height: 0.35rem;
    border-radius: 50%;
    background: var(--acid);
    box-shadow: 0 0 8px rgba(229, 255, 57, 0.55);
    animation: mf-method-arrow-pulse 1.6s ease-in-out infinite;
  }
}

@media (max-width: 899px) {
  .mf-method__track {
    position: relative;
    padding-left: 1.35rem;
  }

  .mf-method__track::before {
    content: "";
    position: absolute;
    top: 0.5rem;
    bottom: 0.5rem;
    left: 0.35rem;
    width: 2px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.1);
  }

  .mf-method__track::after {
    content: "";
    position: absolute;
    top: 0.5rem;
    left: 0.35rem;
    width: 2px;
    height: 0;
    border-radius: 999px;
    background: linear-gradient(180deg, var(--acid), rgba(229, 255, 57, 0.35));
    box-shadow: 0 0 10px rgba(229, 255, 57, 0.35);
  }

  [data-metodo-track].is-active .mf-method__track::after {
    animation: mf-method-rail-vertical 1.6s var(--ease-out) 0.2s forwards;
  }
}

@keyframes mf-method-glow {
  0%,
  100% {
    transform: translate(0, 0) scale(1);
  }
  50% {
    transform: translate(4%, -3%) scale(1.05);
  }
}

@keyframes mf-method-rail {
  to {
    width: 100%;
  }
}

@keyframes mf-method-rail-vertical {
  to {
    height: calc(100% - 1rem);
  }
}

@keyframes mf-method-card-in {
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@keyframes mf-method-shine {
  to {
    left: 140%;
  }
}

@keyframes mf-method-arrow-in {
  to {
    opacity: 1;
    transform: scale(1);
  }
}

@keyframes mf-method-arrow-pulse {
  0%,
  100% {
    transform: scale(1);
    opacity: 0.65;
  }
  50% {
    transform: scale(1.35);
    opacity: 1;
  }
}

@media (prefers-reduced-motion: reduce) {
  .cs-about-metodo__glow,
  .cs-about-metodo__eyebrow-dot,
  .mf-method__arrow-dot,
  .mf-method__card,
  .mf-method__rail-fill,
  .mf-method__track::after {
    animation: none !important;
  }

  .mf-method__card,
  .mf-method__arrow {
    opacity: 1;
    transform: none;
  }

  [data-metodo-track].is-active .mf-method__rail-fill {
    width: 100%;
  }

  [data-metodo-track].is-active .mf-method__track::after {
    height: calc(100% - 1rem);
  }

  .page-chi-siamo .mf-method__card:hover,
  .page-chi-siamo .mf-method__card:focus-visible {
    transform: none;
  }
}

/* ——— Chi siamo: Cosa ci rende diversi ——— */
.section--cs-about-diversi {
  background: linear-gradient(180deg, #ebebeb 0%, #e2e2e2 100%);
  color: var(--gray-dark);
}

.cs-about-diversi__inner {
  width: min(100%, 76rem);
  margin: 0 auto;
  padding: clamp(2.75rem, 5.5vw, 4.25rem) clamp(1.25rem, 4vw, 3.5rem) clamp(3rem, 6vw, 4.75rem);
}

.cs-about-diversi__header {
  text-align: center;
  margin-bottom: clamp(1.75rem, 4vw, 2.75rem);
}

.cs-about-diversi__title {
  margin: 0 0 0.75rem;
  font-family: var(--font-impact);
  font-size: clamp(1.85rem, 4.2vw, 3rem);
  line-height: 0.98;
  letter-spacing: 0.01em;
  text-transform: uppercase;
  color: var(--purple);
}

.cs-about-diversi__title-line {
  display: block;
}

.cs-about-diversi__title-outline {
  color: transparent;
  -webkit-text-stroke: clamp(1.5px, 0.1em, 2.5px) var(--purple);
}

.cs-about-diversi__subtitle {
  margin: 0 auto;
  max-width: 40rem;
  font-size: clamp(0.92rem, 1.35vw, 1.02rem);
  font-weight: 600;
  line-height: 1.55;
  color: rgba(52, 52, 52, 0.88);
}

.mf-diff__grid {
  display: grid;
  gap: clamp(0.85rem, 2vw, 1.15rem);
  margin-bottom: clamp(2rem, 4.5vw, 3rem);
}

@media (min-width: 700px) {
  .mf-diff__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 1080px) {
  .mf-diff__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.mf-diff__card {
  position: relative;
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-rows: auto auto;
  gap: 0.45rem 0.85rem;
  align-items: start;
  min-height: 100%;
  padding: clamp(1rem, 2vw, 1.25rem);
  border-radius: 0.85rem;
  border: 1px solid rgba(143, 0, 255, 0.12);
  background: rgba(255, 255, 255, 0.92);
  box-shadow:
    0 14px 36px rgba(52, 52, 52, 0.08),
    inset 0 0 0 1px rgba(255, 255, 255, 0.8);
  overflow: hidden;
  text-decoration: none;
  color: inherit;
  cursor: pointer;
  transition:
    transform 0.45s var(--ease-out),
    border-color 0.45s var(--ease-out),
    box-shadow 0.45s var(--ease-out),
    opacity 0.45s var(--ease-out);
}

[data-diff-grid].is-active .mf-diff__card.is-dimmed {
  opacity: 0.62;
  transform: scale(0.98);
}

.page-chi-siamo .mf-diff__card:hover,
.page-chi-siamo .mf-diff__card.is-highlighted {
  transform: translateY(-6px) scale(1.01);
  border-color: rgba(143, 0, 255, 0.35);
  box-shadow:
    0 22px 48px rgba(52, 52, 52, 0.14),
    0 0 28px rgba(143, 0, 255, 0.08);
}

.mf-diff__card-shine {
  position: absolute;
  top: 0;
  left: -120%;
  width: 50%;
  height: 100%;
  background: linear-gradient(
    105deg,
    transparent,
    rgba(143, 0, 255, 0.08),
    transparent
  );
  transform: skewX(-18deg);
  pointer-events: none;
}

.page-chi-siamo .mf-diff__card:hover .mf-diff__card-shine {
  animation: mf-method-shine 0.85s var(--ease-out);
}

.mf-diff__num {
  position: absolute;
  top: 0.75rem;
  right: 0.75rem;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.55rem;
  height: 1.55rem;
  border-radius: 50%;
  background: var(--purple);
  font-family: var(--font-impact);
  font-size: 0.58rem;
  color: #fff;
  box-shadow: 0 6px 16px rgba(143, 0, 255, 0.28);
  transition: transform 0.4s var(--ease-out), box-shadow 0.4s;
}

.page-chi-siamo .mf-diff__card:hover .mf-diff__num {
  transform: scale(1.08);
  box-shadow: 0 8px 20px rgba(143, 0, 255, 0.38);
}

.mf-diff__icon {
  grid-row: span 2;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  flex-shrink: 0;
  border-radius: 0.55rem;
  border: 1px solid rgba(143, 0, 255, 0.18);
  background: linear-gradient(145deg, rgba(143, 0, 255, 0.06), rgba(229, 255, 57, 0.08));
  color: var(--purple);
  transition: transform 0.45s var(--ease-out), border-color 0.45s;
}

.page-chi-siamo .mf-diff__card:hover .mf-diff__icon {
  transform: scale(1.06) rotate(-3deg);
  border-color: rgba(143, 0, 255, 0.35);
}

.mf-diff__icon svg {
  width: 1.45rem;
  height: 1.45rem;
}

.mf-diff__card-title {
  margin: 0;
  padding-right: 1.75rem;
  font-family: var(--font-impact);
  font-size: clamp(0.78rem, 1.2vw, 0.92rem);
  line-height: 1.2;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: var(--purple);
}

.mf-diff__card-text {
  margin: 0;
  grid-column: 2;
  font-size: clamp(0.8rem, 1.1vw, 0.88rem);
  line-height: 1.55;
  color: rgba(52, 52, 52, 0.78);
}

/* ——— Box esperienza dal campo ——— */
.mf-campo {
  position: relative;
  border-radius: 1rem;
  border: 1px solid rgba(229, 255, 57, 0.18);
  background:
    radial-gradient(circle at 12% 20%, rgba(143, 0, 255, 0.22), transparent 42%),
    radial-gradient(circle at 88% 80%, rgba(229, 255, 57, 0.08), transparent 38%),
    linear-gradient(155deg, #0a0610 0%, #120818 50%, #08040f 100%);
  box-shadow:
    0 32px 72px rgba(0, 0, 0, 0.35),
    inset 0 0 0 1px rgba(255, 255, 255, 0.04);
  overflow: hidden;
  opacity: 0;
  transform: translateY(24px);
}

[data-campo-box].is-active {
  animation: mf-campo-in 0.85s var(--ease-out) forwards;
}

.mf-campo__glow {
  position: absolute;
  top: -20%;
  right: -10%;
  width: 55%;
  height: 70%;
  border-radius: 50%;
  background: rgba(143, 0, 255, 0.18);
  filter: blur(64px);
  pointer-events: none;
  animation: mf-method-glow 14s ease-in-out infinite;
}

.mf-campo__layout {
  position: relative;
  z-index: 1;
  display: grid;
  gap: clamp(1.25rem, 3vw, 2rem);
  padding: clamp(1.35rem, 3vw, 2rem);
}

@media (min-width: 960px) {
  .mf-campo__layout {
    grid-template-columns: minmax(0, 0.44fr) minmax(0, 0.56fr);
    align-items: center;
    gap: clamp(1rem, 2.5vw, 1.75rem);
    padding: clamp(1.75rem, 3.5vw, 2.5rem);
  }
}

.mf-campo__title {
  margin: 0 0 clamp(1rem, 2vw, 1.25rem);
  font-family: var(--font-impact);
  font-size: clamp(1.45rem, 3vw, 2.35rem);
  line-height: 0.98;
  letter-spacing: 0.01em;
  text-transform: uppercase;
  color: #fff;
}

.mf-campo__title-line {
  display: block;
}

.mf-campo__title-outline {
  color: transparent;
  -webkit-text-stroke: clamp(1.5px, 0.1em, 2.5px) #fff;
}

.mf-campo__body {
  display: grid;
  gap: 0.75rem;
  margin-bottom: clamp(1rem, 2vw, 1.35rem);
}

.mf-campo__body p {
  margin: 0;
  font-size: clamp(0.86rem, 1.2vw, 0.94rem);
  line-height: 1.62;
  color: rgba(255, 255, 255, 0.86);
}

.mf-campo-kw--purple {
  color: var(--purple);
  font-weight: 600;
  text-shadow: 0 0 18px rgba(143, 0, 255, 0.35);
}

.mf-campo-kw--acid {
  color: var(--acid);
  font-weight: 600;
}

a.mf-campo-kw--link {
  text-decoration: underline;
  text-decoration-color: rgba(143, 0, 255, 0.35);
  text-underline-offset: 0.15em;
  transition:
    color var(--transition),
    text-decoration-color var(--transition);
}

a.mf-campo-kw--link:hover {
  color: var(--acid);
  text-decoration-color: rgba(229, 255, 57, 0.65);
}

.mf-campo__cta {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  padding: 0.7rem 1.15rem;
  border-radius: 999px;
  border: 2px solid var(--acid);
  background: transparent;
  font-family: var(--font-impact);
  font-size: clamp(0.62rem, 1vw, 0.72rem);
  letter-spacing: 0.07em;
  text-transform: uppercase;
  text-decoration: none;
  color: var(--acid);
  transition:
    transform 0.35s var(--ease-out),
    background 0.35s,
    box-shadow 0.35s;
}

.page-chi-siamo .mf-campo__cta:hover {
  transform: translateY(-2px);
  background: rgba(229, 255, 57, 0.08);
  box-shadow: 0 0 24px rgba(229, 255, 57, 0.2);
}

.mf-campo__cta-ico {
  display: flex;
  width: 1.15rem;
  height: 1.15rem;
  color: var(--acid);
}

.mf-campo__cta-ico svg {
  width: 100%;
  height: 100%;
}

.mf-campo__visual,
.mf-campo__visual-link {
  position: relative;
  margin: 0;
  border-radius: 0.75rem;
  overflow: hidden;
  transform-style: preserve-3d;
  transition: transform 0.15s linear;
  box-shadow:
    0 24px 56px rgba(0, 0, 0, 0.45),
    0 0 0 1px rgba(229, 255, 57, 0.15);
}

.mf-campo__visual-link {
  display: block;
  text-decoration: none;
  color: inherit;
}

.mf-campo__visual-frame {
  position: absolute;
  inset: 0.55rem;
  z-index: 2;
  pointer-events: none;
}

.mf-campo__frame-corner {
  position: absolute;
  width: 1rem;
  height: 1rem;
  border-color: rgba(229, 255, 57, 0.45);
  border-style: solid;
}

.mf-campo__frame-corner--tl {
  top: 0;
  left: 0;
  border-width: 2px 0 0 2px;
}

.mf-campo__frame-corner--tr {
  top: 0;
  right: 0;
  border-width: 2px 2px 0 0;
}

.mf-campo__frame-corner--bl {
  bottom: 0;
  left: 0;
  border-width: 0 0 2px 2px;
}

.mf-campo__frame-corner--br {
  right: 0;
  bottom: 0;
  border-width: 0 2px 2px 0;
}

.mf-campo__image {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 0.65rem;
}

[data-campo-box].is-active .mf-campo__image {
  animation: mf-campo-image-in 1s var(--ease-out) 0.2s both;
}

@keyframes mf-campo-in {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes mf-campo-image-in {
  from {
    opacity: 0;
    transform: scale(1.04);
    filter: blur(6px);
  }
  to {
    opacity: 1;
    transform: scale(1);
    filter: blur(0);
  }
}

@media (max-width: 959px) {
  .mf-campo__visual,
  .mf-campo__visual-link {
    transform: none !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .mf-campo,
  .mf-campo__glow,
  .mf-campo__image,
  [data-campo-box].is-active {
    animation: none !important;
  }

  .mf-campo {
    opacity: 1;
    transform: none;
  }

  .page-chi-siamo .mf-diff__card:hover,
  .page-chi-siamo .mf-campo__cta:hover {
    transform: none;
  }

  [data-diff-grid].is-active .mf-diff__card.is-dimmed {
    opacity: 1;
    transform: none;
  }
}

/* ——— Chi siamo: Team ——— */
.section--cs-about-team {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(ellipse 80% 50% at 15% -10%, rgba(143, 0, 255, 0.28), transparent 55%),
    radial-gradient(ellipse 60% 40% at 95% 100%, rgba(229, 255, 57, 0.06), transparent 50%),
    linear-gradient(180deg, #040208 0%, #08040f 45%, #050208 100%);
  color: #fff;
}

body.team-modal-open {
  overflow: hidden;
}

.mf-team__atmosphere {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.mf-team__grid {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(229, 255, 57, 0.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(229, 255, 57, 0.04) 1px, transparent 1px);
  background-size: 48px 48px;
  mask-image: radial-gradient(ellipse at 50% 30%, #000 20%, transparent 75%);
  opacity: 0.45;
}

.mf-team__glow {
  position: absolute;
  border-radius: 50%;
  filter: blur(88px);
  opacity: 0.5;
  animation: mf-method-glow 16s ease-in-out infinite;
}

.mf-team__glow--tl {
  top: -12%;
  left: -8%;
  width: 50%;
  height: 42%;
  background: rgba(143, 0, 255, 0.35);
}

.mf-team__glow--br {
  right: -10%;
  bottom: -8%;
  width: 48%;
  height: 45%;
  background: rgba(229, 255, 57, 0.08);
  animation-delay: -7s;
}

.mf-team__inner {
  position: relative;
  z-index: 1;
  width: min(100%, 82rem);
  margin: 0 auto;
  padding: clamp(3.5rem, 8vw, 6rem) clamp(1.25rem, 4vw, 3.5rem) clamp(3.5rem, 7vw, 5.5rem);
}

.mf-team__hero {
  margin-bottom: clamp(2.5rem, 6vw, 4.5rem);
}

.mf-team__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  margin: 0 0 1.25rem;
  font-family: var(--font-impact);
  font-size: clamp(0.62rem, 1vw, 0.74rem);
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--acid);
}

.mf-team__eyebrow-dot {
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  background: var(--acid);
  box-shadow: 0 0 14px rgba(229, 255, 57, 0.65);
  animation: mf-live-blink 2s ease-in-out infinite;
}

.mf-team__mega {
  margin: 0 0 1.15rem;
  font-family: var(--font-impact);
  font-size: clamp(2.75rem, 9vw, 6.5rem);
  line-height: 0.9;
  letter-spacing: 0.01em;
  text-transform: uppercase;
}

.mf-team__mega-line {
  display: block;
  color: #fff;
}

.mf-team__mega-line--outline {
  color: transparent;
  -webkit-text-stroke: clamp(1.5px, 0.06em, 3px) var(--acid);
  filter: drop-shadow(0 0 24px rgba(229, 255, 57, 0.2));
}

.mf-team__lead {
  margin: 0;
  max-width: 36rem;
  font-size: clamp(1rem, 1.5vw, 1.12rem);
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.72);
}

.mf-team-kw {
  color: var(--acid);
  font-weight: 600;
}

.mf-team__matrix {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: clamp(2rem, 5vw, 3.25rem);
}

.mf-team__mesh {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  opacity: 0;
}

[data-team-org].is-active .mf-team__mesh {
  animation: mf-team-mesh-in 1.2s var(--ease-out) 0.2s forwards;
}

.mf-team__mesh-line {
  fill: none;
  stroke: rgba(229, 255, 57, 0.08);
  stroke-width: 1;
  stroke-dasharray: 8 10;
}

.mf-team__mesh-line--v {
  stroke: rgba(143, 0, 255, 0.12);
}

[data-team-org].is-active .mf-team__mesh-line {
  animation: mf-wire-draw 1.8s var(--ease-out) forwards;
}

.mf-team__block {
  position: relative;
  opacity: 0;
  transform: translateY(28px);
}

[data-team-org].is-active .mf-team__block,
.mf-team__block.is-revealed {
  animation: mf-method-card-in 0.8s var(--ease-out) forwards;
}

[data-team-org].is-active .mf-team__block:nth-child(2) { animation-delay: 0.12s; }
[data-team-org].is-active .mf-team__block:nth-child(3) { animation-delay: 0.24s; }
[data-team-org].is-active .mf-team__block:nth-child(4) { animation-delay: 0.36s; }
[data-team-org].is-active .mf-team__block:nth-child(5) { animation-delay: 0.48s; }

.mf-team__block::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 3px;
  border-radius: 999px;
  background: linear-gradient(180deg, var(--acid), rgba(143, 0, 255, 0.65));
  box-shadow: 0 0 16px rgba(229, 255, 57, 0.35);
  opacity: 0.85;
}

.mf-team__block-head {
  display: flex;
  align-items: baseline;
  gap: clamp(0.85rem, 2vw, 1.35rem);
  margin: 0 0 clamp(1rem, 2.5vw, 1.5rem);
  padding-left: clamp(1rem, 2.5vw, 1.5rem);
}

.mf-team__block-num {
  flex-shrink: 0;
  font-family: var(--font-impact);
  font-size: clamp(1.5rem, 3.5vw, 2.5rem);
  line-height: 1;
  letter-spacing: 0.04em;
  color: rgba(229, 255, 57, 0.22);
  transition: color 0.4s, text-shadow 0.4s;
}

.mf-team__block:hover .mf-team__block-num {
  color: var(--acid);
  text-shadow: 0 0 20px rgba(229, 255, 57, 0.35);
}

.mf-team__block-title {
  margin: 0;
  font-family: var(--font-impact);
  font-size: clamp(1.35rem, 3.2vw, 2.65rem);
  line-height: 0.95;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--acid);
  text-shadow: 0 0 28px rgba(229, 255, 57, 0.15);
}

.mf-team__block-grid {
  display: grid;
  gap: clamp(0.85rem, 2vw, 1.15rem);
  padding-left: clamp(1rem, 2.5vw, 1.5rem);
}

@media (min-width: 768px) {
  .mf-team__block-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .mf-team__block-grid--triple {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .mf-team__block-grid--single {
    grid-template-columns: minmax(0, 0.62fr);
  }
}

.mf-team__card {
  position: relative;
  display: grid;
  grid-template-columns: minmax(5.5rem, 34%) minmax(0, 1fr);
  gap: 0;
  width: 100%;
  padding: 0;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 0.85rem;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.04), rgba(255, 255, 255, 0.01)),
    rgba(12, 6, 22, 0.72);
  backdrop-filter: blur(14px);
  box-shadow:
    0 18px 42px rgba(0, 0, 0, 0.35),
    inset 0 0 0 1px rgba(255, 255, 255, 0.03);
  cursor: pointer;
  text-align: left;
  font: inherit;
  color: inherit;
  overflow: hidden;
  transition:
    transform 0.45s var(--ease-out),
    border-color 0.45s,
    box-shadow 0.45s;
}

.page-chi-siamo .mf-team__card:hover,
.page-chi-siamo .mf-team__card:focus-visible {
  transform: translateY(-4px) scale(1.01);
  border-color: rgba(229, 255, 57, 0.45);
  box-shadow:
    0 28px 56px rgba(0, 0, 0, 0.45),
    0 0 32px rgba(143, 0, 255, 0.15),
    inset 0 0 0 1px rgba(229, 255, 57, 0.12);
  outline: none;
}

.mf-team__card::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(105deg, transparent 40%, rgba(229, 255, 57, 0.06) 50%, transparent 60%);
  transform: translateX(-120%);
  pointer-events: none;
}

.page-chi-siamo .mf-team__card:hover::before {
  animation: mf-method-shine 0.9s var(--ease-out);
}

.mf-team__card-media {
  position: relative;
  min-height: 100%;
  overflow: hidden;
  border-right: 1px solid rgba(255, 255, 255, 0.06);
  background: rgba(4, 2, 10, 0.65);
}

.mf-team__card-media--placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 8.5rem;
  background:
    radial-gradient(circle at 30% 20%, rgba(229, 255, 57, 0.1), transparent 50%),
    linear-gradient(160deg, rgba(143, 0, 255, 0.3), rgba(4, 2, 10, 0.95));
}

.mf-team__photo {
  width: 100%;
  height: 100%;
  min-height: 8.5rem;
  object-fit: cover;
  object-position: center top;
  filter: grayscale(0.15) contrast(1.08);
  transition: transform 0.55s var(--ease-out), filter 0.45s;
}

.page-chi-siamo .mf-team__card:hover .mf-team__photo {
  transform: scale(1.06);
  filter: grayscale(0) contrast(1.1);
}

.mf-team__placeholder {
  font-family: var(--font-impact);
  font-size: clamp(2rem, 5vw, 2.75rem);
  letter-spacing: 0.08em;
  color: var(--acid);
  text-shadow: 0 0 24px rgba(229, 255, 57, 0.35);
}

.mf-team__card-body {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 0.45rem;
  padding: clamp(0.85rem, 2vw, 1.15rem) clamp(0.85rem, 2vw, 1.25rem);
}

.mf-team__name {
  font-family: var(--font-impact);
  font-size: clamp(0.95rem, 1.6vw, 1.2rem);
  line-height: 1.1;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: #fff;
}

.mf-team__role {
  font-size: clamp(0.75rem, 1.1vw, 0.86rem);
  line-height: 1.5;
  color: rgba(255, 255, 255, 0.58);
}

.mf-team__cta {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  margin-top: 0.35rem;
  font-family: var(--font-impact);
  font-size: clamp(0.5rem, 0.85vw, 0.6rem);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--acid);
  opacity: 0;
  transform: translateY(6px);
  transition: opacity 0.35s, transform 0.35s;
}

.page-chi-siamo .mf-team__card:hover .mf-team__cta,
.page-chi-siamo .mf-team__card:focus-visible .mf-team__cta {
  opacity: 1;
  transform: translateY(0);
}

@media (max-width: 767px) {
  .mf-team__matrix.scroll-reveal {
    opacity: 1;
    transform: none;
  }

  .mf-team__block {
    opacity: 1;
    transform: none;
    animation: none;
  }

  [data-team-org].is-active .mf-team__block,
  .mf-team__block.is-revealed {
    animation: mf-method-card-in 0.65s var(--ease-out) forwards;
  }

  .mf-team__card {
    grid-template-columns: minmax(4.75rem, 5.25rem) minmax(0, 1fr);
    align-items: stretch;
  }

  .mf-team__card-media,
  .mf-team__card-media--placeholder {
    min-height: auto;
    max-height: 6.5rem;
    aspect-ratio: 4 / 5;
    border-right: 1px solid rgba(255, 255, 255, 0.06);
    border-bottom: none;
  }

  .mf-team__photo {
    min-height: 0;
    height: 100%;
    max-height: 6.5rem;
    object-position: center 15%;
  }

  .mf-team__placeholder {
    font-size: clamp(1.15rem, 4.2vw, 1.45rem);
  }

  .mf-team__card-body {
    padding: 0.8rem 0.9rem 0.85rem 0.7rem;
    gap: 0.4rem;
    justify-content: center;
  }

  .mf-team__name {
    font-size: clamp(1.08rem, 4.6vw, 1.38rem);
    line-height: 1.05;
    letter-spacing: 0.025em;
  }

  .mf-team__role {
    font-size: clamp(0.92rem, 3.5vw, 1.05rem);
    line-height: 1.45;
    color: rgba(255, 255, 255, 0.74);
  }

  .mf-team__cta {
    opacity: 1;
    transform: none;
    font-size: 0.72rem;
    margin-top: 0.1rem;
  }
}

/* ——— Team modal ——— */
.mf-team-modal {
  position: fixed;
  inset: 0;
  z-index: 2000;
  display: grid;
  place-items: center;
  padding: clamp(1rem, 3vw, 2rem);
}

.mf-team-modal[hidden] {
  display: none;
}

.mf-team-modal__backdrop {
  position: absolute;
  inset: 0;
  border: none;
  background: rgba(4, 2, 10, 0.82);
  backdrop-filter: blur(8px);
  cursor: pointer;
}

.mf-team-modal__panel {
  position: relative;
  z-index: 1;
  width: min(100%, 40rem);
  max-height: min(88vh, 720px);
  overflow: auto;
  padding: clamp(1.25rem, 3vw, 1.75rem);
  border-radius: 0.85rem;
  border: 1px solid rgba(229, 255, 57, 0.35);
  background:
    radial-gradient(circle at 0% 0%, rgba(143, 0, 255, 0.2), transparent 45%),
    linear-gradient(155deg, #120818, #08040f);
  box-shadow:
    0 32px 72px rgba(0, 0, 0, 0.55),
    0 0 40px rgba(143, 0, 255, 0.15);
  animation: mf-team-modal-in 0.45s var(--ease-out);
}

.mf-team-modal__close {
  position: absolute;
  top: 0.75rem;
  right: 0.75rem;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border: 1px solid rgba(229, 255, 57, 0.35);
  border-radius: 50%;
  background: rgba(8, 4, 18, 0.85);
  color: var(--acid);
  font-size: 1.25rem;
  line-height: 1;
  cursor: pointer;
  transition: background 0.3s, transform 0.3s;
}

.mf-team-modal__close:hover {
  background: rgba(229, 255, 57, 0.12);
  transform: scale(1.05);
}

.mf-team-cv__head h3,
.mf-team-modal__content .mf-team-cv__head h3 {
  margin: 0 0 0.35rem;
  padding-right: 2rem;
  font-family: var(--font-impact);
  font-size: clamp(1.1rem, 2.2vw, 1.45rem);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--acid);
}

.mf-team-cv__head p,
.mf-team-modal__content .mf-team-cv__head p {
  margin: 0 0 1rem;
  font-size: clamp(0.78rem, 1.1vw, 0.88rem);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.62);
}

.mf-team-cv__body p,
.mf-team-modal__content .mf-team-cv__body p {
  margin: 0 0 0.75rem;
  font-size: clamp(0.88rem, 1.2vw, 0.96rem);
  line-height: 1.62;
  color: rgba(255, 255, 255, 0.88);
}

.mf-team-cv__body p:last-child,
.mf-team-modal__content .mf-team-cv__body p:last-child {
  margin-bottom: 0;
}

@keyframes mf-team-mesh-in {
  to {
    opacity: 1;
  }
}

@keyframes mf-team-modal-in {
  from {
    opacity: 0;
    transform: translateY(16px) scale(0.98);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@media (prefers-reduced-motion: reduce) {
  .mf-team__glow,
  .mf-team__mesh,
  .mf-team__mesh-line,
  .mf-team__block,
  .mf-team-modal__panel {
    animation: none !important;
  }

  .mf-team__mesh {
    opacity: 1;
  }

  .mf-team__block,
  .mf-team__block.is-revealed {
    opacity: 1;
    transform: none;
  }

  .page-chi-siamo .mf-team__card:hover,
  .page-chi-siamo .mf-team__card:focus-visible {
    transform: none;
  }

  .page-chi-siamo .mf-team__card:hover .mf-team__photo {
    transform: none;
  }
}

/* ——— Chi siamo: Struttura operativa ——— */
.section--cs-about-struttura {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(ellipse 75% 50% at 10% -5%, rgba(143, 0, 255, 0.32), transparent 55%),
    radial-gradient(ellipse 55% 40% at 100% 100%, rgba(229, 255, 57, 0.06), transparent 50%),
    linear-gradient(180deg, #050208 0%, #0a0612 42%, #06030a 100%);
  color: #fff;
}

.mf-ops__atmosphere {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.mf-ops__grid {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(229, 255, 57, 0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(229, 255, 57, 0.035) 1px, transparent 1px);
  background-size: 48px 48px;
  mask-image: radial-gradient(ellipse at 40% 25%, #000 18%, transparent 75%);
  opacity: 0.45;
}

.mf-ops__mesh {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
}

[data-ops-section].is-active .mf-ops__mesh {
  animation: mf-team-mesh-in 1.2s var(--ease-out) 0.15s forwards;
}

.mf-ops__mesh-line {
  fill: none;
  stroke: rgba(229, 255, 57, 0.07);
  stroke-width: 1;
  stroke-dasharray: 8 10;
}

.mf-ops__mesh-line--v {
  stroke: rgba(143, 0, 255, 0.12);
}

.mf-ops__glow {
  position: absolute;
  border-radius: 50%;
  filter: blur(88px);
  opacity: 0.5;
  animation: mf-method-glow 16s ease-in-out infinite;
}

.mf-ops__glow--tl {
  top: -12%;
  left: -8%;
  width: 48%;
  height: 42%;
  background: rgba(143, 0, 255, 0.35);
}

.mf-ops__glow--br {
  right: -10%;
  bottom: -8%;
  width: 44%;
  height: 40%;
  background: rgba(229, 255, 57, 0.08);
  animation-delay: -7s;
}

.mf-ops__inner {
  position: relative;
  z-index: 1;
  width: min(100%, 84rem);
  margin: 0 auto;
  padding: clamp(3.5rem, 8vw, 6rem) clamp(1.25rem, 4vw, 3.5rem) clamp(3.5rem, 7vw, 5.75rem);
}

.mf-ops__hero {
  margin-bottom: clamp(2.5rem, 6vw, 4rem);
}

.mf-ops__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  margin: 0 0 1.25rem;
  font-family: var(--font-impact);
  font-size: clamp(0.62rem, 1vw, 0.74rem);
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--acid);
}

.mf-ops__eyebrow-dot {
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  background: var(--acid);
  box-shadow: 0 0 14px rgba(229, 255, 57, 0.65);
  animation: mf-live-blink 2s ease-in-out infinite;
}

.mf-ops__mega {
  margin: 0;
  max-width: 14ch;
  font-family: var(--font-impact);
  font-size: clamp(2.5rem, 8.5vw, 6.25rem);
  line-height: 0.9;
  letter-spacing: 0.01em;
  text-transform: uppercase;
}

.mf-ops__mega-line {
  display: block;
  color: #fff;
}

.mf-ops__mega-line--outline {
  color: transparent;
  -webkit-text-stroke: clamp(1.5px, 0.06em, 3px) rgba(255, 255, 255, 0.55);
}

.mf-ops__mega-line--accent {
  margin-top: 0.1em;
  color: var(--acid);
  filter: drop-shadow(0 0 28px rgba(229, 255, 57, 0.22));
}

.mf-ops__stage {
  display: grid;
  gap: clamp(2rem, 5vw, 3.5rem);
  align-items: center;
  margin-bottom: clamp(2.5rem, 6vw, 4rem);
}

@media (min-width: 960px) {
  .mf-ops__stage {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: clamp(2.5rem, 5vw, 4rem);
  }
}

.mf-ops__viz {
  perspective: 1000px;
  transition: transform 0.1s linear;
}

.mf-ops__hub {
  position: relative;
  width: min(100%, 26rem);
  margin: 0 auto;
  aspect-ratio: 1;
  padding: clamp(0.75rem, 2vw, 1rem);
  border-radius: 1rem;
  border: 1px solid rgba(229, 255, 57, 0.18);
  background:
    radial-gradient(circle at 20% 30%, rgba(143, 0, 255, 0.2), transparent 50%),
    linear-gradient(155deg, rgba(12, 6, 22, 0.95), rgba(4, 2, 10, 0.98));
  box-shadow:
    0 32px 72px rgba(0, 0, 0, 0.45),
    inset 0 0 0 1px rgba(255, 255, 255, 0.04);
  opacity: 0;
  transform: scale(0.9) rotateX(4deg);
  transition: transform 0.5s var(--ease-out);
}

[data-ops-hub].is-active {
  animation: mf-ops-hub-in 1s var(--ease-out) forwards;
}

.mf-ops__hub-lines {
  position: absolute;
  inset: clamp(0.75rem, 2vw, 1rem);
  width: calc(100% - clamp(1.5rem, 4vw, 2rem));
  height: calc(100% - clamp(1.5rem, 4vw, 2rem));
  pointer-events: none;
}

.mf-ops__spoke {
  stroke: rgba(229, 255, 57, 0.12);
  stroke-width: 1;
  stroke-dasharray: 4 6;
  stroke-dashoffset: 80;
  opacity: 0.4;
  transition: stroke 0.35s, opacity 0.35s, stroke-width 0.35s;
}

[data-ops-hub].is-active .mf-ops__spoke {
  animation: mf-ops-spoke-in 0.8s var(--ease-out) forwards;
  animation-delay: calc(0.2s + var(--i) * 0.06s);
}

.mf-ops__spoke.is-lit {
  stroke: rgba(229, 255, 57, 0.75);
  stroke-width: 1.5;
  opacity: 1;
}

.mf-ops__hub-orbit {
  fill: none;
  stroke: rgba(143, 0, 255, 0.28);
  stroke-width: 1;
  stroke-dasharray: 6 8;
  transform-origin: center;
}

.mf-ops__hub-orbit--inner {
  stroke: rgba(229, 255, 57, 0.22);
}

[data-ops-hub].is-active .mf-ops__hub-orbit {
  animation: mf-ring-spin 28s linear infinite;
}

[data-ops-hub].is-active .mf-ops__hub-orbit--inner {
  animation-direction: reverse;
  animation-duration: 20s;
}

.mf-ops__hub-core {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  width: clamp(5.75rem, 30%, 7.5rem);
  height: clamp(5.75rem, 30%, 7.5rem);
  border-radius: 50%;
  border: 2px solid rgba(229, 255, 57, 0.45);
  background:
    radial-gradient(circle at 30% 25%, rgba(229, 255, 57, 0.15), transparent 55%),
    linear-gradient(155deg, #1a0a28, #0a0610);
  box-shadow:
    0 0 40px rgba(143, 0, 255, 0.3),
    0 20px 48px rgba(0, 0, 0, 0.35);
  transform: translate(-50%, -50%);
}

.mf-ops__hub-label {
  font-family: var(--font-impact);
  font-size: clamp(0.65rem, 1.5vw, 0.82rem);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  text-align: center;
  color: var(--acid);
  line-height: 1.1;
}

.mf-ops__hub-pulse {
  position: absolute;
  inset: -14%;
  border-radius: 50%;
  border: 1px solid rgba(229, 255, 57, 0.35);
  animation: mf-method-arrow-pulse 2.2s ease-in-out infinite;
}

.mf-ops__hub-ring {
  position: absolute;
  inset: -28%;
  border-radius: 50%;
  border: 1px dashed rgba(229, 255, 57, 0.2);
  animation: mf-ring-spin 22s linear infinite reverse;
}

.mf-ops__orbit {
  position: absolute;
  inset: clamp(0.75rem, 2vw, 1rem);
  margin: 0;
  padding: 0;
  list-style: none;
}

.mf-ops__pill {
  position: absolute;
  top: 50%;
  left: 50%;
  width: max-content;
  max-width: 8rem;
  transform:
    rotate(calc(var(--i) * 51.43deg))
    translateY(calc(-1 * clamp(7rem, 44%, 9rem)))
    rotate(calc(var(--i) * -51.43deg))
    translate(-50%, -50%);
  opacity: 0;
  transform-origin: center center;
}

[data-ops-hub].is-active .mf-ops__pill {
  animation: mf-ops-pill-in 0.7s var(--ease-out) forwards;
  animation-delay: calc(0.25s + var(--i) * 0.08s);
}

.mf-ops__pill span {
  display: block;
  padding: 0.42rem 0.75rem;
  border-radius: 999px;
  border: 1px solid rgba(229, 255, 57, 0.28);
  background: rgba(8, 4, 18, 0.88);
  backdrop-filter: blur(8px);
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.35);
  font-family: var(--font-impact);
  font-size: clamp(0.48rem, 0.9vw, 0.58rem);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  text-align: center;
  color: rgba(255, 255, 255, 0.88);
  transition:
    background 0.35s,
    border-color 0.35s,
    color 0.35s,
    box-shadow 0.35s,
    transform 0.35s;
}

.mf-ops__pill:hover span,
.mf-ops__pill.is-active span {
  background: rgba(229, 255, 57, 0.12);
  border-color: rgba(229, 255, 57, 0.75);
  color: var(--acid);
  box-shadow: 0 0 24px rgba(229, 255, 57, 0.2);
  transform: scale(1.06);
}

.mf-ops__copy {
  display: flex;
  flex-direction: column;
  gap: clamp(1.25rem, 3vw, 1.75rem);
}

.mf-ops__intro {
  margin: 0;
  font-size: clamp(1.05rem, 1.85vw, 1.32rem);
  line-height: 1.65;
  color: rgba(255, 255, 255, 0.78);
}

.mf-ops-kw {
  font-weight: 600;
  color: var(--acid);
}

.mf-ops-kw--acid {
  color: var(--acid);
  text-shadow: 0 0 20px rgba(229, 255, 57, 0.35);
}

.mf-ops__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.mf-ops__chips li {
  padding: 0.35rem 0.7rem;
  border-radius: 999px;
  border: 1px solid rgba(143, 0, 255, 0.35);
  background: rgba(143, 0, 255, 0.12);
  font-family: var(--font-impact);
  font-size: clamp(0.46rem, 0.85vw, 0.56rem);
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.82);
  opacity: 0;
  transform: translateY(8px);
  transition:
    background 0.35s,
    border-color 0.35s,
    transform 0.35s;
}

[data-ops-section].is-active .mf-ops__chips li {
  animation: mf-ops-chip-in 0.55s var(--ease-out) forwards;
}

[data-ops-section].is-active .mf-ops__chips li:nth-child(1) { animation-delay: 0.35s; }
[data-ops-section].is-active .mf-ops__chips li:nth-child(2) { animation-delay: 0.42s; }
[data-ops-section].is-active .mf-ops__chips li:nth-child(3) { animation-delay: 0.49s; }
[data-ops-section].is-active .mf-ops__chips li:nth-child(4) { animation-delay: 0.56s; }
[data-ops-section].is-active .mf-ops__chips li:nth-child(5) { animation-delay: 0.63s; }
[data-ops-section].is-active .mf-ops__chips li:nth-child(6) { animation-delay: 0.7s; }
[data-ops-section].is-active .mf-ops__chips li:nth-child(7) { animation-delay: 0.77s; }

.mf-ops__chips li:hover {
  background: rgba(229, 255, 57, 0.1);
  border-color: rgba(229, 255, 57, 0.45);
  transform: translateY(-2px);
}

.mf-ops__truths {
  display: grid;
  gap: clamp(0.85rem, 2vw, 1.1rem);
  margin-bottom: clamp(2.5rem, 5vw, 3.5rem);
}

.mf-ops__truth {
  position: relative;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: clamp(0.85rem, 2vw, 1.35rem);
  align-items: center;
  padding: clamp(1.15rem, 2.5vw, 1.5rem) clamp(1.15rem, 2.5vw, 1.65rem);
  border-radius: 0.85rem;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.04), rgba(255, 255, 255, 0.01)),
    rgba(12, 6, 22, 0.72);
  backdrop-filter: blur(14px);
  box-shadow: 0 18px 42px rgba(0, 0, 0, 0.32);
  overflow: hidden;
  opacity: 0;
  transform: translateX(-20px);
  transition:
    transform 0.45s var(--ease-out),
    border-color 0.45s,
    box-shadow 0.45s,
    opacity 0.45s;
}

[data-ops-truths].is-active .mf-ops__truth {
  animation: mf-ops-truth-in 0.75s var(--ease-out) forwards;
}

[data-ops-truths].is-active .mf-ops__truth:nth-child(1) { animation-delay: 0.05s; }
[data-ops-truths].is-active .mf-ops__truth:nth-child(2) { animation-delay: 0.15s; }
[data-ops-truths].is-active .mf-ops__truth:nth-child(3) { animation-delay: 0.25s; }
[data-ops-truths].is-active .mf-ops__truth:nth-child(4) { animation-delay: 0.35s; }

.mf-ops__truth::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 3px;
  border-radius: 999px;
  background: linear-gradient(180deg, var(--acid), rgba(143, 0, 255, 0.65));
  box-shadow: 0 0 14px rgba(229, 255, 57, 0.3);
  opacity: 0.7;
  transition: opacity 0.35s, box-shadow 0.35s;
}

.mf-ops__truth.is-dimmed {
  opacity: 0.45;
  transform: scale(0.98);
}

.mf-ops__truth.is-highlighted {
  transform: translateX(6px) scale(1.01);
  border-color: rgba(229, 255, 57, 0.35);
  box-shadow:
    0 28px 56px rgba(0, 0, 0, 0.42),
    0 0 32px rgba(143, 0, 255, 0.15);
}

.mf-ops__truth.is-highlighted::before {
  opacity: 1;
  box-shadow: 0 0 22px rgba(229, 255, 57, 0.5);
}

.mf-ops__truth-shine {
  position: absolute;
  inset: 0;
  background: linear-gradient(105deg, transparent 40%, rgba(229, 255, 57, 0.06) 50%, transparent 60%);
  transform: translateX(-120%);
  pointer-events: none;
}

.mf-ops__truth.is-highlighted .mf-ops__truth-shine {
  animation: mf-method-shine 0.9s var(--ease-out);
}

.mf-ops__truth-num {
  font-family: var(--font-impact);
  font-size: clamp(1.35rem, 3vw, 2.1rem);
  line-height: 1;
  letter-spacing: 0.04em;
  color: rgba(229, 255, 57, 0.22);
  transition: color 0.35s, text-shadow 0.35s;
}

.mf-ops__truth.is-highlighted .mf-ops__truth-num {
  color: var(--acid);
  text-shadow: 0 0 20px rgba(229, 255, 57, 0.35);
}

.mf-ops__truth-body {
  display: grid;
  gap: 0.35rem;
}

@media (min-width: 768px) {
  .mf-ops__truth-body {
    grid-template-columns: minmax(0, 1fr) minmax(0, 0.85fr);
    align-items: baseline;
    gap: clamp(1rem, 2.5vw, 2rem);
  }
}

.mf-ops__truth-setup {
  margin: 0;
  font-size: clamp(0.88rem, 1.3vw, 1rem);
  line-height: 1.5;
  color: rgba(255, 255, 255, 0.62);
}

.mf-ops__truth-punch {
  margin: 0;
  font-family: var(--font-impact);
  font-size: clamp(1.05rem, 2.2vw, 1.65rem);
  line-height: 1.05;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--acid);
  text-shadow: 0 0 24px rgba(229, 255, 57, 0.15);
}

.mf-ops__finale {
  position: relative;
  display: grid;
  gap: clamp(1.5rem, 3.5vw, 2rem);
  padding: clamp(1.75rem, 4vw, 2.5rem);
  border-radius: 1rem;
  border: 1px solid rgba(229, 255, 57, 0.28);
  background:
    radial-gradient(circle at 0% 0%, rgba(143, 0, 255, 0.28), transparent 50%),
    radial-gradient(circle at 100% 100%, rgba(229, 255, 57, 0.08), transparent 45%),
    linear-gradient(155deg, rgba(18, 8, 24, 0.95), rgba(8, 4, 15, 0.98));
  box-shadow:
    0 32px 72px rgba(0, 0, 0, 0.45),
    inset 0 0 0 1px rgba(255, 255, 255, 0.04);
  opacity: 0;
  transform: translateY(24px);
}

[data-ops-value].is-active {
  animation: mf-method-card-in 0.9s var(--ease-out) forwards;
}

@media (min-width: 768px) {
  .mf-ops__finale {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: clamp(2rem, 4vw, 3rem);
  }
}

.mf-ops__finale-glow {
  position: absolute;
  top: -25%;
  right: 10%;
  width: 50%;
  height: 80%;
  border-radius: 50%;
  background: rgba(143, 0, 255, 0.25);
  filter: blur(72px);
  pointer-events: none;
}

.mf-ops__finale-copy {
  position: relative;
  z-index: 1;
}

.mf-ops__value-text {
  margin: 0 0 1rem;
  font-size: clamp(0.98rem, 1.5vw, 1.12rem);
  line-height: 1.65;
  color: rgba(255, 255, 255, 0.86);
}

.mf-ops__value-lead {
  margin: 0;
  font-family: var(--font-impact);
  font-size: clamp(1.15rem, 2.4vw, 1.75rem);
  line-height: 1.12;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: #fff;
}

.mf-ops__cta {
  position: relative;
  z-index: 1;
  align-self: start;
  gap: 0.5rem;
  padding: 1rem 1.55rem;
  font-size: clamp(0.64rem, 1vw, 0.76rem);
  white-space: nowrap;
  background: var(--acid);
  border-color: var(--acid);
  color: var(--gray-dark);
  box-shadow: 0 14px 36px rgba(229, 255, 57, 0.28);
}

.page-chi-siamo .mf-ops__cta:hover {
  color: var(--gray-dark);
  background: #d4f032;
  border-color: #d4f032;
  transform: translateY(-3px);
  box-shadow: 0 18px 44px rgba(229, 255, 57, 0.38);
}

.mf-ops__cta-arrow {
  font-size: 1.15em;
  line-height: 1;
  transition: transform 0.35s var(--ease-out);
}

.page-chi-siamo .mf-ops__cta:hover .mf-ops__cta-arrow {
  transform: translateX(4px);
}

@keyframes mf-ops-hub-in {
  from {
    opacity: 0;
    transform: scale(0.9) rotateX(4deg);
  }
  to {
    opacity: 1;
    transform: scale(1) rotateX(0deg);
  }
}

@keyframes mf-ops-spoke-in {
  to {
    stroke-dashoffset: 0;
    opacity: 0.65;
  }
}

@keyframes mf-ops-pill-in {
  from {
    opacity: 0;
    transform:
      rotate(calc(var(--i) * 51.43deg))
      translateY(calc(-1 * clamp(7rem, 44%, 9rem) + 14px))
      rotate(calc(var(--i) * -51.43deg))
      translate(-50%, -50%)
      scale(0.8);
  }
  to {
    opacity: 1;
    transform:
      rotate(calc(var(--i) * 51.43deg))
      translateY(calc(-1 * clamp(7rem, 44%, 9rem)))
      rotate(calc(var(--i) * -51.43deg))
      translate(-50%, -50%)
      scale(1);
  }
}

@keyframes mf-ops-chip-in {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes mf-ops-truth-in {
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .mf-ops__glow,
  .mf-ops__mesh,
  .mf-ops__hub,
  .mf-ops__hub-orbit,
  .mf-ops__hub-ring,
  .mf-ops__spoke,
  .mf-ops__pill,
  .mf-ops__chips li,
  .mf-ops__truth,
  .mf-ops__finale,
  .mf-ops__hub-pulse {
    animation: none !important;
  }

  .mf-ops__mesh {
    opacity: 1;
  }

  .mf-ops__hub,
  .mf-ops__pill,
  .mf-ops__chips li,
  .mf-ops__truth,
  .mf-ops__finale {
    opacity: 1;
    transform: none;
  }

  .mf-ops__spoke {
    stroke-dashoffset: 0;
    opacity: 0.65;
  }

  .mf-ops__truth.is-dimmed,
  .mf-ops__truth.is-highlighted {
    opacity: 1;
    transform: none;
  }

  .page-chi-siamo .mf-ops__cta:hover {
    transform: none;
  }

  .page-chi-siamo .mf-ops__cta:hover .mf-ops__cta-arrow {
    transform: none;
  }
}

/* ——— Pagine legali (footer only) ——— */
.page-legal {
  background: var(--gray-light);
  color: var(--gray-dark);
}

.site-header--legal {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem clamp(1.25rem, 4vw, 2rem);
  background: #fff;
  border-bottom: 2px solid var(--acid);
}

.site-header--legal .logo__image {
  width: clamp(110px, 14vw, 150px);
  height: auto;
}

.site-header__legal-actions {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
}

.site-header--legal .site-lang {
  background: rgba(14, 14, 14, 0.06);
  border-color: rgba(14, 14, 14, 0.12);
}

.site-header--legal .site-lang__btn {
  color: var(--gray-dark);
}

.site-header--legal .site-lang__btn:hover,
.site-header--legal .site-lang__btn.is-active {
  color: var(--black);
}

.legal-back-link {
  font-family: var(--font-impact);
  font-size: clamp(0.58rem, 1vw, 0.7rem);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--purple);
  text-decoration: none;
  white-space: nowrap;
}

.legal-back-link:hover {
  color: var(--gray-dark);
}

.legal-page {
  padding: clamp(2.5rem, 6vw, 4rem) clamp(1.25rem, 4vw, 2rem) clamp(3rem, 7vw, 5rem);
}

.legal-page__inner {
  width: min(100%, 46rem);
  margin: 0 auto;
}

.legal-page__eyebrow {
  margin: 0 0 0.75rem;
  font-family: var(--font-impact);
  font-size: clamp(0.6rem, 1vw, 0.72rem);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--purple);
}

.legal-page__title {
  margin: 0 0 1rem;
  font-family: var(--font-impact);
  font-size: clamp(1.75rem, 4vw, 2.75rem);
  line-height: 0.95;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--gray-dark);
}

.legal-page__intro {
  margin: 0;
  font-size: clamp(1rem, 1.5vw, 1.1rem);
  line-height: 1.65;
  color: rgba(52, 52, 52, 0.88);
}

.legal-page__body {
  margin-top: clamp(2rem, 4vw, 2.75rem);
  display: grid;
  gap: clamp(1.5rem, 3vw, 2rem);
}

.legal-page__body section {
  padding-top: 0.25rem;
}

.legal-page__body h2 {
  margin: 0 0 0.75rem;
  font-family: var(--font-impact);
  font-size: clamp(1rem, 1.8vw, 1.25rem);
  line-height: 1.15;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: var(--purple);
}

.legal-page__body h3 {
  margin: 1rem 0 0.5rem;
  font-size: clamp(0.95rem, 1.4vw, 1.05rem);
  font-weight: 600;
  color: var(--gray-dark);
}

.legal-page__body h4 {
  margin: 0.75rem 0 0.4rem;
  font-size: 0.95rem;
  font-weight: 600;
  color: rgba(52, 52, 52, 0.9);
}

.legal-page__body p,
.legal-page__body li {
  margin: 0 0 0.75rem;
  font-size: clamp(0.92rem, 1.2vw, 1rem);
  line-height: 1.65;
  color: rgba(52, 52, 52, 0.88);
}

.legal-page__body ul {
  margin: 0 0 0.75rem;
  padding-left: 1.25rem;
}

.legal-page__body a {
  color: var(--purple);
  font-weight: 600;
}

.legal-page__body a:hover {
  text-decoration: underline;
}

.legal-page__updated {
  font-size: 0.88rem;
  color: rgba(52, 52, 52, 0.62);
}

.page-legal .site-footer__nav a[aria-current="page"] {
  color: var(--acid);
}

/* ═══════════════════════════════════════════════════
   BLOG — listing + article
═══════════════════════════════════════════════════ */
.page-blog,
.page-blog-article {
  background: #faf8fc;
}

.hero--blog {
  position: relative;
  min-height: min(100svh, 920px);
  background: #000;
  overflow: hidden;
}

.hero--blog__bg {
  position: absolute;
  inset: 0;
  margin: 0;
  line-height: 0;
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
  pointer-events: none;
}

.hero--blog__bg-image {
  display: block;
  width: min(72vw, 620px);
  height: auto;
  max-height: 92%;
  object-fit: contain;
  object-position: right bottom;
}

.hero--blog__veil {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    linear-gradient(180deg, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0.55) 70%, rgba(0, 0, 0, 0.88) 100%),
    linear-gradient(
      90deg,
      rgba(0, 0, 0, 0.94) 0%,
      rgba(0, 0, 0, 0.78) 38%,
      rgba(0, 0, 0, 0.28) 62%,
      transparent 82%
    ),
    radial-gradient(ellipse at 85% 55%, rgba(143, 0, 255, 0.22) 0%, transparent 52%);
}

.hero__layout--blog {
  position: relative;
  z-index: 2;
  min-height: min(100svh, 920px);
  max-width: 1180px;
  align-items: center;
  grid-template-columns: 1fr;
  padding-bottom: clamp(2rem, 4vh, 3rem);
}

@media (min-width: 960px) {
  .hero--blog__bg-image {
    width: min(48vw, 680px);
    margin-right: clamp(0rem, 2vw, 2rem);
  }
}

@media (max-width: 959px) {
  .hero--blog__bg {
    justify-content: center;
    align-items: flex-end;
  }

  .hero--blog__bg-image {
    width: min(88vw, 420px);
    max-height: 58%;
    opacity: 0.42;
  }

  .hero--blog__veil {
    background:
      linear-gradient(180deg, rgba(0, 0, 0, 0.55) 0%, rgba(0, 0, 0, 0.72) 45%, rgba(0, 0, 0, 0.9) 100%),
      linear-gradient(90deg, rgba(0, 0, 0, 0.82) 0%, rgba(0, 0, 0, 0.5) 100%);
  }
}

.hero__copy--blog {
  max-width: min(42rem, 100%);
}

.hero__eyebrow--blog {
  display: inline-block;
  margin-bottom: clamp(0.85rem, 2vh, 1.2rem);
  padding: 0.45rem 0.9rem;
  font-family: var(--font-impact);
  font-size: clamp(0.58rem, 1.05vw, 0.72rem);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--acid);
  border: 1px solid rgba(229, 255, 57, 0.7);
  border-radius: var(--radius-pill);
}

.hero__headline--blog {
  margin-bottom: clamp(1rem, 2.2vh, 1.5rem);
}

.hero__headline--blog .hero__title-line {
  font-size: clamp(1.85rem, 6vw, 3.35rem);
}

.hero__body--blog {
  font-size: clamp(1rem, 1.55vw, 1.1rem);
  line-height: 1.68;
  color: rgba(255, 255, 255, 0.88);
  max-width: 40rem;
}

.hero__body--blog-accent {
  margin-top: 0.5rem;
  font-family: var(--font-impact);
  font-size: clamp(0.95rem, 1.8vw, 1.15rem);
  line-height: 1.35;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: var(--acid);
}

.hero__actions--blog {
  margin-top: clamp(1.25rem, 2.5vh, 1.75rem);
}

.section--blog-intro {
  background: var(--gray-light);
  color: var(--gray-dark);
  border-bottom: 1px solid rgba(52, 52, 52, 0.08);
}

.blog-intro__band {
  width: 100%;
  padding: clamp(2.75rem, 6.5vw, 4.5rem) clamp(1rem, 3vw, 2rem);
  text-align: center;
}

.blog-intro__title-flag {
  display: flex;
  justify-content: center;
  width: 100%;
  margin: 0 auto clamp(1.5rem, 3.5vw, 2.25rem);
  transform: skewY(-3.5deg);
  transform-origin: center center;
}

.blog-intro__title {
  margin: 0;
  width: 100%;
  max-width: 100%;
  font-family: var(--font-impact);
  font-size: clamp(1.65rem, 5.2vw, 3.35rem);
  line-height: 0.98;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  text-align: center;
  text-wrap: balance;
}

.blog-intro__title-line {
  display: block;
  width: 100%;
}

.blog-intro__title-line--dark {
  color: var(--gray-dark);
}

.blog-intro__title-line--purple {
  color: var(--purple);
}

.blog-intro__copy-flag {
  width: 100%;
  max-width: min(100%, 96vw);
  margin: 0 auto;
  transform: skewY(-2.5deg);
  transform-origin: center center;
  display: grid;
  gap: clamp(0.85rem, 2vw, 1.15rem);
}

.blog-intro__text {
  margin: 0 auto;
  max-width: min(58rem, 100%);
  font-size: clamp(1rem, 1.65vw, 1.12rem);
  line-height: 1.68;
  color: rgba(52, 52, 52, 0.9);
  text-align: center;
  text-wrap: balance;
}

.blog-intro__text--accent {
  max-width: min(62rem, 100%);
  font-family: var(--font-impact);
  font-size: clamp(0.95rem, 2vw, 1.25rem);
  line-height: 1.32;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--purple);
}

@media (max-width: 720px) {
  .blog-intro__title {
    font-size: clamp(1.35rem, 7vw, 2rem);
    line-height: 1.02;
  }

  .blog-intro__title-flag {
    transform: skewY(-2.5deg);
  }

  .blog-intro__copy-flag {
    transform: skewY(-2deg);
  }
}

.section--blog-archive {
  background:
    radial-gradient(ellipse at 15% 0%, rgba(143, 0, 255, 0.08), transparent 55%),
    #f4f0f8;
}

.blog-archive__inner {
  width: min(1180px, calc(100% - 2.5rem));
  margin: 0 auto;
  padding: clamp(2.5rem, 6vw, 4.5rem) 0 clamp(3rem, 7vw, 5rem);
}

.blog-archive__badge {
  margin: 0 0 0.65rem;
  font-family: var(--font-impact);
  font-size: clamp(0.58rem, 1vw, 0.7rem);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--purple);
}

.blog-archive__title {
  margin: 0 0 0.75rem;
  font-family: var(--font-impact);
  font-size: clamp(1.55rem, 3.5vw, 2.35rem);
  line-height: 0.98;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--gray-dark);
}

.blog-kw-outline {
  color: transparent;
  -webkit-text-stroke: 1.5px var(--purple);
}

.blog-archive__lead {
  margin: 0 0 1.5rem;
  max-width: 36rem;
  font-size: clamp(1rem, 1.5vw, 1.08rem);
  line-height: 1.6;
  color: rgba(52, 52, 52, 0.78);
}

.blog-archive__keywords {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  margin-bottom: clamp(1.5rem, 3vw, 2rem);
}

.blog-archive__keyword {
  padding: 0.45rem 0.9rem;
  border: 1px solid rgba(143, 0, 255, 0.28);
  border-radius: var(--radius-pill);
  background: #fff;
  font-family: var(--font-impact);
  font-size: clamp(0.55rem, 0.95vw, 0.68rem);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--purple);
  cursor: pointer;
  transition:
    background 0.2s ease,
    color 0.2s ease,
    border-color 0.2s ease;
}

.blog-archive__keyword:hover,
.blog-archive__keyword.is-active {
  background: var(--purple);
  border-color: var(--purple);
  color: #fff;
}

.blog-archive__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(1rem, 2vw, 1.35rem);
}

@media (min-width: 700px) {
  .blog-archive__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 1080px) {
  .blog-archive__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.blog-card {
  border-radius: 1rem;
  background: #fff;
  border: 1px solid rgba(143, 0, 255, 0.14);
  box-shadow: 0 14px 36px rgba(52, 52, 52, 0.08);
  overflow: hidden;
  transition:
    transform 0.25s var(--ease-out),
    box-shadow 0.25s var(--ease-out);
}

.blog-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 44px rgba(143, 0, 255, 0.14);
}

.blog-card__link {
  display: block;
  color: inherit;
  text-decoration: none;
  height: 100%;
}

.blog-card__media {
  position: relative;
  margin: 0;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: #120818;
}

.blog-card__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: transform 0.35s var(--ease-out);
}

.blog-card:hover .blog-card__image {
  transform: scale(1.04);
}

.blog-card__pdf {
  position: absolute;
  top: 0.75rem;
  right: 0.75rem;
  padding: 0.3rem 0.55rem;
  border-radius: 0.35rem;
  background: rgba(229, 255, 57, 0.92);
  font-family: var(--font-impact);
  font-size: 0.58rem;
  letter-spacing: 0.1em;
  color: var(--gray-dark);
}

.blog-card__body {
  padding: clamp(1rem, 2vw, 1.25rem);
}

.blog-card__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin: 0 0 0.75rem;
  padding: 0;
  list-style: none;
}

.blog-card__tags li {
  padding: 0.25rem 0.55rem;
  border-radius: var(--radius-pill);
  background: rgba(143, 0, 255, 0.08);
  font-family: var(--font-impact);
  font-size: 0.55rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--purple);
}

.blog-card__title {
  margin: 0 0 0.55rem;
  font-family: var(--font-impact);
  font-size: clamp(1.05rem, 2vw, 1.35rem);
  line-height: 1.05;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--gray-dark);
}

.blog-card__excerpt {
  margin: 0;
  font-size: clamp(0.92rem, 1.4vw, 1rem);
  line-height: 1.6;
  color: rgba(52, 52, 52, 0.78);
}

.blog-archive__empty {
  margin: 1rem 0 0;
  text-align: center;
  font-size: 1rem;
  color: rgba(52, 52, 52, 0.7);
}

/* Article page */
.blog-article__hero {
  position: relative;
  min-height: min(88svh, 760px);
  display: flex;
  align-items: flex-end;
  overflow: hidden;
  color: #fff;
}

.blog-article__hero-bg {
  position: absolute;
  inset: 0;
  margin: 0;
  line-height: 0;
}

.blog-article__hero-bg-image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 30%;
}

.blog-article__hero-veil {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    linear-gradient(180deg, rgba(8, 2, 14, 0.55) 0%, rgba(8, 2, 14, 0.72) 42%, rgba(8, 2, 14, 0.96) 100%),
    linear-gradient(90deg, rgba(8, 2, 14, 0.92) 0%, rgba(8, 2, 14, 0.45) 55%, transparent 100%);
}

.blog-article__hero-inner {
  position: relative;
  z-index: 2;
  width: min(1180px, calc(100% - 2.5rem));
  margin: 0 auto;
  padding: calc(var(--header-h) + 1.25rem) 0 clamp(2rem, 5vw, 3rem);
}

.blog-article__breadcrumb {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.45rem;
  margin-bottom: 1rem;
  font-family: var(--font-impact);
  font-size: 0.62rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.blog-article__breadcrumb a {
  color: var(--acid);
  text-decoration: none;
}

.blog-article__breadcrumb a:hover {
  text-decoration: underline;
}

.blog-article__breadcrumb span:last-child {
  color: rgba(255, 255, 255, 0.65);
}

.blog-article__kicker {
  margin: 0 0 0.75rem;
  font-family: var(--font-impact);
  font-size: clamp(0.82rem, 1.6vw, 1rem);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--acid);
  transform: skewY(-2.5deg);
  transform-origin: left center;
}

.blog-article__title {
  margin: 0 0 1rem;
  max-width: min(22ch, 100%);
}

.blog-article__title-line {
  display: block;
  font-family: var(--font-impact);
  font-size: clamp(1.75rem, 5vw, 3.15rem);
  line-height: 0.98;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: #fff;
}

.blog-article__title-line--accent {
  color: transparent;
  -webkit-text-stroke: clamp(1px, 0.05em, 2px) var(--acid);
  paint-order: stroke fill;
  filter: drop-shadow(0 0 14px rgba(229, 255, 57, 0.12));
}

.blog-article__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.blog-article__tags li {
  padding: 0.32rem 0.7rem;
  border: 1px solid rgba(229, 255, 57, 0.45);
  border-radius: var(--radius-pill);
  background: rgba(0, 0, 0, 0.35);
  backdrop-filter: blur(6px);
  font-family: var(--font-impact);
  font-size: 0.55rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--acid);
}

.blog-article__intro-band {
  background: var(--gray-light);
  color: var(--gray-dark);
  padding: clamp(2rem, 5vw, 3rem) clamp(1rem, 3vw, 2rem);
}

.blog-article__intro-inner {
  width: min(760px, 100%);
  margin: 0 auto;
  text-align: center;
}

.blog-article__intro-text {
  margin: 0 0 1.25rem;
  font-size: clamp(1.05rem, 1.8vw, 1.2rem);
  line-height: 1.68;
  color: rgba(52, 52, 52, 0.9);
}

.blog-article__pullquote {
  margin: 0;
  padding: clamp(1rem, 2vw, 1.35rem) clamp(1.1rem, 2.5vw, 1.5rem);
  border-left: 4px solid var(--purple);
  background: rgba(255, 255, 255, 0.55);
  font-family: var(--font-impact);
  font-size: clamp(1rem, 2vw, 1.28rem);
  line-height: 1.32;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--purple);
  text-align: left;
  transform: skewY(-2deg);
}

.blog-article__body {
  display: grid;
}

.blog-article__block {
  position: relative;
  overflow: hidden;
  padding: clamp(2.5rem, 6vw, 4rem) clamp(1rem, 3vw, 2rem);
}

.blog-article__block--dark {
  background: #0a0010;
  color: var(--gray-light);
}

.blog-article__block--light {
  background: #f4f0f8;
  color: var(--gray-dark);
}

.blog-article__block--accent {
  background: linear-gradient(135deg, #1a0828 0%, #2a0f42 48%, #120818 100%);
  color: #fff;
}

.blog-article__block-glow {
  position: absolute;
  width: min(50vw, 420px);
  height: min(50vw, 420px);
  left: -8%;
  top: 10%;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(143, 0, 255, 0.28) 0%, transparent 68%);
  pointer-events: none;
}

.blog-article__block-glow--right {
  left: auto;
  right: -6%;
  top: auto;
  bottom: 0;
}

.blog-article__block-inner {
  position: relative;
  z-index: 1;
  width: min(1080px, 100%);
  margin: 0 auto;
}

.blog-article__block-inner--split {
  display: grid;
  gap: clamp(1.5rem, 3vw, 2.5rem);
  align-items: center;
}

@media (min-width: 960px) {
  .blog-article__block-inner--split {
    grid-template-columns: minmax(0, 1fr) minmax(0, 0.95fr);
  }
}

.blog-article__block-head {
  margin-bottom: clamp(1.25rem, 2.5vw, 1.75rem);
}

.blog-article__num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.4rem;
  height: 2.4rem;
  margin-bottom: 0.75rem;
  border-radius: 50%;
  border: 1px solid rgba(229, 255, 57, 0.45);
  font-family: var(--font-impact);
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  color: var(--acid);
  background: rgba(229, 255, 57, 0.08);
}

.blog-article__num--purple {
  border-color: rgba(143, 0, 255, 0.35);
  color: var(--purple);
  background: rgba(143, 0, 255, 0.08);
}

.blog-article__num--dark {
  border-color: rgba(52, 52, 52, 0.2);
  color: var(--gray-dark);
  background: rgba(255, 255, 255, 0.75);
}

.blog-article__block-head h2 {
  margin: 0;
  font-family: var(--font-impact);
  font-size: clamp(1.35rem, 3vw, 2.15rem);
  line-height: 1.02;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.blog-article__block--dark .blog-article__block-head h2 {
  color: #fff;
}

.blog-article__block--light .blog-article__block-head h2 {
  color: var(--purple);
}

.blog-article__block-lead {
  margin: 0.75rem 0 0;
  max-width: 42rem;
  font-size: clamp(1rem, 1.5vw, 1.08rem);
  line-height: 1.65;
}

.blog-article__block-lead--light {
  color: rgba(205, 204, 204, 0.88);
}

.blog-article__flow {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.65rem;
  margin-bottom: clamp(1.25rem, 2.5vw, 1.75rem);
}

@media (min-width: 700px) {
  .blog-article__flow {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 1024px) {
  .blog-article__flow {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .blog-article__flow-item:last-child {
    grid-column: span 2;
  }
}

.blog-article__flow-item {
  position: relative;
  padding: 0.95rem 1rem 0.95rem 1.15rem;
  border-radius: 0.85rem;
  border: 1px solid rgba(143, 0, 255, 0.35);
  background: rgba(255, 255, 255, 0.04);
  backdrop-filter: blur(8px);
  transition:
    transform 0.25s var(--ease-out),
    border-color 0.25s ease;
}

.blog-article__flow-item:hover {
  transform: translateY(-3px);
  border-color: rgba(229, 255, 57, 0.45);
}

.blog-article__flow-item p {
  margin: 0;
  font-size: clamp(0.95rem, 1.4vw, 1.02rem);
  line-height: 1.5;
}

.blog-article__flow-dot {
  position: absolute;
  top: 0.85rem;
  left: 0.85rem;
  width: 0.45rem;
  height: 0.45rem;
  border-radius: 50%;
  background: var(--acid);
  box-shadow: 0 0 10px rgba(229, 255, 57, 0.55);
}

.blog-article__flow-item p {
  padding-left: 0.85rem;
}

.blog-article__block-close {
  margin: 0;
  font-size: clamp(1rem, 1.6vw, 1.12rem);
  line-height: 1.55;
  color: rgba(205, 204, 204, 0.9);
}

.blog-article__block-close strong {
  color: var(--acid);
  font-weight: 600;
}

.blog-article__checklist {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.65rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

@media (min-width: 600px) {
  .blog-article__checklist {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.blog-article__check-item {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  padding: 0.85rem 1rem;
  border-radius: 0.75rem;
  background: #fff;
  border: 1px solid rgba(143, 0, 255, 0.14);
  font-size: clamp(0.95rem, 1.4vw, 1.02rem);
  line-height: 1.4;
  transition:
    transform 0.25s var(--ease-out),
    box-shadow 0.25s ease;
}

.blog-article__check-item:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 28px rgba(143, 0, 255, 0.12);
}

.blog-article__check-icon {
  flex-shrink: 0;
  width: 1.5rem;
  height: 1.5rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: var(--purple);
  color: var(--acid);
  font-size: 0.72rem;
  font-weight: 700;
}

.blog-article__insight-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.75rem;
}

@media (min-width: 600px) {
  .blog-article__insight-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 900px) {
  .blog-article__insight-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.blog-article__insight {
  padding: 1rem 1.1rem;
  border-radius: 0.85rem;
  border: 1px solid rgba(229, 255, 57, 0.2);
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.06), rgba(143, 0, 255, 0.08));
  transition: transform 0.25s var(--ease-out);
}

.blog-article__insight:hover {
  transform: translateY(-3px);
}

.blog-article__insight--wide {
  grid-column: 1 / -1;
}

@media (min-width: 900px) {
  .blog-article__insight--wide {
    grid-column: span 2;
  }
}

.blog-article__insight-label {
  display: block;
  margin-bottom: 0.35rem;
  font-family: var(--font-impact);
  font-size: 0.58rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--acid);
}

.blog-article__insight p {
  margin: 0;
  font-size: clamp(0.95rem, 1.4vw, 1.02rem);
  line-height: 1.45;
}

.blog-article__split-copy h2 {
  margin: 0 0 1rem;
  font-family: var(--font-impact);
  font-size: clamp(1.35rem, 3vw, 2rem);
  line-height: 1.02;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--acid);
}

.blog-article__split-copy p {
  margin: 0 0 0.85rem;
  font-size: clamp(1rem, 1.5vw, 1.08rem);
  line-height: 1.65;
  color: rgba(255, 255, 255, 0.88);
}

.blog-article__split-punch {
  font-family: var(--font-impact);
  font-size: clamp(1rem, 1.8vw, 1.15rem);
  line-height: 1.35;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: #fff;
}

.blog-article__split-cta {
  margin-top: 0.5rem;
}

.blog-article__split-visual {
  margin: 0;
  border-radius: 1rem;
  overflow: hidden;
  border: 2px solid rgba(229, 255, 57, 0.28);
  box-shadow: 0 24px 56px rgba(0, 0, 0, 0.35);
}

.blog-article__split-visual img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
}

.blog-article__block-note {
  margin: 1rem 0 0;
  font-size: clamp(0.98rem, 1.5vw, 1.06rem);
  line-height: 1.62;
  color: rgba(205, 204, 204, 0.82);
  max-width: 48rem;
}

.blog-article__block-punch {
  margin: clamp(1rem, 2vw, 1.35rem) 0 0;
  font-family: var(--font-impact);
  font-size: clamp(1rem, 1.9vw, 1.2rem);
  line-height: 1.32;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--gray-dark);
}

.blog-article__block-punch--purple {
  color: var(--purple);
  text-align: center;
}

.blog-article__intro-text strong {
  color: var(--purple);
  font-weight: 600;
}

.blog-article__compare {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.85rem;
  margin-bottom: clamp(1rem, 2vw, 1.35rem);
}

@media (min-width: 768px) {
  .blog-article__compare {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
  }
}

.blog-article__compare-col {
  padding: clamp(1rem, 2vw, 1.25rem);
  border-radius: 0.9rem;
  border: 1px solid transparent;
}

.blog-article__compare-col--problem {
  background: rgba(255, 255, 255, 0.04);
  border-color: rgba(143, 0, 255, 0.4);
}

.blog-article__compare-col--solution {
  background: rgba(229, 255, 57, 0.06);
  border-color: rgba(229, 255, 57, 0.35);
}

.blog-article__compare-label {
  margin: 0 0 0.75rem;
  font-family: var(--font-impact);
  font-size: clamp(0.85rem, 1.6vw, 1rem);
  line-height: 1.1;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--acid);
}

.blog-article__compare-col ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0.5rem;
}

.blog-article__compare-col li {
  position: relative;
  padding-left: 1rem;
  font-size: clamp(0.92rem, 1.4vw, 1rem);
  line-height: 1.45;
  color: rgba(205, 204, 204, 0.92);
}

.blog-article__compare-col--solution li {
  color: rgba(255, 255, 255, 0.9);
}

.blog-article__compare-col li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.55em;
  width: 0.35rem;
  height: 0.35rem;
  border-radius: 50%;
  background: var(--purple);
}

.blog-article__compare-col--solution li::before {
  background: var(--acid);
}

.blog-article__tool-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  justify-content: center;
  margin-bottom: clamp(1rem, 2vw, 1.5rem);
}

.blog-article__tool-chip {
  padding: 0.45rem 0.85rem;
  border-radius: var(--radius-pill);
  border: 1px solid rgba(143, 0, 255, 0.22);
  background: #fff;
  font-family: var(--font-impact);
  font-size: clamp(0.55rem, 1vw, 0.68rem);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--purple);
  transition:
    transform 0.2s var(--ease-out),
    border-color 0.2s ease,
    box-shadow 0.2s ease;
}

.blog-article__tool-chip:hover {
  transform: translateY(-2px);
  border-color: rgba(143, 0, 255, 0.45);
  box-shadow: 0 8px 20px rgba(143, 0, 255, 0.12);
}

.blog-article__download-band {
  padding: clamp(2rem, 5vw, 3rem) clamp(1rem, 3vw, 2rem);
  background:
    radial-gradient(ellipse at 20% 50%, rgba(143, 0, 255, 0.35), transparent 55%),
    linear-gradient(135deg, #120818, #1f0a30);
  border-top: 1px solid rgba(229, 255, 57, 0.2);
}

.blog-article__download-band-inner {
  width: min(1080px, 100%);
  margin: 0 auto;
  display: grid;
  gap: clamp(1.25rem, 2.5vw, 2rem);
  align-items: center;
  color: #fff;
}

@media (min-width: 860px) {
  .blog-article__download-band-inner {
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr);
  }
}

.blog-article__download-badge {
  margin: 0 0 0.55rem;
  font-family: var(--font-impact);
  font-size: 0.58rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--acid);
}

.blog-article__download-title {
  margin: 0 0 0.65rem;
  font-family: var(--font-impact);
  font-size: clamp(1.2rem, 2.5vw, 1.75rem);
  line-height: 1.05;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.blog-article__download-text {
  margin: 0;
  font-size: clamp(0.95rem, 1.5vw, 1.05rem);
  line-height: 1.58;
  color: rgba(255, 255, 255, 0.82);
}

.blog-article__download-action {
  display: grid;
  gap: 0.65rem;
}

.blog-article__download-btn {
  width: 100%;
  text-align: center;
}

.blog-article__download-note {
  margin: 0;
  font-size: 0.82rem;
  color: rgba(255, 255, 255, 0.55);
  text-align: center;
}

.blog-article__back-link {
  display: block;
  text-align: center;
  font-family: var(--font-impact);
  font-size: 0.62rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--acid);
  text-decoration: none;
}

.blog-article__back-link:hover {
  text-decoration: underline;
}

.page-blog-article .bestia-contact__form {
  transition:
    transform 0.35s var(--ease-out),
    border-color var(--transition),
    box-shadow var(--transition);
}

.page-blog-article .bestia-contact__form:hover {
  transform: translateY(-3px);
  border-color: rgba(229, 255, 57, 0.55);
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.22);
}

.page-blog-article .bestia-contact__field input,
.page-blog-article .bestia-contact__field textarea,
.page-blog-article .bestia-contact__dropdown-trigger {
  transition:
    border-color var(--transition),
    box-shadow var(--transition),
    background var(--transition);
}

.page-blog-article .bestia-contact__submit {
  transition:
    transform var(--transition),
    box-shadow var(--transition);
}

.page-blog-article .bestia-contact__submit:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(143, 0, 255, 0.35);
}

/* ═══════════════════════════════════════════════════
   BLOG ARTICLE — layout PMI (variante CRM)
═══════════════════════════════════════════════════ */
.page-blog-article--pmi {
  background: #fff;
}

.blog-pmi-hero {
  background: var(--gray-light);
  padding: calc(var(--header-h) + 1.25rem) 0 clamp(2rem, 4vw, 3rem);
  border-bottom: 4px solid var(--purple);
}

.blog-pmi-hero__inner {
  width: min(1180px, calc(100% - 2.5rem));
  margin: 0 auto;
  display: grid;
  gap: clamp(1.5rem, 3vw, 2.5rem);
  align-items: center;
}

@media (min-width: 960px) {
  .blog-pmi-hero__inner {
    grid-template-columns: minmax(0, 1fr) minmax(0, 0.92fr);
  }
}

.blog-pmi-hero__breadcrumb {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.45rem;
  margin-bottom: 0.85rem;
  font-family: var(--font-impact);
  font-size: 0.62rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.blog-pmi-hero__breadcrumb a {
  color: var(--purple);
  text-decoration: none;
}

.blog-pmi-hero__breadcrumb a:hover {
  text-decoration: underline;
}

.blog-pmi-hero__breadcrumb span:last-child {
  color: rgba(52, 52, 52, 0.6);
}

.blog-pmi-hero__kicker {
  margin: 0 0 0.65rem;
  font-family: var(--font-impact);
  font-size: clamp(0.78rem, 1.4vw, 0.92rem);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--purple);
}

.blog-pmi-hero__title {
  margin: 0 0 1rem;
  font-family: var(--font-impact);
  font-size: clamp(1.65rem, 4.2vw, 2.85rem);
  line-height: 0.98;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--gray-dark);
  max-width: 18ch;
}

.blog-pmi-hero__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.blog-pmi-hero__tags li {
  padding: 0.3rem 0.65rem;
  border-radius: var(--radius-pill);
  border: 1px solid rgba(143, 0, 255, 0.35);
  background: #fff;
  font-family: var(--font-impact);
  font-size: 0.55rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--purple);
}

.blog-pmi-hero__visual {
  margin: 0;
  border-radius: 1rem;
  overflow: hidden;
  border: 3px solid var(--purple);
  box-shadow:
    12px 12px 0 var(--acid),
    0 20px 48px rgba(52, 52, 52, 0.18);
}

.blog-pmi-hero__image {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 10;
  object-fit: cover;
}

.blog-pmi-strip {
  padding: clamp(2rem, 4.5vw, 3rem) clamp(1rem, 3vw, 2rem);
}

.blog-pmi-strip--purple {
  background: var(--purple);
  color: #fff;
}

.blog-pmi-strip--gray {
  background: var(--gray-light);
  color: var(--gray-dark);
}

.blog-pmi-strip__inner {
  width: min(900px, 100%);
  margin: 0 auto;
}

.blog-pmi-strip__inner--narrow {
  text-align: center;
}

.blog-pmi-strip__title {
  margin: 0 0 1rem;
  font-family: var(--font-impact);
  font-size: clamp(1.35rem, 3vw, 2rem);
  line-height: 1.02;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--purple);
}

.blog-pmi-strip__text {
  margin: 0 0 0.85rem;
  font-size: clamp(1rem, 1.6vw, 1.12rem);
  line-height: 1.68;
  color: rgba(255, 255, 255, 0.92);
}

.blog-pmi-strip__text:last-child {
  margin-bottom: 0;
}

.blog-pmi-strip__text--dark {
  color: rgba(52, 52, 52, 0.9);
}

.blog-pmi-strip__text strong {
  color: var(--acid);
  font-weight: 600;
}

.blog-pmi-strip--gray .blog-pmi-strip__text strong {
  color: var(--purple);
}

.blog-pmi-section {
  padding: clamp(2.5rem, 5vw, 4rem) clamp(1rem, 3vw, 2rem);
}

.blog-pmi-section--timeline {
  background: #fff;
}

.blog-pmi-section--questions {
  background: var(--gray-dark);
  color: var(--gray-light);
}

.blog-pmi-section--risks {
  background: linear-gradient(180deg, #f4f0f8 0%, #fff 100%);
  color: var(--gray-dark);
}

.blog-pmi-section--features {
  background: #fff;
  border-top: 1px solid rgba(143, 0, 255, 0.12);
}

.blog-pmi-section__inner {
  width: min(1000px, 100%);
  margin: 0 auto;
}

.blog-pmi-section__head {
  margin-bottom: clamp(1.25rem, 2.5vw, 1.75rem);
}

.blog-pmi-section__head--light h2 {
  color: #fff;
}

.blog-pmi-section__label {
  display: inline-block;
  margin-bottom: 0.55rem;
  font-family: var(--font-impact);
  font-size: 0.58rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--purple);
}

.blog-pmi-section__label--acid {
  color: var(--acid);
}

.blog-pmi-section__label--purple {
  color: var(--purple);
}

.blog-pmi-section__head h2 {
  margin: 0;
  font-family: var(--font-impact);
  font-size: clamp(1.3rem, 2.8vw, 2rem);
  line-height: 1.02;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--gray-dark);
}

.blog-pmi-section--questions .blog-pmi-section__head h2 {
  color: #fff;
}

.blog-pmi-section__lead {
  margin: 0.75rem 0 0;
  max-width: 44rem;
  font-size: clamp(1rem, 1.5vw, 1.08rem);
  line-height: 1.62;
  color: rgba(52, 52, 52, 0.85);
}

.blog-pmi-timeline {
  margin: 0;
  padding: 0 0 0 1.5rem;
  list-style: none;
  border-left: 3px solid var(--purple);
  display: grid;
  gap: 0.85rem;
}

.blog-pmi-timeline__item {
  position: relative;
  padding-left: 0.5rem;
}

.blog-pmi-timeline__dot {
  position: absolute;
  left: -1.72rem;
  top: 0.35em;
  width: 0.75rem;
  height: 0.75rem;
  border-radius: 50%;
  background: var(--acid);
  border: 2px solid var(--purple);
  box-shadow: 0 0 0 3px rgba(229, 255, 57, 0.25);
}

.blog-pmi-timeline__item p {
  margin: 0;
  font-size: clamp(1rem, 1.5vw, 1.08rem);
  line-height: 1.55;
  color: rgba(52, 52, 52, 0.9);
}

.blog-pmi-section__punch {
  margin: clamp(1.25rem, 2.5vw, 1.75rem) 0 0;
  font-size: clamp(1rem, 1.6vw, 1.12rem);
  line-height: 1.55;
  color: var(--gray-dark);
}

.blog-pmi-section__punch span {
  display: block;
  margin-top: 0.35rem;
  font-family: var(--font-impact);
  font-size: clamp(1.05rem, 1.9vw, 1.25rem);
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--purple);
}

.blog-pmi-section__punch--center {
  text-align: center;
}

.blog-pmi-questions {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.65rem;
}

@media (min-width: 640px) {
  .blog-pmi-questions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.blog-pmi-question {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  padding: 0.95rem 1rem;
  border-radius: 0.75rem;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(229, 255, 57, 0.22);
  transition: transform 0.25s var(--ease-out);
}

.blog-pmi-question:hover {
  transform: translateX(4px);
}

.blog-pmi-question--wide {
  grid-column: 1 / -1;
}

.blog-pmi-question__mark {
  flex-shrink: 0;
  width: 1.65rem;
  height: 1.65rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: var(--acid);
  color: var(--gray-dark);
  font-family: var(--font-impact);
  font-size: 0.85rem;
  font-weight: 700;
}

.blog-pmi-question p {
  margin: 0;
  font-size: clamp(0.95rem, 1.4vw, 1.02rem);
  line-height: 1.45;
}

.blog-pmi-section__alert {
  margin: clamp(1.25rem, 2.5vw, 1.5rem) 0 0;
  padding: 1rem 1.15rem;
  border-left: 4px solid var(--acid);
  background: rgba(143, 0, 255, 0.2);
  font-family: var(--font-impact);
  font-size: clamp(0.95rem, 1.7vw, 1.1rem);
  line-height: 1.35;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--acid);
}

.blog-pmi-risks {
  display: grid;
  gap: 0.85rem;
}

@media (min-width: 768px) {
  .blog-pmi-risks {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.blog-pmi-risk {
  padding: 1.15rem 1.1rem;
  border-radius: 0.9rem;
  background: #fff;
  border: 2px solid rgba(143, 0, 255, 0.18);
  box-shadow: 0 12px 32px rgba(143, 0, 255, 0.08);
  transition: transform 0.25s var(--ease-out);
}

.blog-pmi-risk:hover {
  transform: translateY(-4px);
}

.blog-pmi-risk__icon {
  display: block;
  margin-bottom: 0.65rem;
  font-family: var(--font-impact);
  font-size: 0.72rem;
  letter-spacing: 0.1em;
  color: var(--purple);
}

.blog-pmi-risk p {
  margin: 0;
  font-size: clamp(0.92rem, 1.4vw, 1rem);
  line-height: 1.55;
}

.blog-pmi-features {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0.55rem;
}

@media (min-width: 640px) {
  .blog-pmi-features {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.blog-pmi-feature {
  padding: 0.85rem 1rem 0.85rem 2.5rem;
  position: relative;
  border-radius: 0.65rem;
  background: var(--gray-light);
  font-size: clamp(0.95rem, 1.4vw, 1.02rem);
  line-height: 1.45;
  color: var(--gray-dark);
}

.blog-pmi-feature::before {
  content: "";
  position: absolute;
  left: 1rem;
  top: 50%;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  background: var(--purple);
  transform: translateY(-50%);
}

.blog-pmi-callout {
  margin-top: clamp(1.25rem, 2.5vw, 1.75rem);
  padding: clamp(1rem, 2vw, 1.35rem);
  border-radius: 0.85rem;
  border: 2px dashed rgba(143, 0, 255, 0.35);
  background: rgba(143, 0, 255, 0.05);
}

.blog-pmi-callout p {
  margin: 0;
  font-size: clamp(0.98rem, 1.5vw, 1.06rem);
  line-height: 1.62;
  color: rgba(52, 52, 52, 0.9);
}

.blog-pmi-callout strong {
  color: var(--purple);
}

.blog-pmi-spotlight {
  background: #0a0010;
  color: #fff;
  padding: clamp(2.5rem, 5vw, 4rem) clamp(1rem, 3vw, 2rem);
}

.blog-pmi-spotlight__inner {
  width: min(1100px, 100%);
  margin: 0 auto;
  display: grid;
  gap: clamp(1.5rem, 3vw, 2.5rem);
  align-items: center;
}

@media (min-width: 960px) {
  .blog-pmi-spotlight__inner {
    grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
  }

  .blog-pmi-spotlight__visual {
    order: -1;
  }
}

.blog-pmi-spotlight__visual {
  margin: 0;
  border-radius: 1rem;
  overflow: hidden;
  border: 2px solid rgba(229, 255, 57, 0.3);
}

.blog-pmi-spotlight__visual img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
}

.blog-pmi-spotlight__copy h2 {
  margin: 0 0 1rem;
  font-family: var(--font-impact);
  font-size: clamp(1.3rem, 2.8vw, 1.85rem);
  line-height: 1.05;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--acid);
}

.blog-pmi-spotlight__copy p {
  margin: 0 0 0.85rem;
  font-size: clamp(0.98rem, 1.5vw, 1.06rem);
  line-height: 1.62;
  color: rgba(255, 255, 255, 0.88);
}

.blog-pmi-spotlight__benefits {
  margin: 0 0 1.25rem;
  padding: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}

.blog-pmi-spotlight__benefits li {
  padding: 0.35rem 0.7rem;
  border-radius: var(--radius-pill);
  border: 1px solid rgba(229, 255, 57, 0.35);
  font-family: var(--font-impact);
  font-size: 0.55rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--acid);
}

.blog-pmi-closing {
  padding: clamp(2.5rem, 5vw, 3.5rem) clamp(1rem, 3vw, 2rem);
  background: var(--gray-light);
}

.blog-pmi-closing__inner {
  width: min(760px, 100%);
  margin: 0 auto;
  text-align: center;
}

.blog-pmi-closing__quote {
  margin: 0;
  font-family: var(--font-impact);
  font-size: clamp(1.5rem, 4.5vw, 2.75rem);
  line-height: 0.98;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--purple);
  transform: skewY(-3deg);
}

.blog-pmi-download {
  padding: clamp(2rem, 4vw, 3rem) clamp(1rem, 3vw, 2rem);
  background: #fff;
}

.blog-pmi-download__card {
  width: min(1000px, 100%);
  margin: 0 auto;
  padding: clamp(1.35rem, 2.5vw, 1.75rem);
  display: grid;
  gap: clamp(1rem, 2vw, 1.5rem);
  align-items: center;
  border-radius: 1rem;
  border: 2px solid var(--purple);
  background: linear-gradient(135deg, rgba(143, 0, 255, 0.04), rgba(229, 255, 57, 0.08));
  box-shadow: 0 16px 40px rgba(143, 0, 255, 0.1);
}

@media (min-width: 800px) {
  .blog-pmi-download__card {
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr);
  }
}

.blog-pmi-download__badge {
  margin: 0 0 0.5rem;
  font-family: var(--font-impact);
  font-size: 0.58rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--purple);
}

.blog-pmi-download__title {
  margin: 0 0 0.65rem;
  font-family: var(--font-impact);
  font-size: clamp(1.15rem, 2.2vw, 1.55rem);
  line-height: 1.05;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--gray-dark);
}

.blog-pmi-download__text {
  margin: 0;
  font-size: clamp(0.95rem, 1.45vw, 1.02rem);
  line-height: 1.58;
  color: rgba(52, 52, 52, 0.85);
}

.blog-pmi-download__action {
  display: grid;
  gap: 0.55rem;
}

.blog-pmi-download__btn {
  width: 100%;
  text-align: center;
}

.blog-pmi-download__note {
  margin: 0;
  font-size: 0.82rem;
  color: rgba(52, 52, 52, 0.6);
  text-align: center;
}

.blog-pmi-download__back {
  display: block;
  text-align: center;
  font-family: var(--font-impact);
  font-size: 0.6rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--purple);
  text-decoration: none;
}

.blog-pmi-download__back:hover {
  text-decoration: underline;
}

.page-blog-article--pmi .bestia-contact__form:hover {
  transform: translateY(-3px);
  border-color: rgba(229, 255, 57, 0.55);
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.22);
}

/* ——— Blog articoli: layout editoriale (stile giornale online) ——— */
.page-blog-editorial {
  background: var(--white);
}

.blog-editorial {
  max-width: 46rem;
  margin: 0 auto;
  padding: clamp(1.5rem, 4vw, 2.5rem) clamp(1.25rem, 4vw, 2rem) clamp(3rem, 6vw, 4.5rem);
}

.blog-editorial__header {
  margin-bottom: clamp(1.5rem, 3vw, 2.25rem);
  padding-bottom: clamp(1rem, 2vw, 1.5rem);
  border-bottom: 1px solid rgba(52, 52, 52, 0.12);
}

.blog-editorial__breadcrumb {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.4rem;
  margin-bottom: 1rem;
  font-size: 0.78rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: rgba(52, 52, 52, 0.55);
}

.blog-editorial__breadcrumb a {
  color: var(--purple);
  text-decoration: none;
}

.blog-editorial__breadcrumb a:hover {
  text-decoration: underline;
}

.blog-editorial__category {
  margin: 0 0 0.75rem;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--purple);
}

.blog-editorial__title {
  margin: 0 0 1rem;
  font-family: var(--font-body);
  font-size: clamp(1.65rem, 4.2vw, 2.35rem);
  font-weight: 600;
  line-height: 1.18;
  letter-spacing: -0.02em;
  color: var(--gray-dark);
}

.blog-editorial__title-kw {
  color: transparent;
  -webkit-text-stroke: clamp(1px, 0.06em, 2px) var(--purple);
  filter: drop-shadow(0 0 8px rgba(143, 0, 255, 0.12));
}

@supports not (-webkit-text-stroke: 1px #8f00ff) {
  .blog-editorial__title-kw {
    color: var(--purple);
    -webkit-text-stroke: 0;
  }
}

.blog-editorial__kw {
  color: var(--purple);
  font-weight: 600;
}

.blog-editorial__standfirst {
  margin: 0 0 1rem;
  font-size: clamp(1.05rem, 2vw, 1.2rem);
  font-weight: 400;
  font-style: italic;
  line-height: 1.55;
  color: rgba(52, 52, 52, 0.78);
}

.blog-editorial__byline {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.45rem;
  margin: 0;
  font-size: 0.82rem;
  font-weight: 500;
  color: rgba(52, 52, 52, 0.55);
}

.blog-editorial__figure {
  margin: 0 0 clamp(1.75rem, 3.5vw, 2.5rem);
}

.blog-editorial__image {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 2px;
}

.blog-editorial__body {
  font-family: var(--font-body);
  font-size: clamp(1.02rem, 1.6vw, 1.125rem);
  line-height: 1.72;
  color: var(--gray-dark);
}

.blog-editorial__body > p {
  margin: 0 0 1.15em;
}

.blog-editorial__body > p:last-child {
  margin-bottom: 0;
}

.blog-editorial__h2 {
  margin: clamp(2rem, 4vw, 2.65rem) 0 0.9em;
  font-family: var(--font-body);
  font-size: clamp(1.22rem, 2.35vw, 1.48rem);
  font-weight: 600;
  line-height: 1.28;
  letter-spacing: -0.018em;
  color: var(--gray-dark);
}

.blog-editorial__h3 {
  margin: clamp(1.5rem, 3vw, 2rem) 0 0.7em;
  font-family: var(--font-body);
  font-size: clamp(1.06rem, 1.85vw, 1.16rem);
  font-weight: 600;
  line-height: 1.34;
  letter-spacing: -0.01em;
  color: rgba(52, 52, 52, 0.9);
}

.blog-editorial__h2 .blog-editorial__kw,
.blog-editorial__h3 .blog-editorial__kw {
  font-weight: 600;
}

.blog-editorial__body > .blog-editorial__h2:first-child,
.blog-editorial__body > .blog-editorial__h3:first-child {
  margin-top: 0;
}

.blog-editorial__dropcap::first-letter {
  float: left;
  margin: 0.06em 0.12em 0 0;
  font-size: 3.4em;
  font-weight: 600;
  line-height: 0.78;
  color: var(--gray-dark);
}

.blog-editorial__highlight {
  margin: clamp(1.5rem, 3vw, 2rem) 0;
  padding: clamp(1rem, 2vw, 1.35rem) clamp(1.1rem, 2.2vw, 1.5rem);
  border-left: 3px solid var(--purple);
  background: rgba(143, 0, 255, 0.04);
}

.blog-editorial__highlight p {
  margin: 0;
  font-size: clamp(1.05rem, 1.8vw, 1.15rem);
  font-weight: 600;
  font-style: italic;
  line-height: 1.55;
  color: var(--gray-dark);
}

.blog-editorial__download {
  margin-top: clamp(2.5rem, 5vw, 3.5rem);
  padding: clamp(1.35rem, 3vw, 1.75rem);
  border: 1px solid rgba(143, 0, 255, 0.18);
  border-radius: 1rem;
  background: linear-gradient(
    165deg,
    rgba(143, 0, 255, 0.05) 0%,
    rgba(229, 255, 57, 0.06) 100%
  );
}

.blog-editorial__download-title {
  margin: 0 0 0.35rem;
  font-family: var(--font-impact);
  font-size: clamp(0.95rem, 1.6vw, 1.1rem);
  font-weight: 400;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--purple);
}

.blog-editorial__download-heading {
  margin: 0 0 0.65rem;
  font-family: var(--font-body);
  font-size: clamp(1.15rem, 2.2vw, 1.45rem);
  font-weight: 700;
  line-height: 1.25;
  color: var(--gray-dark);
}

.blog-editorial__download-text {
  margin: 0 0 1.1rem;
  font-size: 0.95rem;
  line-height: 1.6;
  color: rgba(52, 52, 52, 0.78);
  max-width: 52ch;
}

.blog-editorial__download-btn {
  width: 100%;
  max-width: 22rem;
}

.blog-editorial__download-link {
  display: inline-block;
  font-size: 0.88rem;
  font-weight: 600;
  color: var(--purple);
  text-decoration: underline;
  text-underline-offset: 0.15em;
}

.blog-editorial__download-link:hover {
  color: var(--gray-dark);
}

body.lead-magnet-open {
  overflow: hidden;
}

.lead-magnet__dialog {
  position: fixed;
  inset: 0;
  z-index: 2000;
  display: grid;
  place-items: center;
  padding: 1.25rem;
  background: rgba(10, 10, 10, 0.72);
  backdrop-filter: blur(4px);
}

.lead-magnet__dialog[hidden] {
  display: none;
}

.lead-magnet__panel {
  position: relative;
  width: min(100%, 34rem);
  max-height: min(92svh, 760px);
  overflow: auto;
  padding: clamp(1.35rem, 3vw, 1.75rem);
  border-radius: 1rem;
  border: 2px solid rgba(143, 0, 255, 0.22);
  background: #ececec;
  box-shadow: 0 24px 64px rgba(0, 0, 0, 0.35);
}

.lead-magnet__panel strong {
  color: var(--purple);
  font-weight: 700;
}

.lead-magnet__close {
  position: absolute;
  top: 0.65rem;
  right: 0.65rem;
  width: 2rem;
  height: 2rem;
  border: none;
  border-radius: 999px;
  background: rgba(143, 0, 255, 0.08);
  color: var(--purple);
  font-size: 1.35rem;
  line-height: 1;
  cursor: pointer;
}

.lead-magnet__title {
  margin: 0 2rem 0.35rem 0;
  font-family: var(--font-impact);
  font-size: clamp(1rem, 2vw, 1.15rem);
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--purple);
}

.lead-magnet__subtitle {
  margin: 0 0 1.1rem;
  font-size: 0.92rem;
  line-height: 1.55;
  color: var(--gray-dark);
}

.lead-magnet__form {
  display: grid;
  gap: 0.85rem;
}

.lead-magnet__grid {
  display: grid;
  gap: 0.85rem;
}

@media (min-width: 520px) {
  .lead-magnet__grid {
    grid-template-columns: 1fr 1fr;
  }
}

.lead-magnet__field {
  display: grid;
  gap: 0.35rem;
}

.lead-magnet__field label {
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: rgba(52, 52, 52, 0.72);
}

.lead-magnet__field input {
  width: 100%;
  padding: 0.72rem 0.85rem;
  border: 1px solid rgba(52, 52, 52, 0.18);
  border-radius: 0.55rem;
  font: inherit;
  color: var(--gray-dark);
  background: #fff;
  transition:
    border-color var(--transition),
    box-shadow var(--transition);
}

.lead-magnet__field input:focus {
  outline: none;
  border-color: var(--purple);
  box-shadow: 0 0 0 3px rgba(143, 0, 255, 0.14);
}

.lead-magnet__privacy {
  margin: 0;
  font-size: 0.78rem;
  line-height: 1.5;
  color: rgba(52, 52, 52, 0.65);
}

.lead-magnet__privacy a {
  color: var(--purple);
  font-weight: 600;
}

.lead-magnet__field--consent {
  grid-column: 1 / -1;
}

.lead-magnet__consent {
  display: flex;
  align-items: flex-start;
  gap: 0.65rem;
  font-size: 0.78rem;
  line-height: 1.5;
  color: rgba(52, 52, 52, 0.78);
  cursor: pointer;
}

.lead-magnet__consent input[type="checkbox"] {
  width: 1.05rem;
  height: 1.05rem;
  margin-top: 0.12rem;
  flex: 0 0 auto;
  accent-color: var(--purple);
  cursor: pointer;
}

.lead-magnet__consent a {
  color: var(--purple);
  font-weight: 600;
  text-decoration: underline;
}

.lead-magnet__submit {
  width: 100%;
}

.lead-magnet__note {
  margin: 0;
  font-size: 0.86rem;
  line-height: 1.5;
}

.lead-magnet__note--success {
  color: #1f7a3b;
}

.lead-magnet__note--error {
  color: #b42318;
}

.lead-magnet__honeypot {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

.blog-editorial__footer {
  margin-top: clamp(2rem, 4vw, 2.75rem);
}

.blog-editorial__back {
  font-size: 0.85rem;
  font-weight: 500;
  color: rgba(52, 52, 52, 0.6);
  text-decoration: none;
}

.blog-editorial__back:hover {
  color: var(--purple);
  text-decoration: underline;
}

.page-blog-editorial .section--bestia-contact {
  margin-top: 0;
}

@media (min-width: 900px) {
  .blog-editorial__title {
    font-size: clamp(2rem, 3.2vw, 2.5rem);
  }
}

/* ——— Pagina Contatti ——— */
.page-contatti {
  background: var(--purple);
}

.page-contatti .site-nav__link.is-active {
  color: var(--acid);
}

.section--contatti-page {
  min-height: min(100svh, 920px);
  padding-top: var(--header-h);
}

.section--contatti-page .bestia-contact__intro {
  display: grid;
  gap: clamp(0.85rem, 2vw, 1.15rem);
}

.section--contatti-page .bestia-contact__title {
  max-width: 18ch;
}

.contatti-page__refs {
  margin-top: clamp(0.5rem, 2vw, 1rem);
  padding-top: clamp(1.25rem, 2.5vw, 1.75rem);
  border-top: 1px solid rgba(229, 255, 57, 0.28);
}

.contatti-page__refs-grid {
  display: grid;
  gap: clamp(1rem, 2vw, 1.35rem);
  margin-bottom: clamp(1rem, 2vw, 1.25rem);
}

@media (min-width: 640px) {
  .contatti-page__refs-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.25rem;
  }
}

.contatti-page__address {
  font-style: normal;
  font-size: clamp(0.92rem, 1.4vw, 1rem);
  line-height: 1.55;
  color: var(--gray-light);
}

.contatti-page__address-label {
  display: block;
  margin-bottom: 0.4rem;
  font-family: var(--font-impact);
  font-size: 0.58rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--acid);
}

.contatti-page__address--legal {
  color: rgba(205, 204, 204, 0.88);
}

.contatti-page__contacts {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem 1.25rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.contatti-page__contact-link {
  display: inline-flex;
  align-items: center;
  min-height: 2.5rem;
  padding: 0.45rem 0.9rem;
  border: 1px solid rgba(229, 255, 57, 0.45);
  border-radius: var(--radius-pill);
  font-family: var(--font-impact);
  font-size: clamp(0.72rem, 1.2vw, 0.82rem);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--acid);
  text-decoration: none;
  transition:
    background 0.2s ease,
    color 0.2s ease,
    border-color 0.2s ease;
}

.contatti-page__contact-link:hover {
  background: var(--acid);
  border-color: var(--acid);
  color: var(--gray-dark);
}

@media (min-width: 960px) {
  .section--contatti-page .bestia-contact__inner {
    align-items: start;
  }
}

/* Cookie consent banner (GDPR) */
.cookie-consent {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 1200;
  padding: 16px clamp(1rem, 3vw, 2rem) 20px;
  background: rgba(18, 18, 18, 0.97);
  border-top: 2px solid var(--acid);
  box-shadow: 0 -8px 32px rgba(0, 0, 0, 0.45);
  transform: translateY(100%);
  transition: transform 0.35s ease, visibility 0.35s ease;
  visibility: hidden;
}

.cookie-consent.is-visible {
  transform: translateY(0);
  visibility: visible;
}

.cookie-consent[hidden] {
  display: none !important;
}

html.cookie-consent-active body {
  padding-bottom: 200px;
}

@media (max-width: 768px) {
  html.cookie-consent-active body {
    padding-bottom: 280px;
  }
}

.cookie-consent__inner {
  max-width: 1180px;
  margin: 0 auto;
}

.cookie-consent__title {
  font-size: 1rem;
  font-weight: 700;
  margin-bottom: 8px;
  color: var(--acid);
}

.cookie-consent__text {
  font-size: 0.92rem;
  line-height: 1.55;
  margin-bottom: 16px;
  color: rgba(255, 255, 255, 0.92);
  max-width: 920px;
}

.cookie-consent__text a {
  color: var(--acid);
  text-decoration: underline;
}

.cookie-consent__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
}

.cookie-consent__accept {
  padding: 10px 22px;
  border: 0;
  border-radius: 999px;
  background: var(--acid);
  color: #1a1a1a;
  font-family: inherit;
  font-size: 0.9rem;
  font-weight: 700;
  cursor: pointer;
}

.cookie-consent__accept:hover {
  filter: brightness(1.05);
}

.cookie-consent__reject {
  padding: 10px 22px;
  border: 2px solid rgba(255, 255, 255, 0.85);
  border-radius: 999px;
  background: transparent;
  color: #fff;
  font-family: inherit;
  font-size: 0.9rem;
  font-weight: 700;
  cursor: pointer;
}

.cookie-consent__reject:hover {
  border-color: var(--acid);
  color: var(--acid);
}

.cookie-consent__link {
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--acid);
  text-decoration: underline;
}

.site-footer__cookie-btn,
.legal-page__inline-btn {
  padding: 0;
  border: 0;
  background: none;
  color: var(--acid);
  font: inherit;
  font-weight: 600;
  text-decoration: underline;
  cursor: pointer;
}

.site-footer__nav .site-footer__cookie-btn {
  color: inherit;
  text-align: left;
}

.site-footer__nav .site-footer__cookie-btn:hover,
.legal-page__inline-btn:hover {
  color: var(--acid);
}

@media (max-width: 768px) {
  .cookie-consent__actions {
    flex-direction: column;
    align-items: stretch;
  }

  .cookie-consent__accept,
  .cookie-consent__reject {
    width: 100%;
    text-align: center;
  }
}
