/* ==========================================================================
   ESTRIA — Home (Figma: Home-1 desktop 1512 / M/Home-1 mobile 393)
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. Hero (Modulo Cover-1) — sfondo grigio + forme arancioni
   -------------------------------------------------------------------------- */

.hero {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 60px;
  min-height: 902px; /* 70 navbar + 832 modulo */
  padding: 70px 30px 0;
  position: relative;
  /* Debug 07/2026-6: la grafica di cover non deve mai uscire dai margini
     del modulo (vale per tutte le cover del sito) */
  overflow: hidden;
  overflow: clip;
}

.hero > :not(.hero-anim) {
  position: relative;
  z-index: 1;
}

.hero__title {
  max-width: 1205px;
  text-align: center;
}

.hero__ctas {
  display: flex;
  gap: 10px;
}

.hero__ctas .btn {
  width: 300px;
}

/* --------------------------------------------------------------------------
   2. Modulo 3 — "Sblocca il potenziale…"
   -------------------------------------------------------------------------- */

.home-intro {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 60px;
  padding-block: 240px; /* 120 frame + 120 modulo */
  text-align: center;
  scroll-margin-top: 70px; /* ancora del CTA hero sotto la navbar fissa */
}

.home-intro__title {
  max-width: 1205px;
}

.home-intro__text {
  max-width: 461px;
  color: var(--grigio-2);
}

.home-intro__text p + p {
  margin-top: 15px;
}

.home-intro__text strong {
  font-weight: 500;
}

/* --------------------------------------------------------------------------
   Modulo 2 — header di sezione (tag / titolo / CTA)
   -------------------------------------------------------------------------- */

.module-header {
  display: flex;
  align-items: center;
  gap: 30px;
  padding: 30px;
}

.module-header__title {
  flex: none;
  max-width: 708px;
  text-align: center;
}

.module-header__side {
  display: flex;
  align-items: center;
  gap: 5px;
  flex: 1 1 0;
  min-width: 0;
}

.module-header__side--right {
  justify-content: flex-end;
}

/* frecce del carosello (Bottone/Variant3) */
.carousel-arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  color: var(--grigio-3);
  transition: color 0.25s ease;
}

.carousel-arrow .icon {
  width: 30px;
  height: 30px;
}

@media (hover: hover) {
  .carousel-arrow:hover {
    color: var(--arancio-1);
  }
}

.carousel-arrow:active {
  color: var(--arancio-1);
}

/* --------------------------------------------------------------------------
   3. Sezione Strategia: header + righe servizi (Modulo 1 / 1-H)
   -------------------------------------------------------------------------- */

.home-strategy {
  padding-block: 120px;
}

.home-strategy .service-list {
  margin-top: 90px;
}

.service-row {
  display: flex;
  align-items: flex-start;
  gap: 30px;
  padding-block: 60px;
  border-top: 1px solid var(--grigio-1);
}

.service-row:last-child {
  border-bottom: 1px solid var(--grigio-1);
}

.service-row__head {
  display: flex;
  align-items: flex-start;
  gap: 30px;
  flex: 0 0 auto;
  width: min(635px, 47%);
  text-align: left;
}

.service-row__num {
  font-family: var(--font-mono);
  font-size: 40px;
  font-weight: 300;
  line-height: 40px;
  letter-spacing: 0.05em;
  color: var(--grigio-1);
  max-width: 0;
  opacity: 0;
  overflow: hidden;
  transition: max-width 0.55s cubic-bezier(0.33, 0, 0.15, 1), opacity 0.55s ease;
}

.service-row__name {
  font-family: var(--font-title);
  /* 108px a 1512px di viewport, fluido sotto */
  font-size: clamp(64px, 7.15vw, 108px);
  font-weight: 400;
  line-height: 1.093;
  color: var(--grigio-1);
  transition: color 0.55s ease;
}

/* contenuto espandibile (variante 1-H: colonna destra 711px) */
.service-row__body {
  flex: 0 1 711px;
  max-width: 711px;
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  transition: max-height 0.6s cubic-bezier(0.33, 0, 0.15, 1), opacity 0.5s ease;
}

.service-row__content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 30px;
}

.service-row__sub {
  font-family: var(--font-title);
  font-size: 25px;
  font-weight: 400;
  line-height: 28px;
  color: var(--grigio-3);
}

.service-row__tag {
  color: var(--grigio-3);
}

.service-row__text {
  color: var(--grigio-2);
}

/* stato espanso: hover o click (accordion di main.js); l'hover solo con
   puntatore reale — su mobile le righe sono comunque sempre espanse */
.service-row.is-open .service-row__num {
  max-width: 80px;
  opacity: 1;
}

.service-row.is-open .service-row__name {
  color: var(--arancio-1);
}

.service-row.is-open .service-row__body {
  max-height: 360px;
  opacity: 1;
}

@media (hover: hover) {
  .service-row:hover .service-row__num {
    max-width: 80px;
    opacity: 1;
  }

  .service-row:hover .service-row__name {
    color: var(--arancio-1);
  }

  .service-row:hover .service-row__body {
    max-height: 360px;
    opacity: 1;
  }
}

/* --------------------------------------------------------------------------
   4. Modulo 3.1 — "Intuizione che diventa metodo."
   -------------------------------------------------------------------------- */

.home-method {
  padding-block: 120px;
}

.home-method__module {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 60px;
  min-height: 750px;
  text-align: center;
  /* Debug 07/2026-2: grafica BG-4.1-2 fornita dal cliente al posto del PNG */
  background-image: url("../../assets/img/BG-4.1-2.svg");
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
}

.home-method__title {
  max-width: 1205px;
}

.home-method__text {
  max-width: 461px;
  color: var(--grigio-2);
}

/* --------------------------------------------------------------------------
   5. Case Studies — header + carosello di Tile 5
   -------------------------------------------------------------------------- */

.home-cases {
  padding-bottom: 120px;
}

/* carosello e tile: componenti condivisi .cases-track / .case-tile
   (components.css) */
.home-cases .cases-track {
  margin-top: 120px;
}

/* ==========================================================================
   Mobile (design 393px)
   ========================================================================== */

@media (max-width: 1024px), (hover: none) and (pointer: coarse) and (max-width: 1400px) {

  /* Hero — Debug 07/2026 mobile: fondo pieno #BFBFBF e grafica animata
     dedicata (hero-anim--mobile) al posto del PNG statico; padding
     verticali dei moduli dimezzati */
  .hero {
    gap: 30px;
    min-height: 752px; /* modulo Cover-1-M (navbar in overlay) */
    padding: 70px 15px 20px;
    background: var(--grigio-2); /* #BFBFBF */
  }

  .hero__ctas {
    flex-direction: column;
    width: 100%;
  }

  .hero__ctas .btn {
    width: 100%;
  }

  /* Sblocca il potenziale (modulo 650px centrato nel frame) */
  .home-intro {
    gap: 30px;
    justify-content: center;
    min-height: 770px; /* 60 + 650 + 60 */
    padding-block: 60px;
  }

  .home-intro .btn--l {
    width: 100%;
  }

  /* Header di sezione: impilato e centrato */
  .module-header {
    flex-direction: column;
    gap: 30px;
    padding: 30px 15px;
  }

  .module-header__title {
    font-size: 25px;
    line-height: 28px;
    max-width: 333px;
  }

  .module-header__side {
    flex: none;
    width: 100%;
    justify-content: center;
  }

  /* Case Studies: frecce ai bordi, "Vedi tutti" al centro */
  .home-cases .module-header__side--right {
    justify-content: space-between;
  }

  /* Righe servizi: sempre espanse (Modulo 1-M); padding modulo dimezzato */
  .home-strategy {
    padding-block: 60px;
  }

  .home-strategy .service-list {
    margin-top: 30px;
  }

  .service-row {
    display: block;
    padding: 60px 0 0;
  }

  .service-row__head {
    flex-direction: column;
    gap: 15px;
    width: 100%;
    cursor: default;
    pointer-events: none;
  }

  .service-row__num {
    max-width: none;
    opacity: 1;
    color: var(--grigio-1);
    overflow: visible;
  }

  /* Debug 07/2026 mobile: titoli dei moduli della sezione Strategie
     in arancio #FF9966 */
  .service-row__name {
    font-size: 66px;
    line-height: 72px;
    color: var(--arancio-1);
  }

  .service-row__body {
    max-height: none;
    max-width: none;
    opacity: 1;
    overflow: visible;
    margin-top: 30px;
    padding-bottom: 60px;
  }

  /* Intuizione che diventa metodo (padding modulo dimezzato) */
  .home-method {
    padding-block: 60px;
  }

  .home-method__module {
    gap: 30px;
    min-height: 650px;
    padding-inline: 15px;
    /* Debug 07/2026-5: niente grafica di background su mobile
       (su desktop resta BG-4.1-2, richiesta del round precedente) */
    background-image: none;
  }

  .home-method__module .btn--l {
    width: 100%;
  }

  /* Carosello: tile 363x363 a colonna (componente condiviso) */
  .home-cases {
    padding-bottom: 30px;
  }

  .home-cases .cases-track {
    margin-top: 60px;
  }
}
