/* =========================================================
   SERVIZI  (pagina 1040)  -  servizi.css
   Riproduce "Reginato - Servizi - Desktop 1440".

   Struttura (classi gia' presenti nella pagina Divi):
     .hero_servizi                       > .row_servizi             breadcrumb
     .Sezione_costruiamo_soluzioni       > .Riga_costruiamo_soluzioni   titolo | intro
     .Sezione_servizi_menu               > .Riga_servizi_menu       menu a ancore
     6 sezioni servizio (testo | foto, alternate):
        .Sezione_nostre_costruzioni, .Sezione_servizi_ristrutturazioni,
        .Sezione_movimento_terra, .Sezione_servizi_immobiliare,
        .Sezione_edilizia_pubblica, .Sezione_manutenzione_adeguamenti
     .Sezione_qualita_affidabilita       > .Riga_qualita_affidabilita   3 colonne
     .sezione_progetto_confronto         > .riga_progetto_confronto     fascia blu
     .sezione_parliamone_insieme                                    (gia' in style.css)

   CLASSI DA USARE NEI TESTI (vedi note in fondo):
     servizi:   serv_tit  serv_sub  serv_intro  serv_h3  serv_lista  serv_testo
     qualita':  qual_kicker  qual_tit  qual_sigla  qual_sub  qual_testo

   Va caricato DOPO style.css. Tutto e' limitato a body.page-id-1040.
   Misure in vw sul mockup a 1440px (come storia.css).
   ========================================================= */

body.page-id-1040{
  --sv-navy: #152c72;
  --sv-blu: var(--reg-blu, #11296b);
  --sv-rosso: #f01824;
  --sv-testo: #596174;
  --sv-azzurro: #e9f7fd;
  --sv-grigio: #f4f5f7;
  --sv-linea: #dde2ec;
  --sv-font: 'Inter', var(--font, 'Montserrat'), Helvetica, Arial, sans-serif;
}
/* scroll morbido: ora e' globale, in style.css */

/* ---------------------------------------------------------
   Righe: stessa larghezza/margini del resto del sito
   --------------------------------------------------------- */
body.page-id-1040 .et-l--post .et_pb_section > .et_pb_row{
  box-sizing: border-box !important;
  width: var(--riga-w, 86%) !important;
  max-width: none !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 0 !important;
}
body.page-id-1040 .et-l--post .et_pb_section > .et_pb_row > .et_pb_column{
  min-width: 0;
  margin: 0 !important;
  gap: 0 !important;
}
body.page-id-1040 :is(.hero_servizi, .Sezione_costruiamo_soluzioni, .Sezione_servizi_menu,
  .Sezione_nostre_costruzioni, .Sezione_servizi_ristrutturazioni, .Sezione_movimento_terra,
  .Sezione_servizi_immobiliare, .Sezione_edilizia_pubblica, .Sezione_manutenzione_adeguamenti,
  .Sezione_qualita_affidabilita, .sezione_progetto_confronto) :is(div, p, h1, h2, h3, ul, li, a){
  font-family: var(--sv-font);
}
body.page-id-1040 .et-l--post .et_pb_text_inner{ padding: 0 !important; }
/* div vuoti lasciati dal copia/incolla */
body.page-id-1040 .et-l--post .et_pb_text_inner > div:empty,
body.page-id-1040 .et-l--post .et_pb_text_inner > p:empty{ display: none; }


/* =========================================================
   1. HERO: solo breadcrumb su fondo bianco
   ========================================================= */
body.page-id-1040 .et_pb_section.hero_servizi{
  background: #fff !important;
  padding: clamp(16px, 2.2vw, 56px) 0 0 !important;
}
body.page-id-1040 .hero_breadcrumb,
body.page-id-1040 .hero_breadcrumb :is(p, a, span){
  margin: 0 !important;
  padding: 0 !important;
  font-size: clamp(12px, .9vw, 23px);
  line-height: 1.4;
  color: var(--sv-testo) !important;
  text-decoration: none;
}
body.page-id-1040 .hero_breadcrumb a:hover{ text-decoration: underline; }


/* =========================================================
   2. TITOLO | INTRO
   ========================================================= */
body.page-id-1040 .et_pb_section.Sezione_costruiamo_soluzioni{
  background: #fff !important;
  padding: clamp(32px, 4.4vw, 112px) 0 clamp(40px, 4.4vw, 112px) !important;
}
body.page-id-1040 .Sezione_costruiamo_soluzioni > .et_pb_row{
  display: grid !important;
  grid-template-columns: 59.7% minmax(0, 1fr);
  align-items: start;
}
body.page-id-1040 .Sezione_costruiamo_soluzioni > .et_pb_row > .et_pb_column{
  width: auto !important;
  max-width: none !important;
  grid-area: auto !important;
}
body.page-id-1040 .radici_tit{
  padding-right: 4vw;
  font-size: clamp(32px, 4.17vw, 107px);                 /* 60px a 1440 */
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: -.02em;
  color: var(--sv-navy);
}
body.page-id-1040 .radici_tit::before{                    /* barra rossa */
  content: "";
  display: block;
  width: clamp(36px, 3.33vw, 85px);
  height: clamp(3px, .28vw, 7px);
  margin-bottom: clamp(14px, 2.2vw, 56px);
  background: var(--sv-rosso);
}
body.page-id-1040 .intro_storia{
  padding-top: clamp(0px, 3.2vw, 82px);
  font-size: clamp(14px, 1.04vw, 27px);                   /* 15px a 1440 */
  font-weight: 400;
  line-height: 1.9;
  color: var(--sv-testo);
}


/* =========================================================
   3. MENU A ANCORE (resta in orizzontale, su mobile va a capo)
   ========================================================= */
body.page-id-1040 .et_pb_section.Sezione_servizi_menu{
  background: #fff !important;
  padding: 0 !important;
  border-top: 1px solid #e8ebf1;
  border-bottom: 1px solid #e8ebf1;
}
/* Il modulo Menu di Divi: niente hamburger, sempre la lista */
body.page-id-1040 .Sezione_servizi_menu :is(.et_pb_menu, .et_pb_menu_inner_container, .et_pb_menu__wrap){
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}
body.page-id-1040 .Sezione_servizi_menu .et_pb_menu__menu{
  display: block !important;
  width: 100% !important;
  flex: none !important;
}
body.page-id-1040 .Sezione_servizi_menu :is(.et_mobile_nav_menu, .mobile_nav, .mobile_menu_bar){
  display: none !important;
}
body.page-id-1040 .Sezione_servizi_menu nav.et-menu-nav{ display: block !important; width: 100%; }
body.page-id-1040 .Sezione_servizi_menu ul.et-menu,
body.page-id-1040 .Sezione_servizi_menu ul#menu-servizi{
  display: flex !important;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: stretch;
  gap: 0 1.5rem;
  width: 100%;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none;
}
body.page-id-1040 .Sezione_servizi_menu ul.et-menu > li{
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}
body.page-id-1040 .Sezione_servizi_menu ul.et-menu > li > a{
  display: block !important;
  padding: clamp(20px, 1.9vw, 48px) 0 clamp(18px, 1.7vw, 44px) !important;
  margin-bottom: -1px;                                    /* la riga rossa copre il filetto */
  border-bottom: 2px solid transparent;
  font-size: clamp(12px, .9vw, 23px);                     /* 13px a 1440 */
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: 0;
  color: var(--sv-testo) !important;
  text-decoration: none;
  opacity: 1 !important;
  white-space: nowrap;
  transition: color .2s, border-color .2s;
}
body.page-id-1040 .Sezione_servizi_menu ul.et-menu > li > a:hover,
body.page-id-1040 .Sezione_servizi_menu ul.et-menu > li.is-active > a{
  font-weight: 700;
  color: var(--sv-navy) !important;
}
body.page-id-1040 .Sezione_servizi_menu ul.et-menu > li.is-active > a{
  border-bottom-color: var(--sv-rosso);
}
/* niente scatto di larghezza quando la voce diventa grassetto */
body.page-id-1040 .Sezione_servizi_menu ul.et-menu > li > a::after{
  content: attr(data-t);
  display: block;
  height: 0;
  overflow: hidden;
  visibility: hidden;
  font-weight: 700;
}
body.page-id-1040 .Sezione_servizi_menu .et_pb_menu__menu::after,
body.page-id-1040 .Sezione_servizi_menu .et_pb_menu__menu::before{ display: none !important; }

/* Ancore: lasciano spazio per l'header fisso quando si clicca */
body.page-id-1040 :is(.Sezione_nostre_costruzioni, .Sezione_servizi_ristrutturazioni,
  .Sezione_movimento_terra, .Sezione_servizi_immobiliare, .Sezione_edilizia_pubblica,
  .Sezione_manutenzione_adeguamenti){
  scroll-margin-top: 70px;
}


/* =========================================================
   4. SEZIONI SERVIZIO  (testo | foto)
   Colonna con foto = .et_pb_column:has(.et_pb_image).
   Sul desktop vale l'ordine delle colonne in Divi
   (movimento terra ed edilizia pubblica hanno la foto per prima).
   ========================================================= */
body.page-id-1040 .et_pb_section:is(.Sezione_nostre_costruzioni, .Sezione_servizi_ristrutturazioni,
  .Sezione_movimento_terra, .Sezione_servizi_immobiliare, .Sezione_edilizia_pubblica,
  .Sezione_manutenzione_adeguamenti){
  padding: clamp(48px, 7.8vw, 200px) 0 !important;
  background: #fff !important;
}
body.page-id-1040 .et_pb_section:is(.Sezione_servizi_ristrutturazioni, .Sezione_edilizia_pubblica){
  background: var(--sv-grigio) !important;
}
body.page-id-1040 .et_pb_section.Sezione_movimento_terra{
  background: var(--sv-blu) !important;
}

body.page-id-1040 :is(.Sezione_nostre_costruzioni, .Sezione_servizi_ristrutturazioni,
  .Sezione_movimento_terra, .Sezione_servizi_immobiliare, .Sezione_edilizia_pubblica,
  .Sezione_manutenzione_adeguamenti) > .et_pb_row{
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  column-gap: 5%;
  align-items: start;
}
body.page-id-1040 :is(.Sezione_nostre_costruzioni, .Sezione_servizi_ristrutturazioni,
  .Sezione_movimento_terra, .Sezione_servizi_immobiliare, .Sezione_edilizia_pubblica,
  .Sezione_manutenzione_adeguamenti) > .et_pb_row > .et_pb_column{
  width: auto !important;
  max-width: none !important;
  grid-area: auto !important;
}

/* Foto */
body.page-id-1040 :is(.Sezione_nostre_costruzioni, .Sezione_servizi_ristrutturazioni,
  .Sezione_movimento_terra, .Sezione_servizi_immobiliare, .Sezione_edilizia_pubblica,
  .Sezione_manutenzione_adeguamenti) .et_pb_image{
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}
body.page-id-1040 :is(.Sezione_nostre_costruzioni, .Sezione_servizi_ristrutturazioni,
  .Sezione_movimento_terra, .Sezione_servizi_immobiliare, .Sezione_edilizia_pubblica,
  .Sezione_manutenzione_adeguamenti) .et_pb_image :is(.et_pb_image_wrap, span){
  display: block;
  width: 100%;
}
body.page-id-1040 :is(.Sezione_nostre_costruzioni, .Sezione_servizi_ristrutturazioni,
  .Sezione_movimento_terra, .Sezione_servizi_immobiliare, .Sezione_edilizia_pubblica,
  .Sezione_manutenzione_adeguamenti) .et_pb_image img{
  display: block;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

/* ---- Testi ---- */
body.page-id-1040 .serv_tit{
  margin: 0 !important;
  padding: 0 !important;
  font-size: clamp(30px, 3.33vw, 85px);                   /* 48px a 1440 */
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: -.02em;
  text-transform: uppercase;
  color: var(--sv-navy);
}
body.page-id-1040 .serv_sub{
  margin: clamp(14px, 1.5vw, 38px) 0 0 !important;
  padding: 0 !important;
  font-size: clamp(17px, 1.53vw, 39px);                   /* 22px a 1440 */
  font-weight: 400;
  line-height: 1.3;
  color: var(--sv-navy);
}
body.page-id-1040 .serv_intro{
  margin: clamp(20px, 2.2vw, 56px) 0 0 !important;
  padding: 0 0 clamp(22px, 2.6vw, 66px) !important;
  border-bottom: 1px solid #e8ebf1;
}
body.page-id-1040 .serv_intro,
body.page-id-1040 .serv_testo{
  font-size: clamp(14px, 1.04vw, 27px);                   /* 15px a 1440 */
  font-weight: 400;
  line-height: 1.75;
  color: var(--sv-testo);
}
body.page-id-1040 .serv_testo{ margin: .7em 0 0 !important; padding: 0 !important; }

body.page-id-1040 .serv_h3{
  margin: clamp(22px, 2.5vw, 64px) 0 0 !important;
  padding: 0 !important;
  font-size: clamp(15px, 1.18vw, 30px);                   /* 17px a 1440 */
  font-weight: 700;
  line-height: 1.3;
  color: var(--sv-navy);
}
body.page-id-1040 .serv_intro + .serv_h3{ margin-top: clamp(22px, 2.4vw, 60px) !important; }
body.page-id-1040 .serv_lista + .serv_h3{ margin-top: clamp(18px, 1.7vw, 44px) !important; }

body.page-id-1040 .serv_lista{
  margin: clamp(10px, 1.1vw, 28px) 0 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
body.page-id-1040 .serv_lista > li{
  position: relative;
  margin: 0 0 clamp(7px, .75vw, 19px) !important;
  padding: 0 0 0 clamp(16px, 1.4vw, 36px) !important;
  font-size: clamp(13px, .97vw, 25px);                    /* 14px a 1440 */
  font-weight: 400;
  line-height: 1.5;
  color: var(--sv-testo);
  list-style: none !important;
}
body.page-id-1040 .serv_lista > li::before{              /* trattino rosso */
  content: "";
  position: absolute;
  left: 0;
  top: .72em;
  width: clamp(5px, .42vw, 11px);
  height: 2px;
  background: var(--sv-rosso);
}
body.page-id-1040 .serv_lista > li > p{ margin: 0 !important; padding: 0 !important; }

/* ---- Link in fondo (modulo Pulsante: rosso, sottolineato, senza fondo) ---- */
body.page-id-1040 :is(.Sezione_nostre_costruzioni, .Sezione_servizi_ristrutturazioni,
  .Sezione_movimento_terra, .Sezione_servizi_immobiliare, .Sezione_edilizia_pubblica,
  .Sezione_manutenzione_adeguamenti) .et_pb_button_module_wrapper{
  margin: clamp(22px, 2.5vw, 64px) 0 0 !important;
  padding: 0 !important;
}
body.page-id-1040 #page-container :is(.Sezione_nostre_costruzioni, .Sezione_servizi_ristrutturazioni,
  .Sezione_movimento_terra, .Sezione_servizi_immobiliare, .Sezione_edilizia_pubblica,
  .Sezione_manutenzione_adeguamenti) .et_pb_button{
  display: inline-block;
  padding: 0 0 .5em !important;
  background: transparent !important;
  border: 0 !important;
  border-bottom: 2px solid var(--sv-rosso) !important;
  border-radius: 0 !important;
  font-family: var(--sv-font) !important;
  font-size: clamp(11px, .9vw, 23px) !important;          /* 13px a 1440 */
  font-weight: 800 !important;
  letter-spacing: 0;
  line-height: 1.2 !important;
  text-transform: uppercase;
  text-decoration: none !important;
  color: var(--sv-rosso) !important;
  box-shadow: none !important;
}
/* freccia: la aggiunge il CSS (nel testo del pulsante NON scrivere "->") */
body.page-id-1040 #page-container :is(.Sezione_nostre_costruzioni, .Sezione_servizi_ristrutturazioni,
  .Sezione_movimento_terra, .Sezione_servizi_immobiliare, .Sezione_edilizia_pubblica,
  .Sezione_manutenzione_adeguamenti) .et_pb_button::after{
  content: "\2192" !important;
  display: inline !important;
  position: static !important;
  margin: 0 0 0 .4em !important;
  font-family: var(--sv-font) !important;
  font-size: 1em !important;
  line-height: inherit !important;
  opacity: 1 !important;
}
body.page-id-1040 #page-container :is(.Sezione_nostre_costruzioni, .Sezione_servizi_ristrutturazioni,
  .Sezione_movimento_terra, .Sezione_servizi_immobiliare, .Sezione_edilizia_pubblica,
  .Sezione_manutenzione_adeguamenti) .et_pb_button::before{ display: none !important; }
body.page-id-1040 .et-l--post .et_pb_button:hover{ opacity: .8; }

/* ---- Variante scura (movimento terra) ---- */
body.page-id-1040 .Sezione_movimento_terra :is(.serv_tit, .serv_sub, .serv_h3){ color: #fff; }
body.page-id-1040 .Sezione_movimento_terra :is(.serv_intro, .serv_testo, .serv_lista > li){
  color: rgba(255,255,255,.92);
}
body.page-id-1040 .Sezione_movimento_terra .serv_intro{ border-bottom-color: rgba(255,255,255,.14); }


/* =========================================================
   5. QUALITA' E AFFIDABILITA'  (3 colonne su azzurro)
   ========================================================= */
body.page-id-1040 .et_pb_section.Sezione_qualita_affidabilita{
  background: var(--sv-azzurro) !important;
  padding: clamp(40px, 6vw, 154px) 0 !important;
}
body.page-id-1040 .Sezione_qualita_affidabilita > .et_pb_row{
  display: grid !important;
  grid-template-columns: minmax(0, 43fr) minmax(0, 25.5fr) minmax(0, 31.5fr);
  align-items: stretch;
}
body.page-id-1040 .Sezione_qualita_affidabilita > .et_pb_row > .et_pb_column{
  width: auto !important;
  max-width: none !important;
  grid-area: auto !important;
}
body.page-id-1040 .Sezione_qualita_affidabilita > .et_pb_row > .et_pb_column:not(:first-child){
  border-left: 1px solid var(--sv-linea);
  padding: 0 clamp(16px, 2.1vw, 54px) !important;
}
body.page-id-1040 .Sezione_qualita_affidabilita > .et_pb_row > .et_pb_column:first-child{
  padding-right: clamp(16px, 4vw, 100px) !important;
}

body.page-id-1040 .qual_kicker,
body.page-id-1040 .qual_sigla{
  margin: 0 !important;
  padding: 0 !important;
  font-weight: 800;
  line-height: 1.3;
  color: var(--sv-rosso);
}
body.page-id-1040 .qual_kicker{
  font-size: clamp(11px, .83vw, 21px);                    /* 12px a 1440 */
  letter-spacing: .04em;
  text-transform: uppercase;
}
body.page-id-1040 .qual_sigla{ font-size: clamp(15px, 1.18vw, 30px); }   /* 17px */
body.page-id-1040 .qual_tit{
  margin: clamp(10px, 1.1vw, 28px) 0 0 !important;
  padding: 0 !important;
  font-size: clamp(26px, 2.5vw, 64px);                    /* 36px a 1440 */
  font-weight: 800;
  line-height: 1.12;
  letter-spacing: -.02em;
  text-transform: uppercase;
  color: var(--sv-navy);
}
body.page-id-1040 .qual_sub{
  margin: clamp(14px, 1.9vw, 48px) 0 0 !important;
  padding: 0 !important;
  font-size: clamp(17px, 1.53vw, 39px);                   /* 22px a 1440 */
  font-weight: 700;
  line-height: 1.3;
  color: var(--sv-navy);
}
body.page-id-1040 .qual_testo{
  margin: clamp(14px, 1.5vw, 38px) 0 0 !important;
  padding: 0 !important;
  font-size: clamp(14px, 1.04vw, 27px);
  line-height: 1.75;
  color: var(--sv-testo);
}
body.page-id-1040 :is(.qual_sigla, .qual_sub) ~ .qual_testo{ font-size: clamp(12px, .87vw, 22px); }
body.page-id-1040 .qual_tit + .qual_testo{ margin-top: clamp(14px, 1.5vw, 38px) !important; }


/* =========================================================
   6. FASCIA BLU "OGNI PROGETTO INIZIA DA UN CONFRONTO"
   ========================================================= */
body.page-id-1040 .et_pb_section.sezione_progetto_confronto{
  background: var(--sv-navy) !important;
  padding: clamp(40px, 5.3vw, 136px) 0 clamp(36px, 4.6vw, 118px) !important;
}
body.page-id-1040 .sezione_progetto_confronto > .et_pb_row{
  display: flex !important;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: center;
  column-gap: 4%;
}
body.page-id-1040 .sezione_progetto_confronto > .et_pb_row > .et_pb_column{
  width: auto !important;
  max-width: none !important;
}
body.page-id-1040 .sezione_progetto_confronto > .et_pb_row > .et_pb_column:first-child{ flex: 1 1 auto !important; }
body.page-id-1040 .sezione_progetto_confronto > .et_pb_row > .et_pb_column:last-child{ flex: 0 0 auto !important; }
body.page-id-1040 .sezione_progetto_confronto h2{
  margin: 0 !important;
  padding: 0 !important;
  font-size: clamp(22px, 2.5vw, 64px);                    /* 36px a 1440 */
  font-weight: 800;
  line-height: 1.15;
  color: #fff !important;
}
body.page-id-1040 .sezione_progetto_confronto .et_pb_text:not(:first-child){ margin-top: clamp(12px, 1.4vw, 36px) !important; }
body.page-id-1040 .sezione_progetto_confronto p{
  max-width: 48vw;
  margin: 0 !important;
  padding: 0 !important;
  font-size: clamp(13px, 1.04vw, 27px);
  line-height: 1.7;
  color: #fff !important;
}
/* Pulsante rosso quadrato "CONTATTACI ->" */
body.page-id-1040 #page-container .sezione_progetto_confronto .et_pb_button,
body.page-id-1040 #page-container .sezione_progetto_confronto .pulsante_bianco{
  display: inline-block;
  padding: clamp(14px, 1.3vw, 33px) clamp(24px, 2.4vw, 61px) !important;
  background: var(--sv-rosso) !important;
  border: 0 !important;
  border-radius: 0 !important;
  font-size: clamp(11px, .9vw, 23px) !important;
  font-weight: 800 !important;
  letter-spacing: 0;
  line-height: 1.2 !important;
  text-transform: uppercase;
  text-decoration: none !important;
  color: #fff !important;
  box-shadow: none !important;
}
body.page-id-1040 #page-container .sezione_progetto_confronto :is(.et_pb_button, .pulsante_bianco)::after{
  content: "\2192" !important;
  display: inline !important;
  position: static !important;
  margin: 0 0 0 .5em !important;
  font-family: var(--sv-font) !important;
  font-size: 1em !important;
  opacity: 1 !important;
}
body.page-id-1040 #page-container .sezione_progetto_confronto :is(.et_pb_button, .pulsante_bianco)::before{ display: none !important; }
body.page-id-1040 #page-container .sezione_progetto_confronto :is(.et_pb_button, .pulsante_bianco):hover{ filter: brightness(1.08); }


/* =========================================================
   TABLET (<= 980px)
   ========================================================= */
@media (max-width: 980px){
  body.page-id-1040 .Sezione_costruiamo_soluzioni > .et_pb_row{
    grid-template-columns: minmax(0, 1fr);
    row-gap: 24px;
  }
  body.page-id-1040 .radici_tit{ padding-right: 0; }
  body.page-id-1040 .intro_storia{ padding-top: 0; max-width: 760px; }

  /* sezioni servizio: una colonna, foto SEMPRE sopra il testo */
  body.page-id-1040 :is(.Sezione_nostre_costruzioni, .Sezione_servizi_ristrutturazioni,
    .Sezione_movimento_terra, .Sezione_servizi_immobiliare, .Sezione_edilizia_pubblica,
    .Sezione_manutenzione_adeguamenti) > .et_pb_row{
    grid-template-columns: minmax(0, 1fr);
    row-gap: 32px;
  }
  body.page-id-1040 :is(.Sezione_nostre_costruzioni, .Sezione_servizi_ristrutturazioni,
    .Sezione_movimento_terra, .Sezione_servizi_immobiliare, .Sezione_edilizia_pubblica,
    .Sezione_manutenzione_adeguamenti) > .et_pb_row > .et_pb_column:has(.et_pb_image){ order: -1; }
  body.page-id-1040 .serv_tit{ font-size: clamp(28px, 5vw, 44px); }
  body.page-id-1040 .serv_sub{ font-size: clamp(17px, 2.6vw, 22px); }
  body.page-id-1040 :is(.serv_intro, .serv_testo){ font-size: 15px; max-width: 760px; }
  body.page-id-1040 .serv_h3{ font-size: 17px; }
  body.page-id-1040 .serv_lista > li{ font-size: 14px; padding-left: 18px !important; }
  body.page-id-1040 #page-container :is(.Sezione_nostre_costruzioni, .Sezione_servizi_ristrutturazioni,
    .Sezione_movimento_terra, .Sezione_servizi_immobiliare, .Sezione_edilizia_pubblica,
    .Sezione_manutenzione_adeguamenti) .et_pb_button{ font-size: 13px !important; }

  /* qualita': prima colonna sopra, le due certificazioni affiancate */
  body.page-id-1040 .Sezione_qualita_affidabilita > .et_pb_row{
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    row-gap: 32px;
  }
  body.page-id-1040 .Sezione_qualita_affidabilita > .et_pb_row > .et_pb_column:first-child{
    grid-column: 1 / -1;
    padding-right: 0 !important;
  }
  body.page-id-1040 .Sezione_qualita_affidabilita > .et_pb_row > .et_pb_column:nth-child(2){
    border-left: 0;
    padding-left: 0 !important;
  }
  body.page-id-1040 .qual_tit{ font-size: clamp(26px, 4.6vw, 38px); }
  body.page-id-1040 .qual_sub{ font-size: 19px; }
  body.page-id-1040 :is(.qual_testo, .qual_sigla ~ .qual_testo){ font-size: 14px; }
  body.page-id-1040 .qual_kicker{ font-size: 12px; }
  body.page-id-1040 .qual_sigla{ font-size: 16px; }

  body.page-id-1040 .sezione_progetto_confronto > .et_pb_row{ flex-wrap: wrap; row-gap: 24px; }
  body.page-id-1040 .sezione_progetto_confronto p{ max-width: none; font-size: 15px; }
  body.page-id-1040 .sezione_progetto_confronto h2{ font-size: clamp(24px, 4.4vw, 34px); }
  body.page-id-1040 #page-container .sezione_progetto_confronto :is(.et_pb_button, .pulsante_bianco){ font-size: 13px !important; }
}


/* =========================================================
   MOBILE (<= 767px)
   ========================================================= */
@media (max-width: 767px){
  body.page-id-1040 .et_pb_section.hero_servizi{ padding-top: 16px !important; }
  body.page-id-1040 .hero_breadcrumb,
  body.page-id-1040 .hero_breadcrumb :is(p, a, span){ font-size: 13px; }

  body.page-id-1040 .et_pb_section.Sezione_costruiamo_soluzioni{ padding: 28px 0 36px !important; }
  body.page-id-1040 .radici_tit{ font-size: 32px; line-height: 1.15; }
  body.page-id-1040 .radici_tit::before{ margin-bottom: 16px; }
  body.page-id-1040 .intro_storia{ font-size: 15px; line-height: 1.75; }

  /* MENU: niente hamburger, voci su piu' righe */
  body.page-id-1040 .Sezione_servizi_menu ul.et-menu,
  body.page-id-1040 .Sezione_servizi_menu ul#menu-servizi{
    justify-content: flex-start;
    gap: 0 1.6rem;
  }
  body.page-id-1040 .Sezione_servizi_menu ul.et-menu > li > a{
    padding: 13px 0 11px !important;
    font-size: 14px;
  }

  body.page-id-1040 .et_pb_section:is(.Sezione_nostre_costruzioni, .Sezione_servizi_ristrutturazioni,
    .Sezione_movimento_terra, .Sezione_servizi_immobiliare, .Sezione_edilizia_pubblica,
    .Sezione_manutenzione_adeguamenti){ padding: 44px 0 !important; }
  body.page-id-1040 :is(.Sezione_nostre_costruzioni, .Sezione_servizi_ristrutturazioni,
    .Sezione_movimento_terra, .Sezione_servizi_immobiliare, .Sezione_edilizia_pubblica,
    .Sezione_manutenzione_adeguamenti) > .et_pb_row{ row-gap: 26px; }
  body.page-id-1040 .serv_tit{ font-size: 30px; }
  body.page-id-1040 .serv_sub{ margin-top: 12px !important; font-size: 18px; }
  body.page-id-1040 .serv_intro{ margin-top: 18px !important; padding-bottom: 22px !important; }
  body.page-id-1040 .serv_h3{ margin-top: 22px !important; }
  body.page-id-1040 .serv_lista{ margin-top: 10px !important; }
  body.page-id-1040 .serv_lista > li{ margin-bottom: 8px !important; }
  body.page-id-1040 :is(.Sezione_nostre_costruzioni, .Sezione_servizi_ristrutturazioni,
    .Sezione_movimento_terra, .Sezione_servizi_immobiliare, .Sezione_edilizia_pubblica,
    .Sezione_manutenzione_adeguamenti) .et_pb_button_module_wrapper{ margin-top: 24px !important; }

  body.page-id-1040 .et_pb_section.Sezione_qualita_affidabilita{ padding: 44px 0 !important; }
  body.page-id-1040 .Sezione_qualita_affidabilita > .et_pb_row{
    grid-template-columns: minmax(0, 1fr);
    row-gap: 28px;
  }
  body.page-id-1040 .Sezione_qualita_affidabilita > .et_pb_row > .et_pb_column:not(:first-child){
    border-left: 0;
    border-top: 1px solid var(--sv-linea);
    padding: 24px 0 0 !important;
  }
  body.page-id-1040 .qual_tit{ font-size: 26px; }

  body.page-id-1040 .et_pb_section.sezione_progetto_confronto{ padding: 40px 0 !important; }
  body.page-id-1040 .sezione_progetto_confronto h2{ font-size: 24px; }
}


/* =========================================================
   NOTE PER DIVI  (testi e classi)
   --- Struttura attesa del modulo Testo di ogni servizio ---
     <h2 class="serv_tit">NUOVE COSTRUZIONI</h2>
     <p class="serv_sub">Dal progetto alle chiavi in mano</p>
     <p class="serv_intro">Testo introduttivo...</p>
     <h3 class="serv_h3">Cosa realizziamo</h3>
     <ul class="serv_lista"><li>Voce</li><li>Voce</li></ul>
     <h3 class="serv_h3">Un unico referente, dall'inizio alla fine</h3>
     <p class="serv_testo">Testo...</p>
   Il link in fondo resta un modulo Pulsante: nel testo NON scrivere "->"
   (la freccia la mette il CSS) e disattiva "Mostra icona pulsante".
   --- Qualita' e affidabilita' ---
     colonna 1: <p class="qual_kicker">QUALITA' E AFFIDABILITA'</p>
                <h2 class="qual_tit">METODO, CONTROLLO, TRACCIABILITA'.</h2>
                <p class="qual_testo">...</p>
     colonne 2 e 3: <p class="qual_sigla">ISO 9001</p>
                    <h3 class="qual_sub">...</h3>
                    <p class="qual_testo">...</p>
   ========================================================= */
