.button-green {
  background-color: #60a523;
  color: white;
}

.small {
  font-size: 0.7rem;
}

/* indentazione per sotto-sezioni */
.indent {
  display: block;
  padding-left: 1rem; /* rientro visivo all’interno */
}

.fixed-box {
  position: fixed;
  top: 0px;
  left: 60px;
  right: 10px;
  height: 50px;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  font-size: clamp(0.62rem, 2.2vw, 0.9rem);
  line-height: 1.15;
  overflow: hidden;
}

.language-menu {
  margin-top: 0.8rem;
  padding-top: 0.8rem;
  border-top: 1px solid #d7d7d7;
}

.language-menu-label {
  display: block;
  margin-bottom: 0.45rem;
  color: #666;
  font-size: 0.7rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.language-links {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 0.75rem;
  white-space: nowrap;
}

.language-links a {
  display: inline;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: #555;
  font-size: 0.64rem;
  font-weight: 500;
  line-height: 1.2;
  text-decoration: none;
}

.language-links a:hover,
.language-links a:focus-visible {
  color: #0078d4;
  text-decoration: underline;
}

.language-links a[aria-current="page"] {
  background: transparent;
  color: #0078d4;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 0.15rem;
}

footer {
  font-size: 0.69rem;
}

.cta-title {
  margin-top: 0;
  font-size: clamp(0.7rem, 1.7vw, 0.95rem);
  white-space: nowrap;
}

body {
  font-size: 0.89rem;
}

/* Navigazione Geosensix */
#header {
  width: 100%;
  background: #102a20;
  color: white;
  padding: 0 1.25rem;
  display: flex;
  align-items: center;
  position: fixed;
  top: 0;
  left: 0;
  height: 64px;
  z-index: 1000;
  border-bottom: 1px solid rgba(164,215,100,.25);
}

/* Pulsante menu */
#menu-btn {
  background: none;
  color: white;
  border: none;
  width: 42px;
  height: 42px;
  margin: 0 .85rem 0 0;
  padding: 10px;
  cursor: pointer;
  display: grid;
  align-content: center;
  gap: 5px;
}
#menu-btn span { display:block; width:21px; height:2px; background:#f4f6ee; transition:transform .2s ease; }
#menu-btn.is-open span:first-child { transform:translateY(7px) rotate(45deg); }
#menu-btn.is-open span:nth-child(2) { opacity:0; }
#menu-btn.is-open span:last-child { transform:translateY(-7px) rotate(-45deg); }
.gx-brand { display:flex; flex-direction:column; gap:1px; color:#fff; line-height:1; text-decoration:none; }
.gx-brand strong { font-size:.98rem; letter-spacing:.11em; }.gx-brand span { color:#a4d764; font-size:.54rem; font-weight:700; letter-spacing:.14em; }
.gx-header-cta { margin-left:auto; padding:.55rem .75rem; border:1px solid #a4d764; color:#eaf5df; font-size:.72rem; font-weight:700; text-decoration:none; }
.gx-header-cta:hover { background:#a4d764; color:#102a20; }

/* Sidebar */
#sidebar {
  width: 290px;
  position: fixed;
  height: calc(100vh - 64px);
  background: #e9f0e4;
  padding: 1.8rem 1.25rem;
  left: -310px;
  transition: left 0.3s ease-in-out;
  z-index: 1100;
  top: 64px;
  box-shadow: 8px 18px 30px rgba(16,42,32,.18);
  overflow-y: auto;
  overflow-x: hidden;
}


/* Sidebar attiva */
#sidebar.active {
  left: 0;
}
#sidebar nav { display:block; }
#sidebar nav ul { display:block; margin:0 0 1.6rem; padding:0 0 0 .85rem; list-style:none; }
#sidebar nav li { margin:0; padding:0; }
#sidebar nav a { display:block; padding:.48rem 0; color:#264232; font-size:.75rem; font-weight:600; text-decoration:none; }
#sidebar nav a:hover { color:#599a25; }
.gx-menu-label { margin:0 0 .45rem; color:#264232; font-size:.88rem; font-weight:800; letter-spacing:.08em; }
.gx-menu-contact { margin-top:2rem; padding:1.1rem; background:#102a20; color:#f4f6ee; }.gx-menu-contact span { color:#a4d764; font-size:.58rem; font-weight:800; letter-spacing:.12em; }.gx-menu-contact p { margin:.45rem 0 .7rem; font-size:.93rem; }.gx-menu-contact a { padding:0!important; color:#fff!important; font-size:.75rem!important; }.gx-menu-contact b { color:#a4d764; font-size:1rem; }

/* Contenuto principale */
main.container {
  margin-top: 84px;
  padding: 20px;
  box-sizing: border-box;
}

/* Testo accanto al menu */
#header-text {
  font-size: 20px;
  color: white;
  font-weight: bold;
}

/* Le pagine informative preesistenti adottano lo stesso sistema visivo. */
body:not(.geosensix-home):not(.gx-solution) { background:#f3f5ef; color:#183225; }
body:not(.geosensix-home):not(.gx-solution) main.container { max-width:1120px; }
body:not(.geosensix-home):not(.gx-solution) h1 { max-width:800px; color:#102a20; font-size:clamp(2.2rem,4.5vw,4.1rem); line-height:1; letter-spacing:-.05em; }
body:not(.geosensix-home):not(.gx-solution) h2 { color:#102a20; letter-spacing:-.035em; }
body:not(.geosensix-home):not(.gx-solution) section { margin-bottom:3rem; }
body:not(.geosensix-home):not(.gx-solution) figure { background:#dfe9d7; padding:1rem; }
body:not(.geosensix-home):not(.gx-solution) a[role="button"] { border-radius:0; background:#60a523; border-color:#60a523; }
body:not(.geosensix-home):not(.gx-solution) a[role="button"].secondary,body:not(.geosensix-home):not(.gx-solution) a[role="button"].outline { background:transparent; border-color:#102a20; color:#102a20; }
.gx-team-card { height:100%; margin:0!important; padding:clamp(1.6rem,4vw,3rem); background:#102a20; color:#fff; }
.gx-team-card h2 { margin-top:0; color:#fff!important; font-size:clamp(1.6rem,3vw,2.55rem); line-height:1.05; }.gx-team-card>p:not(.gx-eyebrow),.gx-team-card li { color:#f4f8f1!important; }.gx-team-card ul { margin:1.5rem 0 0; padding:0; list-style:none; }.gx-team-card li { margin:0; padding:.8rem 0; border-top:1px solid rgba(255,255,255,.28); font-size:.86rem; line-height:1.45; }.gx-team-card li strong { color:#c9ef91; }

/* Contrasto elevato su tutte le superfici scure del sistema Geosensix. */
.gx-hero,.gx-solution-hero,.gx-system-visual,#header,.gx-menu-contact { color:#fff; }
.gx-hero p:not(.gx-eyebrow),.gx-solution-hero p:not(.gx-eyebrow),.gx-system-visual p,.gx-menu-contact p { color:#f4f8f1!important; }
.gx-hero .gx-eyebrow,.gx-solution-hero .gx-eyebrow,.gx-team-card .gx-eyebrow,.gx-menu-contact span { color:#c9ef91; }
.gx-hero-data { border-color:rgba(255,255,255,.38); background:rgba(255,255,255,.08); }
.gx-data-label,.gx-reading span { color:#e5f4dc!important; }.gx-pulse { color:#f1f8ec!important; }
.gx-system-tag { color:#fff; background:#102a20; }.gx-system-tag b { color:#c9ef91; }.gx-system-tag--second { color:#102a20; background:#c9ef91; }.gx-system-tag--second b { color:#102a20; }
.gx-menu-contact a { color:#fff!important; }

/* Smartphone / tablet piccoli (576px - 767px) */
@media screen and (min-width: 576px) and (max-width: 767px) {}

/* Tablet (768px - 991px) */
@media screen and (min-width: 768px) and (max-width: 991px) {}

/* Laptop piccoli / desktop medi (992px - 1199px) */
@media screen and (min-width: 992px) and (max-width: 1199px) {}

/* Desktop grandi (1200px - 1399px) */
@media screen and (min-width: 1200px) and (max-width: 1399px) {}

/* Desktop extra large (1400px in su) */
@media screen and (min-width: 1400px) {}

/* Geosensix field intelligence home */
.geosensix-home { background:#f3f5ef; color:#14251e; }
.geosensix-home main.container { max-width:1280px; padding:16px 24px 36px; }
.geosensix-home h1,.geosensix-home h2,.geosensix-home h3 { letter-spacing:-.055em; }.geosensix-home em { color:#6db52b; font-style:normal; }
.gx-eyebrow { margin:0 0 1rem; color:#315f22; font-size:.68rem; font-weight:800; letter-spacing:.16em; }
.gx-hero { display:grid; grid-template-columns:1.25fr .75fr; gap:clamp(2rem,6vw,7rem); align-items:center; min-height:610px; padding:4rem clamp(1.5rem,6vw,6rem); background:#102a20; color:#f4f6ee; overflow:hidden; position:relative; }.gx-hero::after { content:''; position:absolute; width:480px; height:480px; right:-270px; top:-280px; border:1px solid #5f8e55; border-radius:50%; box-shadow:0 0 0 48px rgba(109,181,43,.08),0 0 0 96px rgba(109,181,43,.045); }.gx-hero .gx-eyebrow { color:#a4d764; }.gx-hero h1 { max-width:720px; margin:0 0 1.5rem; color:#fff; font-size:clamp(3.2rem,7vw,6.8rem); line-height:.91; }.gx-lead { max-width:570px; margin-bottom:2rem; color:#d1ddd0; font-size:clamp(1rem,1.7vw,1.22rem); line-height:1.5; }.gx-actions { display:flex; flex-wrap:wrap; gap:.75rem; }.gx-actions a { margin:0; }
.gx-hero-data { position:relative; z-index:1; padding:1.4rem; border:1px solid rgba(221,240,203,.22); background:rgba(244,246,238,.05); }.gx-data-label { margin-bottom:1.2rem; color:#a4d764; font-size:.65rem; font-weight:800; letter-spacing:.14em; }.gx-reading { padding:.85rem 0; border-top:1px solid rgba(255,255,255,.18); }.gx-reading span { display:block; color:#b8cbbb; font-size:.64rem; font-weight:700; letter-spacing:.08em; }.gx-reading strong { display:block; color:#fff; font-size:2.8rem; line-height:1.05; letter-spacing:-.07em; }.gx-reading small { font-size:1rem; }.gx-reading i { display:block; width:68%; height:4px; margin-top:.7rem; background:#6db52b; }.gx-reading--warm i { width:45%; background:#e5b95d; }.gx-pulse { margin:1.2rem 0 0; color:#c7d6c9; font-size:.72rem; }.gx-pulse b { display:inline-block; width:7px; height:7px; margin-right:.35rem; border-radius:100%; background:#9de451; box-shadow:0 0 0 5px rgba(157,228,81,.14); }
.gx-device { display:grid; grid-template-columns:1fr 1.2fr; gap:clamp(2rem,6vw,6rem); padding:clamp(4rem,8vw,7rem) 0; border-bottom:1px solid #c8d0c7; }.gx-device-copy h2 { margin:0 0 1.4rem; font-size:clamp(2.4rem,4.7vw,4.6rem); line-height:.96; }.gx-device-copy>p:not(.gx-eyebrow) { max-width:590px; font-size:1.04rem; line-height:1.55; }.gx-device-specs { display:grid; grid-template-columns:repeat(3,1fr); align-self:end; border:1px solid #c8d0c7; background:#c8d0c7; gap:1px; }.gx-device-specs article { min-height:215px; padding:1.25rem; background:#f3f5ef; }.gx-device-specs span { color:#6a796e; font:700 .72rem/1 monospace; }.gx-device-specs h3 { margin:3.2rem 0 .8rem; font-size:1.15rem; line-height:1.05; }.gx-device-specs p { margin:0; color:#4d5b52; font-size:.8rem; line-height:1.45; }
.gx-statement { max-width:970px; padding:clamp(5rem,11vw,9rem) 0; }.gx-statement h2,.gx-section-heading h2,.gx-system h2,.gx-final-cta h2 { margin:0 0 1.5rem; font-size:clamp(2.6rem,5.7vw,5.4rem); line-height:.93; }.gx-statement>p:last-child { max-width:720px; font-size:1.13rem; line-height:1.55; }.gx-products { padding:clamp(3rem,7vw,6rem) 0; border-top:1px solid #c8d0c7; }.gx-section-heading { margin-bottom:2.4rem; }.gx-product-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:#c8d0c7; border:1px solid #c8d0c7; }.gx-product { min-height:250px; padding:1.35rem; background:#f3f5ef; }.gx-product span { color:#6a796e; font:700 .72rem/1 monospace; }.gx-product h3 { margin:2.8rem 0 1rem; font-size:1.7rem; line-height:.9; }.gx-product p { margin:0; color:#4d5b52; font-size:.82rem; line-height:1.4; }.gx-product--featured { background:#6db52b; }.gx-product--featured p { color:#163319; }.gx-product--featured b { display:inline-block; margin-top:1rem; font-size:.7rem; text-transform:uppercase; letter-spacing:.08em; }
.gx-mission { display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,8vw,8rem); align-items:end; margin:0 0 clamp(5rem,10vw,9rem); padding:clamp(2.2rem,6vw,5rem); background:#102a20; color:#fff; }.gx-mission h2 { margin:.3rem 0 1.3rem; color:#fff; font-size:clamp(2.15rem,4.8vw,4.4rem); line-height:.97; }.gx-mission>div>p:not(.gx-eyebrow) { max-width:580px; color:#f4f8f1; line-height:1.6; }.gx-mission a { margin-top:.8rem; border-radius:0; background:#c9ef91; border-color:#c9ef91; color:#102a20; }.gx-metrics { display:grid; grid-template-columns:1fr; border-top:1px solid rgba(255,255,255,.35); }.gx-metrics>div { display:flex; align-items:baseline; gap:1.1rem; padding:1.15rem 0; border-bottom:1px solid rgba(255,255,255,.2); }.gx-metrics strong { min-width:150px; color:#c9ef91; font-size:clamp(2.2rem,5vw,4.5rem); line-height:.85; letter-spacing:-.075em; }.gx-metrics span { color:#fff; font-size:.86rem; line-height:1.25; }.gx-metrics p { margin:.8rem 0 0; color:#dcead4; font-size:.7rem; }
.gx-mission .gx-signature { margin:1.35rem 0 0; color:#c9ef91!important; font-size:clamp(1.15rem,2vw,1.55rem); font-weight:700; letter-spacing:-.03em; }
.gx-paths { margin:0 0 clamp(5rem,10vw,9rem); }.gx-paths h2 { max-width:680px; margin:.2rem 0 2rem; color:#102a20; font-size:clamp(2rem,4vw,3.5rem); line-height:1.02; }.gx-paths>div { display:grid; grid-template-columns:repeat(3,1fr); gap:.75rem; }.gx-paths a { display:flex; flex-direction:column; justify-content:space-between; align-items:flex-start; min-height:118px; padding:1.2rem; border:1px solid #b8cbb4; background:#fff; color:#183225; font-size:1.02rem; font-weight:700; text-decoration:none; }.gx-paths a:hover { border-color:#599a25; background:#e8f1e2; color:#183225; }.gx-paths b { margin-top:1.6rem; color:#315f22; font-size:.72rem; letter-spacing:.04em; text-transform:uppercase; }
.gx-activation { margin:0 0 clamp(5rem,10vw,9rem); padding:clamp(2rem,5vw,4.5rem); background:#dfe9d7; }.gx-activation h2 { max-width:680px; margin:.2rem 0 2rem; color:#102a20; font-size:clamp(2rem,4vw,3.5rem); line-height:1.02; }.gx-activation>div { display:grid; grid-template-columns:repeat(3,1fr); gap:2rem; }.gx-activation article { margin:0; padding:0; background:transparent; box-shadow:none; border:0; }.gx-activation span { color:#315f22; font:800 .72rem/1 monospace; }.gx-activation h3 { margin:1.2rem 0 .6rem; color:#102a20; font-size:1.25rem; }.gx-activation p { margin:0; color:#405447; line-height:1.45; }.gx-activation a { margin:2rem 0 0; border-radius:0; background:#102a20; border-color:#102a20; }
.gx-control-metrics { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; margin:clamp(3rem,7vw,6rem) 0 0; background:#b8cbb4; border:1px solid #b8cbb4; }.gx-control-metrics article { margin:0; padding:clamp(1.5rem,4vw,3rem); background:#102a20; color:#fff; }.gx-control-metrics span { color:#c9ef91; font-size:.62rem; font-weight:800; letter-spacing:.14em; }.gx-control-metrics strong { display:block; margin:2.6rem 0 .7rem; color:#fff; font-size:clamp(2.2rem,5vw,4.8rem); line-height:.85; letter-spacing:-.07em; white-space:nowrap; }.gx-control-metrics p { margin:0; color:#e8f2e3; font-size:.86rem; line-height:1.45; }.gx-control-note { margin:.8rem 0 clamp(4rem,8vw,7rem); color:#526158; font-size:.75rem; }.gx-why { margin:0 0 clamp(4rem,8vw,7rem); }.gx-why h2 { max-width:680px; margin:.2rem 0 2rem; font-size:clamp(2rem,4vw,3.5rem); line-height:1.02; }.gx-why-grid { display:grid; grid-template-columns:1fr 1fr; gap:1px; background:#b8cbb4; border:1px solid #b8cbb4; }.gx-why-grid>div { padding:2rem; background:#fff; }.gx-why-grid>div:last-child { background:#dfe9d7; }.gx-why-grid span { color:#315f22; font-size:.68rem; font-weight:800; letter-spacing:.12em; }.gx-why-grid p { margin:1.4rem 0 0; color:#284231; line-height:1.45; }
.gx-faq { margin:clamp(3rem,7vw,6rem) 0; border-top:1px solid #b8cbb4; }.gx-faq details { padding:1.25rem 0; border-bottom:1px solid #b8cbb4; }.gx-faq summary { color:#102a20; font-size:clamp(1.1rem,2vw,1.45rem); font-weight:800; cursor:pointer; }.gx-faq p { max-width:760px; margin:1rem 0 0; color:#405447; line-height:1.55; }
.gx-final-cta .gx-eyebrow { color:#173a23; }.gx-final-cta h2 { color:#102a20; }.gx-final-cta a { color:#fff; }
.gx-system { display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,8vw,9rem); align-items:center; margin:clamp(5rem,10vw,9rem) 0; padding:clamp(2.5rem,6vw,5rem); background:#dfe9d7; }.gx-system>div>p:not(.gx-eyebrow) { max-width:480px; line-height:1.5; }.gx-system a { margin-top:.7rem; }.gx-system-visual { min-height:370px; position:relative; display:grid; place-items:center; background:#1a3829; overflow:hidden; }.gx-system-visual::before { content:''; position:absolute; width:310px; height:310px; border:1px solid #79b86d; border-radius:50%; }.gx-system-visual img { position:relative; z-index:1; max-height:330px; object-fit:contain; }.gx-system-tag { position:absolute; z-index:2; left:1rem; bottom:1rem; padding:.65rem .8rem; color:#fff; background:#102a20; font-size:.7rem; line-height:1.25; }.gx-system-tag b { display:block; color:#a4d764; font-size:.63rem; letter-spacing:.1em; }.gx-system-tag--second { top:1rem; right:1rem; bottom:auto; left:auto; background:#6db52b; color:#15301a; }.gx-system-tag--second b { color:#15301a; }
.gx-scale { padding:1rem 0 clamp(5rem,11vw,9rem); }.gx-scale>div { display:flex; align-items:end; gap:1.3rem; border-bottom:1px solid #c8d0c7; padding-bottom:1.7rem; }.gx-scale strong { color:#102a20; font-size:clamp(4.2rem,12vw,10.5rem); line-height:.7; letter-spacing:-.09em; }.gx-scale span { padding-bottom:.15rem; font-size:1rem; line-height:1.25; }.gx-scale-note { max-width:510px; margin:1rem 0 0 auto; color:#526158; font-size:.77rem; }.gx-final-cta { padding:clamp(3rem,8vw,7rem) clamp(1.5rem,7vw,7rem); background:#e6b85a; }.gx-final-cta h2 { max-width:700px; color:#13251b; }.gx-final-cta a { background:#102a20; border-color:#102a20; }.gx-final-cta a:hover { background:#234b35; border-color:#234b35; }.geosensix-home footer { padding-top:2rem; color:#627067; }
@media (max-width:800px) { .geosensix-home main.container { padding:12px; }.gx-hero,.gx-device,.gx-system,.gx-mission { grid-template-columns:1fr; }.gx-hero { min-height:auto; padding:4rem 1.5rem; }.gx-device-specs { grid-template-columns:repeat(3,1fr); }.gx-product-grid { grid-template-columns:repeat(2,1fr); }.gx-product { min-height:205px; }.gx-system { padding:1.5rem; }.gx-system-visual { min-height:300px; }.gx-scale>div { display:block; }.gx-scale strong { display:block; margin-bottom:1.4rem; }.gx-scale span { display:block; } }
@media (max-width:800px) { .gx-paths>div { grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px) { .gx-paths>div { grid-template-columns:1fr; } }
@media (max-width:720px) { .gx-activation>div { grid-template-columns:1fr; } }
@media (max-width:720px) { .gx-control-metrics,.gx-why-grid { grid-template-columns:1fr; } }
@media (max-width:420px) { .gx-device-specs,.gx-product-grid { grid-template-columns:1fr; }.gx-device-specs article,.gx-product { min-height:170px; }.gx-device-specs h3,.gx-product h3 { margin-top:1.5rem; } }

/* Valori numerici compatti: nessuna spezzatura su due righe. */
.gx-metrics strong { min-width:128px; font-size:clamp(1.35rem,2.4vw,2.2rem); line-height:1; letter-spacing:-.045em; white-space:nowrap; }
.gx-scale strong { font-size:clamp(2.2rem,6vw,5.4rem); line-height:.85; white-space:nowrap; }
.gx-hero .gx-actions a.secondary.outline { border-color:#c9ef91; color:#f7fff2; background:transparent; }.gx-hero .gx-actions a.secondary.outline:hover { background:#c9ef91; border-color:#c9ef91; color:#102a20; }

/* Hero fotografico e proof point per la homepage marketing (index2). */
.geosensix-home--marketing main.container { margin-top:64px; padding-top:0; }
.gx-hero--marketing { position:relative; left:50%; right:50%; display:block; width:100vw; max-width:none; margin-right:-50vw; margin-left:-50vw; isolation:isolate; min-height:clamp(480px,56vw,780px); padding:0; background:#07150e; }
.gx-hero--marketing::after { display:none; }
.gx-hero--marketing .gx-hero-copy,.gx-hero--marketing .gx-hero-data { display:none; }
.gx-hero-photo { position:absolute; z-index:-2; inset:0; }
.gx-hero-photo img { width:100%; height:100%; object-fit:cover; object-position:center; }
.gx-hero-photo p { display:none; }
.gx-field-proof { display:grid; grid-template-columns:.83fr 1.17fr; gap:clamp(2rem,7vw,7rem); align-items:center; padding:clamp(4rem,9vw,8rem) 0; border-bottom:1px solid #c8d0c7; }
.gx-marketing-intro { display:grid; grid-template-columns:1fr .82fr; gap:clamp(2rem,7vw,7rem); align-items:end; padding:clamp(3.5rem,8vw,7rem) 0; border-bottom:1px solid #c8d0c7; }
.gx-marketing-intro h1 { max-width:650px; margin:0; color:#102a20; font-size:clamp(2.5rem,5.3vw,5rem); line-height:.95; }
.gx-marketing-intro>div:last-child>p { max-width:510px; margin:0 0 1.7rem; color:#405447; font-size:1.08rem; line-height:1.55; }
.gx-marketing-intro .gx-actions a[role="button"] { border-radius:0; background:#102a20; border-color:#102a20; }
.gx-marketing-intro .gx-actions a.secondary.outline { background:transparent; border-color:#102a20; color:#102a20; }
.gx-field-proof__copy h2 { max-width:590px; margin:0 0 1.2rem; color:#102a20; font-size:clamp(2.2rem,4.7vw,4.5rem); line-height:.96; }
.gx-field-proof__copy>p:not(.gx-eyebrow) { max-width:470px; margin:0; color:#405447; font-size:1.04rem; line-height:1.55; }
.gx-field-proof__map { position:relative; min-height:420px; margin:0; overflow:hidden; background:#102a20; }
.gx-field-proof__map img { width:100%; height:100%; object-fit:cover; }
.gx-field-proof__map figcaption { position:absolute; right:1rem; bottom:1rem; max-width:250px; padding:1rem 1.1rem; background:rgba(7,21,14,.88); color:#fff; font-size:.78rem; line-height:1.4; }
.gx-field-proof__map figcaption b { display:block; margin-bottom:.25rem; color:#c9ef91; font-size:.65rem; letter-spacing:.1em; text-transform:uppercase; }
@media (max-width:800px) { .gx-field-proof { grid-template-columns:1fr; }.gx-hero--marketing { min-height:68vh; }.gx-field-proof__map { min-height:320px; } }
@media (max-width:520px) { .gx-hero--marketing { min-height:62vh; }.gx-field-proof__map { min-height:260px; } }
.gx-coverage-banner { position:relative; min-height:540px; margin:clamp(4rem,9vw,8rem) 0 0; display:flex; align-items:end; overflow:hidden; background:#102a20; }
.gx-coverage-banner>img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; }
.gx-coverage-banner::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,rgba(5,20,13,.92),rgba(5,20,13,.43) 70%,rgba(5,20,13,.15)); }
.gx-coverage-banner>div { position:relative; z-index:1; max-width:570px; padding:clamp(1.5rem,5vw,4rem); color:#fff; }
.gx-coverage-banner h2 { margin:0 0 1rem; color:#fff; font-size:clamp(2.2rem,4.8vw,4.6rem); line-height:.95; }
.gx-coverage-banner>div>p:not(.gx-eyebrow) { max-width:470px; color:#f4f8f1; line-height:1.55; }
.gx-coverage-banner a[role="button"] { margin:1rem 0 0; border-radius:0; background:#c9ef91; border-color:#c9ef91; color:#102a20; }
.gx-coverage-banner a[role="button"]:hover { background:#fff; border-color:#fff; }
@media (max-width:520px) { .gx-coverage-banner { min-height:500px; }.gx-coverage-banner::after { background:linear-gradient(180deg,rgba(5,20,13,.82),rgba(5,20,13,.34)); } }

/* Product-first marketing block for the alternate home. */
.gx-product-showcase { display:grid; grid-template-columns:1.08fr .92fr; gap:clamp(1.5rem,4vw,4rem); align-items:stretch; padding:clamp(2.5rem,6vw,5.5rem) 0; border-bottom:1px solid #c8d0c7; }
.gx-product-showcase__visual { position:relative; min-height:520px; overflow:hidden; background:#dfe9d7; }
.gx-product-showcase__visual img { width:100%; height:100%; object-fit:cover; object-position:center; }
.gx-product-showcase__label { position:absolute; left:1rem; bottom:1rem; max-width:220px; padding:.8rem 1rem; background:#102a20; color:#fff; font-size:.72rem; font-weight:700; line-height:1.35; }
.gx-product-showcase__label b { display:block; margin-bottom:.25rem; color:#c9ef91; font-size:.62rem; letter-spacing:.12em; }
.gx-product-showcase__copy { display:flex; flex-direction:column; justify-content:center; padding:clamp(.5rem,2vw,2rem) 0; }
.gx-product-showcase__copy h2 { max-width:550px; margin:0 0 1.25rem; color:#102a20; font-size:clamp(2.25rem,4.8vw,4.7rem); line-height:.95; }
.gx-product-showcase__copy > p:not(.gx-eyebrow) { max-width:510px; color:#405447; font-size:1.04rem; line-height:1.55; }
.gx-product-showcase__gallery { display:grid; grid-template-columns:repeat(2,1fr); gap:.75rem; margin:2rem 0 0; }
.gx-product-showcase__gallery figure { position:relative; min-height:150px; margin:0; overflow:hidden; background:#c8d0c7; }
.gx-product-showcase__gallery img { width:100%; height:100%; object-fit:cover; }
.gx-product-showcase__gallery figcaption { position:absolute; right:.55rem; bottom:.55rem; left:.55rem; padding:.45rem .55rem; background:rgba(16,42,32,.88); color:#fff; font-size:.62rem; font-weight:700; line-height:1.2; }
.gx-product-showcase__copy a[role="button"] { align-self:flex-start; margin-top:1.6rem; border-radius:0; background:#102a20; border-color:#102a20; }
.gx-product-showcase__copy a[role="button"]:hover { background:#315f22; border-color:#315f22; }
@media (max-width:800px) { .gx-product-showcase { grid-template-columns:1fr; }.gx-product-showcase__visual { min-height:430px; }.gx-product-showcase__copy { padding:0; } }
@media (max-width:460px) { .gx-product-showcase__gallery { grid-template-columns:1fr; }.gx-product-showcase__gallery figure { min-height:190px; } }

/* Scala tipografica più compatta e pagine delle soluzioni */
.gx-hero h1 { font-size:clamp(2.5rem,5vw,4.8rem); line-height:.98; }
.gx-lead { font-size:clamp(.98rem,1.35vw,1.1rem); }
.gx-statement h2,.gx-section-heading h2,.gx-system h2,.gx-final-cta h2 { font-size:clamp(2.1rem,4.2vw,3.8rem); line-height:1; }
.gx-statement>p:last-child { font-size:1.05rem; }
.gx-product h3 { font-size:1.45rem; line-height:.95; }
.gx-product { display:block; color:inherit; text-decoration:none; transition:background .2s ease,transform .2s ease; }
.gx-product small { display:block; min-height:1.2rem; margin:-.45rem 0 .85rem; color:#315f22; font-size:.67rem; font-weight:800; line-height:1.2; letter-spacing:.03em; text-transform:uppercase; }
.gx-product:hover { background:#e5eddc; color:inherit; transform:translateY(-3px); }
.gx-product--featured:hover { background:#81be45; }
.gx-solution { background:#f3f5ef; color:#14251e; }
.gx-solution main.container { max-width:1120px; padding:16px 24px 48px; }
.gx-solution h1,.gx-solution h2,.gx-solution h3 { letter-spacing:-.04em; }
.gx-solution-hero { padding:clamp(3.5rem,8vw,6rem); background:#102a20; color:#f4f6ee; }
.gx-solution-hero h1 { max-width:760px; margin:.35rem 0 1.2rem; color:#fff; font-size:clamp(2.4rem,5vw,4.6rem); line-height:1; }
.gx-hero-action { margin-top:3.4rem; }.gx-hero-action a[role="button"] { display:inline-flex; align-items:center; gap:2rem; margin:0; padding:.95rem 1.15rem; border-radius:0; background:#c9ef91; border-color:#c9ef91; color:#102a20; font-weight:800; }.gx-hero-action a[role="button"]:hover { background:#fff; border-color:#fff; color:#102a20; }.gx-hero-action span { font-size:1.2rem; line-height:1; }
.gx-service-italian { margin:.1rem 0 .5rem; color:#c9ef91!important; font-size:.85rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.gx-solution-hero .lead { max-width:660px; margin:0; color:#d1ddd0; font-size:clamp(1rem,1.6vw,1.18rem); line-height:1.55; }
.gx-solution-intro { max-width:760px; padding:clamp(3rem,7vw,6rem) 0; font-size:1.1rem; line-height:1.6; }
.gx-benefit-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(.75rem,1.5vw,1.25rem); margin-top:clamp(3rem,6vw,5rem); margin-bottom:clamp(4rem,8vw,7rem); }
.gx-benefit { min-height:190px; padding:1.5rem; background:#fff; }
.gx-benefit b { display:block; margin-bottom:.7rem; font-size:1.15rem; }
.gx-benefit p { margin:0; color:#506057; font-size:.9rem; line-height:1.5; }
.gx-service-catalog { margin:0 0 clamp(4rem,8vw,7rem); }
.gx-catalog-index { display:flex; flex-wrap:wrap; gap:.5rem; margin:0 0 clamp(3rem,6vw,5rem); }
.gx-catalog-index a { margin:0; padding:.6rem .8rem; border:1px solid #b8c6b6; border-radius:0; color:#183225; background:#fff; font-size:.78rem; text-decoration:none; }
.gx-catalog-index a:hover { background:#dfe9d7; color:#183225; }
.gx-service-catalog>h2 { margin-bottom:.7rem; font-size:clamp(1.9rem,3.5vw,3rem); }
.gx-service-catalog>p { max-width:700px; margin-bottom:2rem; color:#506057; line-height:1.55; }
.gx-service-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1px; border:1px solid #c8d0c7; background:#c8d0c7; }
.gx-service { padding:1.25rem 1.4rem; background:#fff; }
.gx-service h3 { margin:0 0 .3rem; font-size:1.05rem; line-height:1.15; }
.gx-service small { display:block; margin-bottom:.7rem; color:#6db52b; font-size:.72rem; font-weight:700; letter-spacing:.04em; }
.gx-service p { margin:0; color:#506057; font-size:.86rem; line-height:1.45; }
.gx-service-portfolio { display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,7vw,7rem); align-items:end; margin:clamp(3.5rem,8vw,7rem) 0; padding:clamp(2rem,5vw,4rem); background:#dfe9d7; }.gx-service-portfolio h2 { max-width:580px; margin:.2rem 0 0; color:#102a20; font-size:clamp(1.9rem,3.8vw,3.2rem); line-height:1.05; letter-spacing:-.045em; }.gx-service-portfolio>div>p:not(.gx-eyebrow) { max-width:520px; color:#324b3b; line-height:1.55; }.gx-service-portfolio a[role="button"] { margin:1rem 0 0; border-radius:0; background:#102a20; border-color:#102a20; }
.gx-quote { margin:clamp(3rem,7vw,6rem) 0; }.gx-quote>div { max-width:760px; margin:0 0 2rem; }.gx-quote h2 { margin:.2rem 0 1rem; font-size:clamp(2rem,4vw,3.4rem); line-height:1.02; }.gx-quote>div>p { color:#405447; line-height:1.55; }.gx-quote form { margin:0; padding:clamp(1.7rem,5vw,4rem); border:1px solid #b8cbb4; background:#dfe9d7; box-shadow:0 16px 35px rgba(16,42,32,.1); }.gx-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.5rem; }.gx-quote label { color:#294431; font-size:.84rem; font-weight:800; }.gx-quote input,.gx-quote select { height:3.25rem; margin:.55rem 0 0; background:#fff; border-color:#789474; box-shadow:none; }.gx-quote button { width:100%; margin:2rem 0 0; padding:1rem 1.2rem; border-radius:0; background:#102a20; border-color:#102a20; font-size:1rem; font-weight:800; }.gx-quote button:hover { background:#315f22; border-color:#315f22; }.gx-honeypot { position:absolute; left:-9999px; }.gx-form-error { margin:1rem 0 0; color:#8b1e18; font-weight:700; }
.gx-form-privacy { max-width:650px; margin:1.6rem 0 -1rem; color:#405447; font-size:.76rem; line-height:1.45; }
.gx-config-result { margin-top:1.8rem; padding:1.5rem; background:#102a20; color:#fff; }.gx-config-result h3 { margin:.2rem 0 1rem; color:#fff; font-size:1.6rem; }.gx-config-result ul { margin:0 0 1.3rem; padding:0; list-style:none; }.gx-config-result li { padding:.5rem 0; border-top:1px solid rgba(255,255,255,.2); color:#f4f8f1; }.gx-config-result li::before { content:'✓'; margin-right:.6rem; color:#c9ef91; font-weight:800; }.gx-config-result a[role="button"] { margin:0; border-radius:0; background:#c9ef91; border-color:#c9ef91; color:#102a20; }
.gx-solution-cta { padding:clamp(2.5rem,6vw,4.5rem); background:#dfe9d7; }
.gx-solution-cta h2 { max-width:650px; margin-top:0; font-size:clamp(1.9rem,3.8vw,3.2rem); line-height:1.05; }
.gx-solution-cta p { max-width:600px; line-height:1.55; }
.gx-text-link { display:inline-flex; align-items:center; gap:.75rem; margin-top:1.7rem; color:#183225; font-weight:800; text-decoration:none; }.gx-text-link span { color:#5b9d29; font-size:1.25em; }.gx-text-link:hover { color:#315f22; text-decoration:underline; }
.gx-proof { margin:0 0 clamp(4rem,8vw,7rem); padding:clamp(2rem,5vw,4rem); border:1px solid #b8cbb4; background:#fff; }.gx-proof h2 { max-width:760px; margin:.2rem 0 .8rem; color:#102a20; font-size:clamp(1.7rem,3.3vw,2.85rem); line-height:1.06; }.gx-proof p { max-width:620px; margin:0; color:#405447; line-height:1.55; }
.gx-passport-hero { position:relative; overflow:hidden; }.gx-passport-hero::after { content:'SOIL'; position:absolute; right:-.07em; bottom:-.2em; color:rgba(201,239,145,.09); font-size:clamp(7rem,23vw,19rem); font-weight:900; line-height:.7; letter-spacing:-.12em; pointer-events:none; }.gx-passport-hero>* { position:relative; z-index:1; }.gx-passport-statement { max-width:860px; padding:clamp(4rem,9vw,8rem) 0; }.gx-passport-statement h2,.gx-passport-layers h2,.gx-passport-loop h2 { margin:.2rem 0 1.3rem; color:#102a20; font-size:clamp(2.2rem,4.5vw,4rem); line-height:1; }.gx-passport-statement em,.gx-passport-loop em { color:#5b9d29; font-style:normal; }.gx-passport-statement>p:last-child { max-width:720px; color:#405447; font-size:1.08rem; line-height:1.6; }.gx-passport-layers { margin:0 0 clamp(4rem,8vw,7rem); }.gx-passport-layers>div:first-child { max-width:680px; margin-bottom:2rem; }.gx-passport-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; border:1px solid #b8cbb4; background:#b8cbb4; }.gx-passport-grid article { min-height:230px; margin:0; padding:1.4rem; background:#fff; }.gx-passport-grid span { color:#5b9d29; font:800 .75rem/1 monospace; }.gx-passport-grid h3 { margin:2.5rem 0 .7rem; color:#102a20; font-size:1.2rem; }.gx-passport-grid p { margin:0; color:#506057; font-size:.88rem; line-height:1.5; }.gx-passport-loop { display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(2rem,8vw,7rem); align-items:center; margin:0 0 clamp(4rem,8vw,7rem); padding:clamp(2rem,5vw,4rem); background:#102a20; }.gx-passport-loop h2 { color:#fff; }.gx-passport-loop ol { margin:0; padding:0; list-style:none; border-top:1px solid rgba(255,255,255,.26); }.gx-passport-loop li { display:grid; grid-template-columns:150px 1fr; gap:1rem; padding:1rem 0; border-bottom:1px solid rgba(255,255,255,.2); }.gx-passport-loop b { color:#c9ef91; }.gx-passport-loop span { color:#f4f8f1; font-size:.9rem; line-height:1.4; }
.gx-passport-statement>p:not(.gx-passport-vision) { max-width:720px; color:#405447; font-size:1.08rem; line-height:1.6; }.gx-vision-line,.gx-passport-vision { margin:1.6rem 0 0!important; color:#183225!important; font-size:clamp(1.05rem,2vw,1.35rem)!important; line-height:1.35!important; }.gx-vision-line b,.gx-passport-vision b { color:#315f22; }.gx-passport-vision { max-width:680px; padding-top:1.35rem; border-top:1px solid #b8cbb4; }
.gx-field-twin { display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,8vw,8rem); align-items:center; margin:0 0 clamp(4rem,8vw,7rem); padding:clamp(2rem,5vw,4.5rem); background:#dfe9d7; }.gx-field-twin h2 { margin:.2rem 0 1.2rem; color:#102a20; font-size:clamp(2.1rem,4.3vw,3.8rem); line-height:1; }.gx-field-twin h2 br { display:block; }.gx-field-twin>div>p:not(.gx-eyebrow) { max-width:530px; color:#405447; line-height:1.55; }.gx-twin-board { position:relative; min-height:380px; overflow:hidden; border:1px solid #4f7354; background:#102a20; }.gx-twin-board::before,.gx-twin-board::after { content:''; position:absolute; top:50%; left:50%; width:230px; height:230px; border:1px solid rgba(201,239,145,.34); border-radius:50%; transform:translate(-50%,-50%); }.gx-twin-board::after { width:134px; height:134px; border-color:#c9ef91; }.gx-twin-board strong { position:absolute; z-index:2; top:50%; left:50%; color:#fff; font-size:1.15rem; line-height:.9; letter-spacing:-.05em; text-align:center; transform:translate(-50%,-50%); }.gx-twin-node { position:absolute; z-index:3; color:#c9ef91; font-size:.66rem; font-weight:800; line-height:1.15; letter-spacing:.08em; }.gx-twin-node b { display:block; margin-top:.25rem; color:#f4f8f1; font-size:.68rem; font-weight:500; letter-spacing:0; }.gx-twin-node--one { top:17%; left:10%; }.gx-twin-node--two { top:17%; right:9%; }.gx-twin-node--three { bottom:17%; left:10%; }.gx-twin-node--four { right:9%; bottom:17%; }.gx-twin-board i { position:absolute; z-index:1; top:50%; left:50%; width:1px; height:150px; background:rgba(201,239,145,.48); transform-origin:top; }.gx-twin-board i:nth-of-type(1) { transform:rotate(45deg); }.gx-twin-board i:nth-of-type(2) { transform:rotate(135deg); }.gx-twin-board i:nth-of-type(3) { transform:rotate(225deg); }.gx-twin-board i:nth-of-type(4) { transform:rotate(315deg); }
.gx-scope-note { margin:0 0 clamp(4rem,8vw,7rem); padding:clamp(1.8rem,4vw,3.25rem); border-left:5px solid #5b9d29; background:#fff; }.gx-scope-note h2 { margin:.2rem 0 1rem; color:#102a20; font-size:clamp(1.75rem,3.4vw,2.9rem); line-height:1.05; }.gx-scope-note p:not(.gx-eyebrow) { max-width:800px; margin:0; color:#405447; line-height:1.6; }
.gx-system-visual--data { display:block; }.gx-system-visual--data::before { width:250px; height:250px; border-color:rgba(201,239,145,.45); }.gx-system-visual--data::after { content:''; position:absolute; top:50%; left:50%; width:138px; height:138px; border:1px solid #c9ef91; border-radius:50%; transform:translate(-50%,-50%); }.gx-system-visual--data>strong { position:absolute; z-index:2; top:50%; left:50%; color:#fff; font-size:1.05rem; line-height:.9; letter-spacing:-.05em; text-align:center; transform:translate(-50%,-50%); }.gx-system-chip { position:absolute; z-index:3; color:#c9ef91; font-size:.63rem; font-weight:800; letter-spacing:.08em; line-height:1.1; }.gx-system-chip b { display:block; margin-top:.25rem; color:#f4f8f1; font-size:.65rem; font-weight:500; letter-spacing:0; }.gx-system-chip--one { top:15%; left:10%; }.gx-system-chip--two { top:15%; right:10%; }.gx-system-chip--three { bottom:15%; left:10%; }.gx-system-chip--four { right:10%; bottom:15%; }
@media (max-width:720px) { .gx-benefit-grid,.gx-service-grid,.gx-service-portfolio,.gx-quote,.gx-form-grid,.gx-passport-loop,.gx-field-twin { grid-template-columns:1fr; }.gx-passport-grid { grid-template-columns:repeat(2,1fr); }.gx-solution main.container { padding:12px; } }
@media (max-width:460px) { .gx-passport-grid { grid-template-columns:1fr; }.gx-passport-loop li { grid-template-columns:1fr; gap:.25rem; } }
@media (max-width:520px) { #header { padding:0 .55rem; }.gx-header-cta { padding:.45rem .55rem; font-size:.65rem; }.gx-brand strong { font-size:.82rem; } .gx-brand span { font-size:.49rem; } main.container { margin-top:76px; padding:12px; } }
