* {
  border: 0px;
  margin: 0px;
  scroll-behavior: smooth;
}

/* ===== LUNE MINIMAL/STILIZZATE ===== */
:root{
  --moon-color: #8b665a;  /* tinta richiesta */
  --moon-opacity: 0.45;   /* visibilitÃ  globale (0.25â€“0.5 look pro) */
}

/* contenuti sopra lo sfondo base */
.div {position: relative;z-index: 1;display: flex;flex-direction: column;align-items: center;}

.moon-bg{
  position: fixed;
  inset: 0;
  z-index: 2;            /* sopra ai contenuti (per visibilitÃ ), ma non interattivo */
  pointer-events: none;
  overflow: hidden;
}

/* wrapper: solo deriva ampia e lenta */
.moon{
  position: absolute;
  width: var(--size);
  height: var(--size);
  left: 0; top: 0;
  transform: translate3d(var(--start-x), var(--start-y), 0);
  will-change: transform, opacity;  /* animazioni di solo compositor */
  animation: moon-drift var(--drift-dur) linear var(--delay) infinite alternate;
  opacity: var(--moon-opacity);
  color: var(--moon-color);
}

/* l'SVG interno gestisce bob + twinkle + rotazione lentissima */
.moon__inner{
  width: 100%;
  height: 100%;
  display: block;
  animation:
    moon-bob var(--bob-dur) ease-in-out var(--delay) infinite alternate,
    moon-twinkle var(--twinkle-dur) ease-in-out var(--delay) infinite alternate,
    moon-rotate var(--rot-dur) linear var(--delay) infinite;
  transform-origin: 50% 50%;
}

/* drift visibile con FROM/TO espliciti */
@keyframes moon-drift{
  from{ transform: translate3d(var(--start-x), var(--start-y), 0); }
  to  { transform: translate3d(calc(var(--start-x) + var(--end-x)),
                               calc(var(--start-y) + var(--end-y)), 0); }
}

@keyframes moon-bob{
  from{ transform: translate3d(0,-1.4vh,0); }
  to  { transform: translate3d(0,  1.4vh,0); }
}

@keyframes moon-twinkle{
  from{ opacity: calc(var(--moon-opacity) - 0.12); }
  to  { opacity: calc(var(--moon-opacity) + 0.08); }
}


/* rotazione lentissima per dare vita anche alle falci/quadri */
@keyframes moon-rotate{
  from{ transform: rotate(0deg); }
  to  { transform: rotate(360deg); }
}

/* AccessibilitÃ : riduci/azzeri movimento se richiesto dallâ€™utente */
@media (prefers-reduced-motion: reduce){
  .moon, .moon__inner{ animation: none; opacity: 0.25; }
}

.newsletter-banner {
  justify-content: center;
  color: #fefbf8;
  text-align: center;
  white-space: nowrap;
  align-items: center;
  background-color: #8b665a;
  width: 100%;
  height: 45px;
  display: flex;
  /* padding: 10px 60px; */
  font: 500 13px Montserrat, sans-serif;
}

.bold-text {
  font-weight: bold;
  color: inherit;
}

.nav-container {
  display: flex;
  justify-content: center;
  width: 100%;
  gap: 80px;
  height: 100px;
}

.image {
  aspect-ratio: 1;
  object-fit: contain;
  object-position: center;
  width: 72px;
  overflow: hidden;
  max-width: 100%;
}

.navigation {
  align-self: center;
  display: flex;
  /* justify-content: space-between; */
  gap: 80px;
  margin: auto 0;
}

.nav-link,
.nav-home {
  color: #8b665a;
  white-space: nowrap;
  text-decoration: none;
}
ul,
li {
  list-style-type: none;
}
.nav-link {
  font: 300 16px/162.5% Montserrat, -apple-system, Roboto, Helvetica, sans-serif;
}

.nav-home {
  font: 700 16px/162.5% Montserrat, -apple-system, Roboto, Helvetica, sans-serif;
}

.get-started {
  color: #8b665a;
  white-space: nowrap;
  justify-content: center;
  border-radius: 100px;
  border: 2px solid #8b665a;
  background-color: #fefbf8;
  align-self: center;
  margin: auto 0;
  padding: 12px 58px;
  font: 700 16px/162.5% Montserrat, -apple-system, Roboto, Helvetica, sans-serif;
}

.hero {
  width: 100%;
  display: flex;
}

.left-container {
  display: flex;
  flex-direction: column;
  line-height: normal;
  width: 61%;
  margin-left: 0px;
  gap: 30px;
  align-items: flex-end;
}

.heroTextContainer {
  justify-content: center;
  align-items: flex-start;
  display: flex;
  flex-grow: 1;
  flex-direction: column;
  width: 80%;
  padding: 0px 72px 30px;
}

.heroTitle {
  align-self: stretch;
  color: #8b665a;
  /* margin-top: 87px; */
  font: 400 50px/110px DM Serif Display, -apple-system, Roboto, Helvetica,
    sans-serif;
}

.HeroSubTitle {
  align-self: stretch;
  color: #8b665a;
  margin-top: 12px;
  font: 400 16px/30px Montserrat, sans-serif;
  /* height: 100%; */
}

.heroTitle2 {
  align-self: stretch;
  color: #8b665a;
  margin: 10px 0px 0px 0px;
  /* margin-top: 12px; */
  font: 400 28px/30px Montserrat, sans-serif;
  font-weight: 500;
}

.chiSono {
  color: #fefbf8;
  white-space: nowrap;
  justify-content: center;
  align-items: center;
  border-radius: 100px;
  background-color: #8b665a;
  align-self: start;
  margin-top: 32px;
  /* width: 200px; */
  max-width: 100%;
  padding: 12px 60px;
  font: 700 16px/162.5% Montserrat, -apple-system, Roboto, Helvetica, sans-serif;
}
.ServiceBtn {
  color: #fefbf8;
  justify-content: center;
  align-items: center;
  border-radius: 100px;
  background-color: #8b665a;
  width: 310px;
  padding: 12px 60px;
  font: 700 16px/162.5% Montserrat, -apple-system, Roboto, Helvetica, sans-serif;
  margin-top: 32px;
}

.serv .img {
  aspect-ratio: 1;
  object-fit: contain;
  object-position: center;
  width: 20px;
  stroke-width: 1px;
  stroke: #8b665a;
  overflow: hidden;
  align-self: end;
  max-width: 100%;
  margin: 64px 20px 0 0;
}

.img-2 {
  aspect-ratio: 1;
  object-fit: contain;
  object-position: center;
  width: 20px;
  fill: #8b665a;
  overflow: hidden;
  align-self: end;
  /* margin-right: 20px; */
  max-width: 100%;
}

.right-container {
  display: flex;
  flex-direction: column;
  line-height: normal;
  width: 38%;
  margin-left: 20px;
}

.img-3 {
  aspect-ratio: 0.65;
  object-fit: cover;
  object-position: center;
  width: 100%;
  max-height: 750px;
  overflow: hidden;
  flex-grow: 1;
}

.corso {
  display: flex;
  align-items: center;
  gap: 20px;
  width: min-content;
}

.corsoText {
  display: flex;
  flex-direction: column;
  margin: auto 0;
  width: 340px;
}

.corsoImg {
  display: flex;
  /* height: 75%; */
  width: fit-content;
  align-items: center;
}

.corsi {
  margin-top: 80px;
  width: 100%;
  display: flex;
  justify-content: center;
}

.corsiContainer {
  /* gap: 150px; */
  flex-wrap: wrap;
  display: flex;
  flex-direction: row;
  justify-content: space-around;
  gap: 40px;
  width: 100%;
}

.corsoTitle {
  color: #8b665a;
  font: 700 36px/72% Montserrat, sans-serif;
  line-height: normal;
  width: 100%;
}
.corsoSubTitle {
  color: #8b665a;
  margin-top: 17px;
  font: 400 20px/30px Montserrat, sans-serif;
  width: 100%;
}

.img-5 {
  aspect-ratio: 0.65;
  /* object-fit: contain; */
  /* object-position: center; */
  /* width: 100%; */
  height: 100%;
  overflow: hidden;
  flex-grow: 1;
}

.img-6 {
  /* aspect-ratio: 0.65; */
  /* object-fit: contain; */
  /* object-position: center; */
  /* width: 100%; */
  /* height: 85%; */
  overflow: hidden;
  flex-grow: 1;
  height: 530px;
  border-radius: 10px;
}

.ServicesTitle {
  justify-content: center;
  color: #8b665a;
  text-align: center;
  align-self: center;
  margin-top: 29px;
  font: 700 20px/150% Montserrat, sans-serif;
}

.ServicesSubTitle {
  color: #8b665a;
  align-self: center;
  margin-top: 12px;
  max-width: 658px;
  font: 400 20px/30px Montserrat, sans-serif;
}

@media (max-width: 991px) {
  .newsletter-banner {
    white-space: initial;
    max-width: 100%;
    /* margin: 0px 10px 0px 10px; */
  }
  .nav-container {
    max-width: 100%;
    flex-wrap: wrap;
    /* padding: 0 20px; */
  }
  .navigation {
    max-width: 100%;
    flex-wrap: wrap;
    display: none;
  }
  .nav-link {
    white-space: initial;
  }
  .get-started {
    white-space: initial;
    padding: 0 20px;
  }
  .hero {
    max-width: 100%;
  }
  .left-container {
    width: 100%;
  }
  .heroTextContainer {
    max-width: 100%;
    margin-top: 40px;
    padding: 0 20px;
  }
  .heroTitle {
    max-width: 100%;
    font-size: 40px;
    line-height: 51px;
    margin-top: 40px;
  }
  .HeroSubTitle {
    max-width: 100%;
  }
  .chiSono {
    white-space: initial;
    padding: 0 20px;
  }
  .img {
    margin: 40px 10px 0 0;
  }
  .img-2 {
    margin-right: 10px;
  }
  .right-container {
    width: 100%;
  }
  .img-3 {
    /* max-width: 100%; */
    /* margin-top: 40px; */
  }
  .corsi {
    width: 80%;
    margin-top: 40px;
    /* padding: 0 20px; */
    justify-content: center;
  }
  .corsiContainer {
    /* flex-direction: column; */
    flex-wrap: wrap;
    align-items: stretch;
    gap: 20px;
  }
  .ServicesTitle,
  .ServicesSubTitle {
    max-width: 80%;
  }
}

.div-19 {
  flex-grow: 1;
}
@media (max-width: 991px) {
  .div-19 {
    max-width: 100%;
    margin-top: 40px;
  }
}
.div-20 {
  gap: 20px;
  display: flex;
}
@media (max-width: 991px) {
  .div-20 {
    flex-direction: column;
    align-items: stretch;
    gap: 0px;
  }
}
.column-4 {
  display: flex;
  flex-direction: column;
  line-height: normal;
  width: 65%;
  margin-left: 0px;
}
@media (max-width: 991px) {
  .column-4 {
    width: 100%;
  }
}

.column-5 {
  display: flex;
  flex-direction: column;
  line-height: normal;
  width: 35%;
  margin-left: 20px;
}
@media (max-width: 991px) {
  .column-5 {
    width: 100%;
  }
}

.column-6 {
  display: flex;
  flex-direction: column;
  line-height: normal;
  width: 46%;
  margin-left: 20px;
}
@media (max-width: 991px) {
  .column-6 {
    width: 100%;
  }
}
.div-24 {
  margin: auto 0;
}
@media (max-width: 991px) {
  .div-24 {
    max-width: 100%;
    margin-top: 40px;
  }
}
.div-25 {
  gap: 20px;
  display: flex;
}
@media (max-width: 991px) {
  .div-25 {
    flex-direction: column;
    align-items: stretch;
    gap: 0px;
  }
}

.column-7 {
  display: flex;
  flex-direction: column;
  line-height: normal;
  width: 38%;
  margin-left: 20px;
}
@media (max-width: 991px) {
  .column-7 {
    width: 100%;
  }
}
.div-26 {
  display: flex;
  flex-direction: column;
  margin: auto 0;
}
@media (max-width: 991px) {
  .div-26 {
    margin-top: 40px;
  }
}
.div-27 {
  color: #8b665a;
  font: 700 36px/72% Montserrat, sans-serif;
}
.div-28 {
  color: #8b665a;
  margin-top: 17px;
  font: 400 20px/30px Montserrat, sans-serif;
}

.div-31 {
  color: #fefbf8;
  white-space: nowrap;
  justify-content: center;
  align-items: center;
  border-radius: 100px;
  background-color: #8b665a;
  align-self: center;
  margin-top: 32px;
  width: 300px;
  max-width: 100%;
  padding: 12px 60px;
  font: 700 16px/162.5% Montserrat, -apple-system, Roboto, Helvetica, sans-serif;
}
@media (max-width: 991px) {
  .div-31 {
    white-space: initial;
    padding: 0 20px;
  }
}
.citText {
  color: #8b665a;
  text-align: center;
  align-self: center;
  width: 80%;
  /* margin-top: 121px; */
  font: 400 60px/110px DM Serif Display, -apple-system, Roboto, Helvetica,
    sans-serif;
}
@media (max-width: 991px) {
  .div-32 {
    max-width: 100%;
    font-size: 40px;
    line-height: 76px;
    margin-top: 40px;
  }
}
.Conoscimi {
  /* margin-top: 147px; */
  align-items: center;
  display: flex;
  width: 100%;
  flex-direction: column;
  justify-content: center;
  /* padding: 0 60px; */
}
@media (max-width: 991px) {
  .div-33 {
    max-width: 100%;
    margin-top: 40px;
    padding: 0 20px;
  }
}
.ConoscimiContainer {
  display: flex;
  width: 80;
  max-width: 100%;
  flex-direction: column;
  align-items: center;
}
.ConoscimiTitle {
  justify-content: center;
  color: #8b665a;
  text-align: center;
  margin-top: 80px;
  font: 700 20px/150% Montserrat, sans-serif;
}


.fasi {
    display: flex;
    width: 100%;
    justify-content: center;
    flex-wrap: wrap;
    color: #8b665a;
    font: 400 20px/30px Montserrat, sans-serif;
    gap: 80px;
    margin: 20px 0px;
}

.fase {
    width: 45%;
    display: flex;
    width: 100%;
    height: 700px;
    justify-content: space-around;
}


.columnReverse{
  flex-direction: row-reverse;
}

img.faseImg {
    width: 30%;
    min-width: 230px;
    height: 100%;
    object-fit: cover;
    border-radius: 15px;
}

.faseTxt {width: 40%;display: flex;flex-direction: column;gap: 30px;height: 100%;}

.faseTxt strong {
    font-size: 36px;
}


.nav-container a {
    display: flex;
}

@media (max-width: 991px) {
  .div-35 {
    max-width: 100%;
  }
}
.ConoscimiSubTitle {
  color: #8b665a;
  margin-top: 12px;
  width: 45%;
  margin: 80px auto;
  font: 400 20px/30px Montserrat, sans-serif;
}
@media (max-width: 991px) {
  .div-36 {
    max-width: 100%;
  }
}
.img-7 {
  aspect-ratio: 1.65;
  object-fit: contain;
  object-position: center;
  width: 60%;
  overflow: hidden;
  margin-top: 32px;
}
@media (max-width: 991px) {
  .img-7 {
    max-width: 100%;
  }
}
.div-37 {
  justify-content: center;
  color: #8b665a;
  text-align: center;
  align-self: center;
  margin-top: 148px;
  font: 700 20px/150% Montserrat, sans-serif;
}
@media (max-width: 991px) {
  .div-37 {
    max-width: 100%;
    margin-top: 40px;
  }
}
.div-38 {
  color: #8b665a;
  align-self: center;
  margin-top: 12px;
  max-width: 658px;
  font: 400 20px/30px Montserrat, sans-serif;
}
@media (max-width: 991px) {
  .div-38 {
    max-width: 100%;
  }
}
.div-39 {
  color: #fefbf8;
  white-space: nowrap;
  justify-content: center;
  align-items: center;
  border-radius: 100px;
  background-color: #8b665a;
  align-self: center;
  margin-top: 32px;
  /* width: 300px; */
  /* max-width: 100%; */
  padding: 12px 60px;
  font: 700 16px/162.5% Montserrat, -apple-system, Roboto, Helvetica, sans-serif;
}
@media (max-width: 991px) {
  .div-39 {
    white-space: initial;
    padding: 0 20px;
  }
}
.div-40 {
  align-items: center;
  display: flex;
  margin-top: 108px;
  width: 100%;
  flex-direction: column;
  padding: 0 72px;
}
@media (max-width: 991px) {
  .div-40 {
    max-width: 100%;
    margin-top: 40px;
    padding: 0 20px;
  }
}
.div-41 {
  justify-content: center;
  color: #8b665a;
  text-align: center;
  font: 700 20px/150% Montserrat, sans-serif;
}
@media (max-width: 991px) {
  .div-41 {
    max-width: 100%;
  }
}
.div-42 {
  justify-content: space-between;
  align-self: stretch;
  margin-top: 32px;
  padding-bottom: 50px;
}
@media (max-width: 991px) {
  .div-42 {
    max-width: 100%;
  }
}
.div-43 {
  gap: 20px;
  display: flex;
}
@media (max-width: 991px) {
  .div-43 {
    flex-direction: column;
    align-items: stretch;
    gap: 0px;
  }
}
.column-8 {
  display: flex;
  flex-direction: column;
  line-height: normal;
  width: 36%;
  margin-left: 0px;
}
@media (max-width: 991px) {
  .column-8 {
    width: 100%;
  }
}
.div-44 {
  display: flex;
  flex-direction: column;
}
@media (max-width: 991px) {
  .div-44 {
    margin-top: 40px;
  }
}
.img-8 {
  aspect-ratio: 1;
  object-fit: contain;
  object-position: center;
  width: 100%;
  overflow: hidden;
}
.div-45 {
  justify-content: center;
  color: #8b665a;
  margin-top: 18px;
  white-space: nowrap;
  font: 700 20px/150% Montserrat, sans-serif;
}
@media (max-width: 991px) {
  .div-45 {
    white-space: initial;
  }
}
.div-46 {
  display: flex;
  margin-top: 19px;
  padding-right: 80px;
  gap: 7px;
}
@media (max-width: 991px) {
  .div-46 {
    padding-right: 20px;
  }
}
.img-9 {
  aspect-ratio: 1;
  object-fit: contain;
  object-position: center;
  width: 30px;
  fill: #f5d555;
  overflow: hidden;
  max-width: 100%;
}
.img-10 {
  aspect-ratio: 1;
  object-fit: contain;
  object-position: center;
  width: 30px;
  fill: #f5d555;
  overflow: hidden;
  max-width: 100%;
}
.img-11 {
  aspect-ratio: 1;
  object-fit: contain;
  object-position: center;
  width: 30px;
  fill: #f5d555;
  overflow: hidden;
  max-width: 100%;
}
.img-12 {
  aspect-ratio: 1;
  object-fit: contain;
  object-position: center;
  width: 30px;
  fill: #f5d555;
  overflow: hidden;
  max-width: 100%;
}
.img-13 {
  aspect-ratio: 1;
  object-fit: contain;
  object-position: center;
  width: 30px;
  fill: #f5d555;
  overflow: hidden;
  max-width: 100%;
}
.column-9 {
  display: flex;
  flex-direction: column;
  line-height: normal;
  width: 36%;
  margin-left: 20px;
}
@media (max-width: 991px) {
  .column-9 {
    width: 100%;
  }
}
.ReviewContainer {
  display: flex;
  flex-direction: column;
  width: 350px;
}
@media (max-width: 991px) {
  .div-47 {
    margin-top: 40px;
  }
}
.reviewImg {
  /* aspect-ratio: 1; */
  /* object-fit: contain; */
  /* object-position: center; */
  /* width: 100%; */
  /* overflow: hidden; */
}
.ReviewName {
  justify-content: center;
  color: #8b665a;
  margin-top: 19px;
  white-space: nowrap;
  font: 700 20px/150% Montserrat, sans-serif;
}
@media (max-width: 991px) {
  .div-48 {
    white-space: initial;
  }
}
.ReviewStars {
  display: flex;
  margin-top: 19px;
  padding-right: 80px;
  gap: 7px;
}
@media (max-width: 991px) {
  .div-49 {
    padding-right: 20px;
  }
}
.img-15 {
  aspect-ratio: 1;
  object-fit: contain;
  object-position: center;
  width: 30px;
  fill: #f5d555;
  overflow: hidden;
  max-width: 100%;
}
.img-16 {
  aspect-ratio: 1;
  object-fit: contain;
  object-position: center;
  width: 30px;
  fill: #f5d555;
  overflow: hidden;
  max-width: 100%;
}
.img-17 {
  aspect-ratio: 1;
  object-fit: contain;
  object-position: center;
  width: 30px;
  fill: #f5d555;
  overflow: hidden;
  max-width: 100%;
}
.img-18 {
  aspect-ratio: 1;
  object-fit: contain;
  object-position: center;
  width: 30px;
  fill: #f5d555;
  overflow: hidden;
  max-width: 100%;
}
.img-19 {
  aspect-ratio: 1;
  object-fit: contain;
  object-position: center;
  width: 30px;
  fill: #f5d555;
  overflow: hidden;
  max-width: 100%;
}
.column-10 {
  display: flex;
  flex-direction: column;
  line-height: normal;
  width: 28%;
  margin-left: 20px;
}
@media (max-width: 991px) {
  .column-10 {
    width: 100%;
  }
}
.div-50 {
  display: flex;
  flex-direction: column;
}
@media (max-width: 991px) {
  .div-50 {
    margin-top: 40px;
  }
}
.img-20 {
  aspect-ratio: 1;
  object-fit: contain;
  object-position: center;
  width: 100%;
  overflow: hidden;
}
.div-51 {
  justify-content: center;
  color: #8b665a;
  margin-top: 18px;
  white-space: nowrap;
  font: 700 20px/150% Montserrat, sans-serif;
}
@media (max-width: 991px) {
  .div-51 {
    white-space: initial;
  }
}
.div-52 {
  display: flex;
  margin-top: 19px;
  padding-right: 80px;
  gap: 7px;
}
@media (max-width: 991px) {
  .div-52 {
    padding-right: 20px;
  }
}
.img-21 {
  aspect-ratio: 1;
  object-fit: contain;
  object-position: center;
  width: 30px;
  fill: #f5d555;
  overflow: hidden;
  max-width: 100%;
}
.img-22 {
  aspect-ratio: 1;
  object-fit: contain;
  object-position: center;
  width: 30px;
  fill: #f5d555;
  overflow: hidden;
  max-width: 100%;
}
.img-23 {
  aspect-ratio: 1;
  object-fit: contain;
  object-position: center;
  width: 30px;
  fill: #f5d555;
  overflow: hidden;
  max-width: 100%;
}
.img-24 {
  aspect-ratio: 1;
  object-fit: contain;
  object-position: center;
  width: 30px;
  fill: #f5d555;
  overflow: hidden;
  max-width: 100%;
}
.img-25 {
  aspect-ratio: 1;
  object-fit: contain;
  object-position: center;
  width: 30px;
  fill: #f5d555;
  overflow: hidden;
  max-width: 100%;
}
.Contacts {
  margin-top: 10px;
  width: 100%;
}
@media (max-width: 991px) {
  .div-53 {
    max-width: 100%;
    padding-left: 20px;
  }
}
.ContactsBigContainer {
  gap: 20px;
  display: flex;
  /* flex-wrap: wrap; */
}
@media (max-width: 991px) {
  .div-54 {
    flex-direction: column;
    align-items: stretch;
    gap: 0px;
  }
}
.ContactsImgContainer {
  display: flex;
  flex-direction: column;
  line-height: normal;
  /* width: 41%; */
  margin-left: 30px;
}
@media (max-width: 991px) {
  .column-11 {
    width: 100%;
  }
}
.img-26 {
  aspect-ratio: 1.05;
  object-fit: contain;
  object-position: center;
  width: 100%;
  overflow: hidden;
  flex-grow: 1;
}
@media (max-width: 991px) {
  .img-26 {
    max-width: 100%;
  }
}
.column-12 {
  display: flex;
  flex-direction: column;
  line-height: normal;
  width: 59%;
  margin-left: 20px;
}
@media (max-width: 991px) {
  .column-12 {
    width: 100%;
  }
}
.ContactsContainer {
  justify-content: center;
  display: flex;
  flex-grow: 1;
  flex-direction: column;
  gap: 20px;
  max-width: 50%;
  align-items: center;
}
@media (max-width: 991px) {
  .div-55 {
    max-width: 100%;
  }
}
.div-56 {
  justify-content: space-between;
  padding: 0 72px;
}
@media (max-width: 991px) {
  .div-56 {
    max-width: 100%;
    padding: 0 20px;
  }
}
.ContactsTop {
  gap: 50px;
  display: flex;
  margin-right: 30px;
}
@media (max-width: 991px) {
  .div-57 {
    flex-direction: column;
    align-items: stretch;
    gap: 0px;
  }
}
.column-13 {
  display: flex;
  flex-direction: column;
  line-height: normal;
  width: 55%;
  margin-left: 0px;
}
@media (max-width: 991px) {
  .column-13 {
    width: 100%;
  }
}
.ContactsTextContainer {
  justify-content: center;
  display: flex;
  flex-grow: 1;
  flex-direction: column;
  padding: 8px 0;
  width: 40%;
}
@media (max-width: 991px) {
  .div-58 {
    margin-top: 40px;
  }
}
.ContactsTitle {
  color: #8b665a;
  /* width: 80%; */
  font: 700 20px/150% Montserrat, sans-serif;
}
.ContactsText {
  color: #8b665a;
  margin-top: 12px;
  max-width: 400px;
  font: 400 20px/30px Montserrat, sans-serif;
}
.div-61 {
  color: #8b665a;
  margin-top: 12px;
  font: 400 12px/15px Montserrat, sans-serif;
}
.column-14 {
  display: flex;
  flex-direction: column;
  line-height: normal;
  width: 45%;
  margin-left: 20px;
}
@media (max-width: 991px) {
  .column-14 {
    width: 100%;
  }
}
.div-62 {
  justify-content: center;
  display: flex;
  flex-direction: column;
  margin: auto 0;
}
@media (max-width: 991px) {
  .div-62 {
    margin-top: 40px;
  }
}
.InputFields {
  color: #8b665a;
  white-space: nowrap;
  align-items: start;
  border: 0.5px solid #8b665a;
  justify-content: center;
  padding: 3px 60px 3px 20px;
  font: 400 12px/26px Montserrat, sans-serif;
}
@media (max-width: 991px) {
  .div-63 {
    white-space: initial;
    padding-right: 20px;
  }
}
.div-64 {
  color: #fefbf8;
  justify-content: center;
  border-radius: 100px;
  background-color: #8b665a;
  margin-top: 12px;
  padding: 0 31px;
  font: 400 12px/26px Montserrat, sans-serif;
}
@media (max-width: 991px) {
  .div-64 {
    padding: 0 20px;
  }
}
.div-65 {
  color: #8b665a;
  margin-top: 12px;
  font: 400 8px/15px Montserrat, sans-serif;
}
.div-66 {
  justify-content: space-between;
  margin-top: 24px;
  padding: 0 72px;
}
@media (max-width: 991px) {
  .div-66 {
    max-width: 100%;
    padding: 0 20px;
  }
}
.div-67 {
  gap: 20px;
  display: flex;
}
@media (max-width: 991px) {
  .div-67 {
    flex-direction: column;
    align-items: stretch;
    gap: 0px;
  }
}
.ContactsBot {
  gap: 50px;
  display: flex;
  margin-right: 30px;
}
@media (max-width: 991px) {
  .column-15 {
    width: 100%;
  }
}
.div-68 {
  justify-content: center;
  display: flex;
  flex-grow: 1;
  flex-direction: column;
  padding: 18px 0;
}
@media (max-width: 991px) {
  .div-68 {
    margin-top: 40px;
  }
}
.div-69 {
  color: #8b665a;
  white-space: nowrap;
  font: 700 20px/150% Montserrat, sans-serif;
}
@media (max-width: 991px) {
  .div-69 {
    white-space: initial;
  }
}
.div-70 {
  color: #8b665a;
  margin-top: 12px;
  font: 400 20px/30px Montserrat, sans-serif;
}
.column-16 {
  display: flex;
  flex-direction: column;
  line-height: normal;
  width: 45%;
  margin-left: 20px;
}
@media (max-width: 991px) {
  .column-16 {
    width: 100%;
  }
}
.formContainer {
  justify-content: center;
  display: flex;
  flex-grow: 1;
  flex-direction: column;
  gap: 12px;
  max-width: 400px;
}
@media (max-width: 991px) {
  .div-71 {
    margin-top: 40px;
  }
}
.div-72 {
  color: #8b665a;
  white-space: nowrap;
  align-items: start;
  border: 0.5px solid #8b665a;
  justify-content: center;
  padding: 2px 60px 2px 20px;
  font: 400 12px/26px Montserrat, sans-serif;
}
@media (max-width: 991px) {
  .div-72 {
    white-space: initial;
    padding-right: 20px;
  }
}
.div-73 {
  color: #8b665a;
  white-space: nowrap;
  align-items: start;
  border: 0.5px solid #8b665a;
  margin-top: 12px;
  justify-content: center;
  padding: 3px 60px 3px 20px;
  font: 400 12px/26px Montserrat, sans-serif;
}
@media (max-width: 991px) {
  .div-73 {
    white-space: initial;
    padding-right: 20px;
  }
}
.div-74 {
  color: #8b665a;
  white-space: nowrap;
  align-items: start;
  border: 0.5px solid #8b665a;
  margin-top: 12px;
  justify-content: center;
  padding: 3px 60px 3px 20px;
  font: 400 12px/26px Montserrat, sans-serif;
}
@media (max-width: 991px) {
  .div-74 {
    white-space: initial;
    padding-right: 20px;
  }
}
.div-75 {
  color: #8b665a;
  white-space: nowrap;
  align-items: start;
  border: 0.5px solid #8b665a;
  margin-top: 12px;
  justify-content: center;
  padding: 3px 60px 3px 20px;
  font: 400 12px/26px Montserrat, sans-serif;
}
@media (max-width: 991px) {
  .div-75 {
    white-space: initial;
    padding-right: 20px;
  }
}
.buttonContainer {
  display: flex;
  /* margin-top: 12px; */
  padding-left: 80px;
  flex-direction: column;
  align-items: end;
}
@media (max-width: 991px) {
  .div-76 {
    padding-left: 20px;
  }
}
.div-77 {
  color: #fefbf8;
  white-space: nowrap;
  justify-content: center;
  border-radius: 100px;
  background-color: #8b665a;
  padding: 0 33px;
  font: 400 12px/26px Montserrat, sans-serif;
}
@media (max-width: 991px) {
  .div-77 {
    white-space: initial;
    padding: 0 20px;
  }
}
.div-78 {
  color: #8b665a;
  text-align: right;
  margin: 12px 0 0 15px;
  font: 400 8px/15px Montserrat, sans-serif;
}
@media (max-width: 991px) {
  .div-78 {
    margin-left: 10px;
  }
}
.div-79 {
  justify-content: center;
  color: #8b665a;
  text-align: center;
  align-self: center;
  margin-top: 80px;
  font: 700 20px/150% Montserrat, sans-serif;
}
@media (max-width: 991px) {
  .div-79 {
    max-width: 100%;
    margin-top: 40px;
  }
}
.div-80 {
  color: #8b665a;
  align-self: center;
  margin: 10px 0px;
  max-width: 658px;
  font: 400 20px/30px Montserrat, sans-serif;
}
@media (max-width: 991px) {
  .div-80 {
    max-width: 80%;
    display: flex;
    justify-content: center;
  }
}
.img-27 {
  aspect-ratio: 1.65;
  object-fit: contain;
  object-position: center;
  width: 658px;
  align-self: center;
  overflow: hidden;
  margin-top: 32px;
  max-width: 100%;
}
.div-81 {
  margin-top: 88px;
  width: 100%;
  /* padding: 0 72px; */
}
@media (max-width: 991px) {
  .div-81 {
    max-width: 100%;
    margin-top: 40px;
    padding: 0 20px;
  }
}
.div-82 {
  gap: 20px;
  display: flex;
  justify-content: center;
}
@media (max-width: 991px) {
  .div-82 {
    flex-direction: column;
    align-items: stretch;
    gap: 0px;
  }
}
.column-17 {
  display: flex;
  flex-direction: column;
  line-height: normal;
  width: 45%;
  margin-left: 0px;
}
@media (max-width: 991px) {
  .column-17 {
    width: 100%;
  }
}
.div-83 {
  display: flex;
  flex-grow: 1;
  flex-direction: column;
}
@media (max-width: 991px) {
  .div-83 {
    max-width: 100%;
    margin-top: 40px;
  }
}
.div-84 {
  color: #8b665a;
  font: 700 20px/150% Montserrat, sans-serif;
}
@media (max-width: 991px) {
  .div-84 {
    max-width: 100%;
  }
}
.div-85 {
  color: #8b665a;
  margin-top: 12px;
  font: 400 20px/30px Montserrat, sans-serif;
}
@media (max-width: 991px) {
  .div-85 {
    max-width: 100%;
  }
}
.column-18 {
  display: flex;
  flex-direction: column;
  line-height: normal;
  width: 45%;
  margin-left: 20px;
}


  /* ---- LAYOUT ---- */
      .faq-section {
        padding: 2rem 1rem 4rem;
        /* max-width: 1180px; */
        color: #8b665a;
        font: 400 20px/30px Montserrat, sans-serif;
        margin: 0 auto;
        display: flex;
        justify-content: end;
      }
      .faq-layout {
        display: flex;
        gap: var(--gap);
        justify-content: space-around;
        flex-wrap: wrap;
        width: 100%;
      }
      .faq-col {
        /* flex: 1 1 40%; */
        width: 40%;
      }
      .image-col {
        /* flex: 1 1 360px; */
        width: 40%;
        display: flex;
        justify-content: center;
      }
      .image-col img {
        width: 100%;
        height: auto;
        object-fit: cover;
        border-radius: 8px;
        box-shadow: 0 4px 14px rgba(0, 0, 0, 0.08);
      }

      @media (max-width: 768px) {
        .faq-layout {
          flex-direction: column;
          align-items: center;
        }
        .image-col {
          order: 2; /* immagine dopo le FAQ in mobile */
        }
      }

      /* ---- FAQ STYLES ---- */
      .faq-title {
        font-size: clamp(1.8rem, 2.5vw, 2.4rem);
        font-weight: 700;
        margin-bottom: var(--gap);
        text-align: left;
      }
      .faq-item {
        border-bottom: 1px solid #e5e5e5;
      }
      .faq-question {
        cursor: pointer;
        position: relative;
        padding: 1.2rem 3rem 1.2rem 0;
        font-size: 1rem;
        font-weight: 600;
        display: flex;
        justify-content: space-between;
        align-items: center;
      }
      .faq-icon {
        content: "";
        width: 1rem;
        height: 1rem;
        position: absolute;
        right: 0;
        top: 50%;
        transform: translateY(-50%);
        display: inline-block;
      }
      .faq-icon::before,
      .faq-icon::after {
        content: "";
        position: absolute;
        background: #8b665a;
        transition: transform 0.4s ease;
      }
      .faq-icon::before {
        width: 100%;
        height: 2px;
        top: 50%;
        left: 0;
        transform-origin: center;
      }
      .faq-icon::after {
        width: 2px;
        height: 100%;
        left: 50%;
        top: 0;
        transform-origin: center;
      }
      .faq-item.active .faq-icon::after {
        transform: scaleY(0);
      }
      .faq-answer {
        max-height: 0;
        overflow: hidden;
        transition: max-height 0.5s ease, padding 0.4s ease;
        padding: 0 0 0 0;
        font-size: 0.95rem;
        line-height: 1.6;
        font: 400 16px/30px Montserrat, sans-serif;
        color: #8b665a;
      }
      .faq-item.active .faq-answer {
        padding: 0 0 1.2rem 0;
        max-height: 500px;
      }

      @media (prefers-reduced-motion: reduce) {
        .faq-answer,
        .faq-icon::before,
        .faq-icon::after {
          transition: none;
        }
      }

@media (max-width: 991px) {
  .column-18 {
    width: 100%;
  }
}
.img-28 {
  aspect-ratio: 1.71;
  object-fit: contain;
  object-position: center;
  width: 100%;
  align-self: stretch;
  overflow: hidden;
  flex-grow: 1;
}
@media (max-width: 991px) {
  .img-28 {
    max-width: 100%;
    margin-top: 40px;
  }
}
.footer {
  justify-content: center;
  background-color: #e6dbcd;
  display: flex;
  margin-top: 15px;
  width: calc(100% - 142px);
  flex-direction: column;
  padding: 41px 71px;
}
@media (max-width: 991px) {
  .div-86 {
    max-width: 100%;
    padding: 0 20px;
  }
        .faq-col {
        /* flex: 1 1 40%; */
        width: 100%;
      }
}
.div-87 {
  color: #8b665a;
  align-self: center;
  white-space: nowrap;
  font: 700 20px/150% Montserrat, sans-serif;
}
@media (max-width: 991px) {
  .div-87 {
    white-space: initial;
  }
}
.div-88 {
  justify-content: center;
  align-self: center;
  display: flex;
  margin-top: 12px;
  width: 304px;
  max-width: 100%;
  gap: 20px;
  padding: 0 80px;
}
@media (max-width: 991px) {
  .div-88 {
    padding: 0 20px;
  }
}
.img-29 {
  aspect-ratio: 1;
  object-fit: contain;
  object-position: center;
  width: 100%;
  overflow: hidden;
  flex: 1;
}
.img-30 {
  aspect-ratio: 1;
  object-fit: contain;
  object-position: center;
  width: 100%;
  justify-content: center;
  align-items: center;
  overflow: hidden;
  flex: 1;
}
.img-31 {
  aspect-ratio: 1;
  object-fit: contain;
  object-position: center;
  width: 100%;
  overflow: hidden;
  flex: 1;
}
.div-89 {
  justify-content: center;
  color: #8b665a;
  text-align: center;
  margin-top: 12px;
  font: 400 16px/37px Montserrat, sans-serif;
}
@media (max-width: 991px) {
  .div-89 {
    max-width: 100%;
  }
}

section.Services {
  display: flex;
  flex-direction: column;
  gap: 80px;
  margin: 80px 0px 0px 0px;
}

.ServiceDesc {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.scrollBtn {
  display: flex;
  flex-direction: column;
  width: fit-content;
  margin-right: 80px;
}

section.Review {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-top: 80px;
  gap: 32px;
}

.ReviewGroup {
  display: flex;
  gap: 147px;
  width: 100%;
  justify-content: center;
  flex-wrap: wrap;
}

li.no-deco {
  display: flex;
  text-decoration: none;
  align-items: center;
}

.no-deco {
  text-decoration: none;
}

.headerText {
  width: 90%;
}

@media (max-width: 1200px) {
  .heroTitle {
    font-size: 40px;
  }
  .heroTitle2 {
    font-size: 32px;
  }
  .HeroSubTitle {
    font-size: 18px;
  }
  .ContactsBigContainer {
    flex-wrap: wrap;
    justify-content: center;
  }
  .ContactsBot,
  .ContactsTop {
    width: 80%;
    margin-right: 0px;
  }
}

@media (max-width: 900px) {
  .heroTitle {
    font-size: 36px;
  }
  .heroTitle2 {
    font-size: 24px;
  }
  .HeroSubTitle {
    font-size: 16px;
  }
  .ContactsBot,
  .ContactsTop {
    flex-direction: column;
    align-items: center;
    width: 100%;
  }
  .citText {
    font-size: 45px;
    line-height: normal;
  }
  .ReviewGroup{
    gap:20px;
  }
  .fase {
    flex-direction:column;
    align-items: center;
    height: 100%;
}

.fasi{
    width: 100%;
    justify-content: center;
    justify-items: center;
}
.columnReverse{
  flex-direction: column;
  height: 100%;
}

  .ConoscimiSubTitle,.faseTxt {
    width: 80%;
}
}

@media (max-width: 700px) {
  .hero {
    flex-direction: column-reverse;
  }
  .right-container {
    margin-left: 0px;
  }
  .scrollBtn {
    display: none;
  }
  .ConoscimiSubTitle,
  .ServicesSubTitle {
    width: 90%;
  }
  .corsiContainer {
    gap: 30px;
    justify-content: center;
  }
  .corso {
    flex-direction: column-reverse;
    align-items: center;
    width: 80%;
  }
  .corsoText {
    width: 100%;
  }
  .ContactsTextContainer {
    width: 80%;
  }
}

