:root{--green:#2f7d32;--green-dark:#173f12;--green-deep:#0c260b;--lime:#83bd4d;--ink:#233022;--paper:#f7f8f3;--line:#dfe7da;--max:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:#fff;line-height:1.65}a{color:inherit}img{max-width:100%;display:block}.wrap{width:min(var(--max),calc(100% - 40px));margin:auto}.site-header{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(8px)}.nav{min-height:72px;display:flex;align-items:center;gap:28px}.brand{color:var(--green);text-decoration:none}.brand-logo{display:flex;align-items:center;flex:0 0 auto}.brand-logo img{width:190px;height:auto;max-height:50px;object-fit:contain}.navlinks{display:flex;gap:22px;margin-left:auto;align-items:center}.navlinks a{text-decoration:none;font-weight:600;font-size:.94rem}.navlinks a:hover{color:var(--green)}.drop{position:relative}.drop>button{font:inherit;font-weight:600;background:none;border:0;padding:18px 0;color:inherit;cursor:pointer}.submenu{display:none;position:absolute;top:55px;left:-18px;background:#fff;min-width:260px;border:1px solid var(--line);box-shadow:0 12px 35px #0002;padding:8px}.submenu a{display:block;padding:10px 12px}.drop:hover .submenu,.drop:focus-within .submenu{display:block}.menu-btn{display:none;margin-left:auto;border:1px solid var(--line);background:#fff;border-radius:8px;padding:9px 12px;font-weight:700}.hero picture,.hero img{width:100%}.hero img{height:auto}.section{padding:76px 0}.section.alt{background:var(--paper)}.eyebrow{text-transform:uppercase;letter-spacing:.15em;font-size:.78rem;font-weight:800;color:var(--green)}h1,h2,h3{line-height:1.15;color:var(--green-deep)}h2{font-size:clamp(2rem,4vw,3.2rem);margin:.25em 0 .55em}h3{font-size:1.35rem}.lead{font-size:1.14rem;max-width:820px}.split{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr);gap:64px;align-items:center}.section-copy{min-width:0}.section-copy p{margin:0 0 1.15em}.section-image{width:100%;border-radius:14px;aspect-ratio:4/3;object-fit:cover;box-shadow:0 10px 30px #173f1214}.section-image-tall{aspect-ratio:4/5}.master-list{padding-left:1.25rem;margin:1.1rem 0 1.4rem}.master-list li{margin:.48rem 0}.service-intro{padding-bottom:12px}.service-section{padding-top:28px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:32px}.card{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:0 8px 24px #1d4d1610}.card img{width:100%;aspect-ratio:16/10;object-fit:cover}.card .pad{padding:24px}.card a,.cta{display:inline-block;color:#fff;background:var(--green);text-decoration:none;font-weight:700;padding:11px 16px;border-radius:8px}.values{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:28px}.value{padding:18px;background:#fff;border-left:4px solid var(--lime);box-shadow:0 5px 18px #0000000d}.feature-links{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:30px}.feature{padding:30px;border-radius:16px;background:var(--green-deep);color:#fff}.feature h3{color:#fff}.feature a{color:#cce9a8;font-weight:700}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:48px}.contact-list{list-style:none;padding:0}.contact-list li{margin:10px 0}.form{display:grid;gap:14px}.form label{font-weight:700}.form input,.form textarea{width:100%;padding:12px;border:1px solid #bccbb6;border-radius:8px;font:inherit}.form textarea{min-height:150px}.form button{justify-self:start;border:0;background:var(--green);color:#fff;padding:12px 20px;border-radius:8px;font-weight:800}.note{font-size:.9rem;color:#5c6759}.page-hero{padding:72px 0 40px;background:linear-gradient(135deg,var(--green-deep),#315d1e);color:#fff}.page-hero h1{color:#fff;font-size:clamp(2.2rem,5vw,4rem);margin:.1em 0}.content{padding:56px 0}.long-list article{padding:18px 0;border-bottom:1px solid var(--line)}.long-list article:first-child{padding-top:0}.policy h2{font-size:1.55rem;margin-top:2em}.footer{background:#102b0d;color:#eaf3e4;padding:54px 0 22px}.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1.1fr 1fr;gap:32px}.footer h3{color:#fff;font-size:1rem}.footer a{color:#eaf3e4}.footer ul{list-style:none;padding:0}.footer-bottom{margin-top:34px;padding-top:18px;border-top:1px solid #ffffff26;font-size:.88rem}.skip{position:absolute;left:-9999px}.skip:focus{left:10px;top:10px;background:#fff;padding:8px;z-index:99}
@media(max-width:960px){.brand-logo img{width:160px}.navlinks{gap:15px}.navlinks a,.drop>button{font-size:.88rem}}
@media(max-width:860px){.menu-btn{display:block}.navlinks{display:none;position:absolute;left:0;right:0;top:72px;background:#fff;padding:18px 20px;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch}.navlinks.open{display:flex}.drop>button{padding:0}.submenu{display:block;position:static;border:0;box-shadow:none;padding:4px 0 0 14px}.split,.contact-grid{grid-template-columns:1fr}.cards{grid-template-columns:1fr}.values{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr 1fr}.feature-links{grid-template-columns:1fr}.section{padding:58px 0}}
@media(max-width:560px){.wrap{width:min(100% - 28px,var(--max))}.values,.footer-grid{grid-template-columns:1fr}.section{padding:48px 0}.nav{min-height:64px}.navlinks{top:64px}.brand-logo img{width:145px}.section-image,.section-image-tall{aspect-ratio:4/3}.hero source,.hero img{width:100%}}

.publications{max-width:1050px}.pub-year{margin:0 0 48px}.pub-year>h2{font-size:2rem;padding-bottom:10px;border-bottom:2px solid var(--line)}.publication{padding:14px 0;border-bottom:1px solid var(--line)}.publication p{margin:0;line-height:1.72}

/* v0.3 */
.split{grid-template-columns:minmax(0,.82fr) minmax(480px,1.18fr);gap:52px}
.split:has(.section-image:first-child){grid-template-columns:minmax(480px,1.18fr) minmax(0,.82fr)}
.section-image{aspect-ratio:16/11;min-height:430px}
.section-image-tall{aspect-ratio:4/5;min-height:560px}
.values-inline{display:grid;grid-template-columns:repeat(4,1fr);margin-top:20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.value-inline{padding:20px 18px;font-weight:700;line-height:1.35;display:flex;align-items:center}
.value-inline+.value-inline{border-left:3px solid var(--green)}
.references-list article{padding:18px 0;border-bottom:1px solid var(--line)}
.references-list article p{margin:0;line-height:1.68}
.pub-year{scroll-margin-top:90px}
@media(max-width:860px){
 .split,.split:has(.section-image:first-child){grid-template-columns:1fr}
 .section-image,.section-image-tall{min-height:0;aspect-ratio:16/11}
 .values-inline{grid-template-columns:1fr 1fr}
 .value-inline:nth-child(3){border-left:0;border-top:1px solid var(--line)}
 .value-inline:nth-child(4){border-top:1px solid var(--line)}
}
@media(max-width:560px){
 .values-inline{grid-template-columns:1fr}
 .value-inline+.value-inline,.value-inline:nth-child(3),.value-inline:nth-child(4){border-left:0;border-top:3px solid var(--green)}
}


/* v0.4 — griglia editoriale e immagini */
:root{--max:1280px}
.section{padding:88px 0}
.editorial-row{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(390px,.88fr);gap:64px;align-items:start;margin-top:38px}
.editorial-row.image-right{grid-template-columns:minmax(390px,.88fr) minmax(0,1.12fr)}
.editorial-image{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;border-radius:12px;box-shadow:0 12px 34px #173f1214}
.editorial-row h3{font-size:1.75rem;margin:.05em 0 .75em}
.monitoring-nature{margin-top:76px;padding-top:70px;border-top:1px solid var(--line)}
.experience-photo{margin-bottom:46px;overflow:hidden;border-radius:12px}
.experience-photo img{width:100%;height:auto;aspect-ratio:16/8.2;object-fit:cover;object-position:center 54%}
.experience-copy{max-width:none;margin:0}
.experience-copy h2{max-width:760px}
.values-inline{margin-top:28px}
.page-hero-photo{position:relative;overflow:hidden;background:var(--green-deep)}
.page-hero-photo:before{content:"";position:absolute;inset:0 0 0 48%;background-image:linear-gradient(90deg,var(--green-deep) 0%,rgba(12,38,11,.82) 22%,rgba(12,38,11,.18) 72%),url("img/referenze-testata.png");background-size:cover;background-position:center 48%;opacity:.82}
.page-hero-photo .wrap{position:relative;z-index:1}
.page-hero-photo .wrap{max-width:1280px}
.page-hero-photo p{max-width:610px}
@media(min-width:861px){
 #consulenza .split{grid-template-columns:minmax(0,1.08fr) minmax(430px,.92fr);align-items:start;gap:62px}
 #consulenza .section-image{aspect-ratio:16/11;min-height:0}
 #studi .split{grid-template-columns:minmax(0,.92fr) minmax(480px,1.08fr);align-items:start}
}
@media(max-width:860px){
 .editorial-row,.editorial-row.image-right{grid-template-columns:1fr;gap:30px}
 .editorial-row.image-right .section-copy{order:2}.editorial-row.image-right .editorial-image{order:1}
 .monitoring-nature{margin-top:54px;padding-top:50px}
 .experience-photo img{aspect-ratio:16/10}
 .page-hero-photo:before{inset:0;opacity:.35;background-image:linear-gradient(90deg,var(--green-deep),rgba(12,38,11,.45)),url("img/referenze-testata.png")}
}


/* v0.5 — rifiniture finali di composizione */
html{scroll-padding-top:86px}
#chi-siamo,#servizi,#consulenza,#studi,#monitoraggio,#esperienza,#referenze-pubblicazioni,#contatti{scroll-margin-top:86px}

/* Chi siamo: quando raggiunto dal menu resta visivamente autonomo */
@media(min-width:861px){
  #chi-siamo{min-height:calc(100vh - 72px);display:flex;align-items:center}
}

/* Servizi: intestazione più vicina al primo contenuto */
#servizi.service-intro{padding:50px 0 8px}
#servizi h2{margin:.12em 0 0}
#consulenza.service-section{padding-top:24px}
#consulenza .section-copy h2,
#studi .section-copy h2{margin-top:0}

/* Allineamento più netto tra fotografie e titoli nei blocchi Servizi */
#consulenza .split,#studi .split{align-items:start}
#consulenza .section-image,#studi .section-image{margin-top:0}

/* Elenchi editoriali: niente pallini, niente righe orizzontali */
.master-list{list-style:none;padding-left:0;margin:1rem 0 1.45rem}
.master-list li{position:relative;margin:.28rem 0;padding:.12rem 0 .12rem 15px;line-height:1.42}
.master-list li::before{content:"";position:absolute;left:0;top:.34rem;bottom:.34rem;width:3px;background:var(--lime);border-radius:2px}

/* Valori: solo barre verticali, come nella prima impostazione */
.values-inline{border:0;gap:0;margin-top:28px}
.value-inline{padding:18px 22px 18px 18px;font-weight:500;line-height:1.42;border-left:4px solid var(--lime)!important;border-top:0!important;background:transparent}
.value-inline+.value-inline{margin-left:14px}

/* Testata fotografica Pubblicazioni, stessa famiglia di Referenze */
.page-hero-publications{position:relative;overflow:hidden;background:var(--green-deep)}
.page-hero-publications:before{content:"";position:absolute;inset:0 0 0 48%;background-image:linear-gradient(90deg,var(--green-deep) 0%,rgba(12,38,11,.82) 22%,rgba(12,38,11,.18) 72%),url("img/pubblicazioni-testata.png");background-size:cover;background-position:center 45%;opacity:.80}
.page-hero-publications .wrap{position:relative;z-index:1;max-width:1280px}
.page-hero-publications p{max-width:610px}

/* Footer più leggero e gerarchico */
.footer{padding:58px 0 0;background:#102b0d}
.footer-grid{grid-template-columns:1.35fr .8fr 1.15fr;gap:54px;padding-bottom:42px}
.footer-brand h3{font-size:1.15rem;letter-spacing:.08em;margin-top:0}
.footer-brand p{font-size:1.08rem;line-height:1.55;max-width:430px;margin-bottom:0}
.footer h3{margin-top:0}
.footer ul{margin:0}
.footer-bottom{margin:0;border-top:2px solid rgba(131,189,77,.78);padding:18px 0 20px;display:flex;align-items:center;justify-content:space-between;gap:24px;font-size:.86rem}
.footer-legal{display:flex;gap:18px;flex-wrap:wrap;justify-content:flex-end}
.footer-legal a{text-decoration:none}
.footer-legal a:hover{text-decoration:underline}

@media(max-width:860px){
  #chi-siamo{min-height:0}
  .page-hero-publications:before{inset:0;opacity:.34;background-image:linear-gradient(90deg,var(--green-deep),rgba(12,38,11,.45)),url("img/pubblicazioni-testata.png")}
  .footer-grid{grid-template-columns:1fr 1fr;gap:34px}
  .footer-brand{grid-column:1/-1}
  .footer-bottom{align-items:flex-start;flex-direction:column;gap:10px}
  .footer-legal{justify-content:flex-start}
}
@media(max-width:560px){
  .value-inline+.value-inline{margin-left:0}
  .value-inline{margin:5px 0!important}
  .footer-grid{grid-template-columns:1fr}
  .footer-brand{grid-column:auto}
}


/* v0.6 — ritmo di navigazione e rifiniture */
@media(min-width:861px){
  #monitoraggio{padding-top:58px;padding-bottom:68px}
  #monitoraggio .editorial-row{margin-top:24px}
  #monitoraggio .monitoring-nature{margin-top:36px;padding-top:0;border-top:0}

  #esperienza{padding-top:60px}
  #esperienza .experience-photo{margin-bottom:28px}
  #esperienza .experience-photo img{aspect-ratio:16/6.9}

  #contatti{padding-top:48px;padding-bottom:42px}
  #contatti h2{margin-bottom:.34em}
  #contatti .contact-list li{margin:6px 0}
  #contatti .form{gap:9px}
  #contatti .form textarea{min-height:112px}
}
.values-heading{
  margin:2rem 0 .45rem!important;
  font-size:1.22rem;
  line-height:1.3;
  font-weight:800;
  color:var(--green-deep);
}
.values-heading + .values-inline{margin-top:14px}
.faithful-references article{padding:18px 0;border-bottom:1px solid var(--line)}
.faithful-references article:first-child{padding-top:0}
.faithful-references article p{margin:0}


/* v0.7 — rifiniture finali concordate */

/* Navbar bianca: maggiore separazione senza appesantire */
.site-header{
  background:rgba(255,255,255,.98);
  border-bottom:1px solid rgba(75,126,52,.24);
  box-shadow:0 2px 10px rgba(22,53,18,.055);
}

/* Contatti: più compatto per portare in vista anche la chiusura del footer */
@media(min-width:861px){
  #contatti{
    padding-top:38px;
    padding-bottom:30px;
    scroll-margin-top:68px;
  }
  #contatti h2{margin-top:0;margin-bottom:.25em}
  #contatti .contact-list{margin-top:12px;margin-bottom:12px}
  #contatti .contact-list li{margin:4px 0}
  #contatti .form{gap:8px}
  #contatti .form textarea{min-height:96px}
  #contatti .form button{margin-top:2px}
  #contatti + .site-footer{margin-top:0}
}

/* Mantiene l'enfasi approvata sui valori */
.values-heading{
  font-size:1.22rem;
  font-weight:800;
  color:var(--green-deep);
}


/* v0.8 — verifica e rifinitura responsive */

/* Hero: nessun ritaglio; mobile usa il file verticale 1080x1350 */
.hero picture,.hero picture source,.hero picture img{display:block;width:100%}
.hero img{height:auto;object-fit:contain}

/* Tablet */
@media (min-width:561px) and (max-width:860px){
  .wrap{width:min(var(--max),calc(100% - 48px))}
  .section{padding:54px 0}
  .editorial-row,.editorial-row.image-right{gap:26px}
  .editorial-image,.section-image{max-height:520px}
  .values-inline{grid-template-columns:1fr 1fr}
  .value-inline{min-height:88px}
  .contact-grid{gap:28px}
  .site-footer .footer-main{gap:26px}
}

/* Smartphone */
@media (max-width:560px){
  body{font-size:16px}
  .hero{overflow:hidden}
  .hero img{width:100%;height:auto}
  .section{padding:44px 0}
  h2{font-size:clamp(1.9rem,10vw,2.55rem)}
  .editorial-row,.editorial-row.image-right{margin-top:24px;gap:22px}
  .editorial-row.image-right .section-copy{order:1}
  .editorial-row.image-right .editorial-image{order:2}
  .editorial-image,.section-image,.section-image-tall{border-radius:10px}
  .master-list{padding-left:0}
  .values-heading{margin-top:1.55rem!important}
  .values-inline{gap:12px}
  .value-inline{padding:9px 0 9px 14px}
  .contact-grid{gap:24px}
  #contatti{padding-top:40px;padding-bottom:34px}
  .form input,.form textarea{font-size:16px}
  .footer{padding-top:42px}
}

/* Menu mobile: aree cliccabili più comode */
@media (max-width:860px){
  .menu-btn{min-height:44px;min-width:44px}
  .navlinks a,.drop>button{min-height:44px;display:flex;align-items:center}
  .submenu a{min-height:42px}
}


/* v0.9 — correzione menu mobile + prova densità elenchi */
@media(max-width:860px){
  .navlinks{
    max-height:calc(100vh - 72px);
    overflow-y:auto;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
  }
  .drop>button{
    width:100%;
    justify-content:space-between;
    text-align:left;
  }
  .drop .submenu{
    display:none;
    position:static;
    border:0;
    box-shadow:none;
    padding:4px 0 4px 14px;
  }
  .drop.open .submenu{display:block}
}
@media(max-width:560px){
  .navlinks{max-height:calc(100vh - 64px)}
}

/* Prova più compatta, solo pagine Referenze e Pubblicazioni */
@media(min-width:861px){
  .faithful-references article{padding:14px 0}
  .faithful-references article p{line-height:1.56}
  .publication{padding:11px 0}
  .publication p{line-height:1.58}
  .pub-year{margin-bottom:40px}
}


/* v0.10 — densità Referenze/Pubblicazioni su tablet e smartphone.
   Desktop resta invariato rispetto alla v0.9. */
@media(max-width:860px){
  .faithful-references article{padding:13px 0}
  .faithful-references article p{line-height:1.58}
  .publication{padding:11px 0}
  .publication p{line-height:1.60}
  .pub-year{margin-bottom:34px}
}
@media(max-width:560px){
  .faithful-references article{padding:11px 0}
  .faithful-references article p{line-height:1.55}
  .publication{padding:9px 0}
  .publication p{line-height:1.57}
  .pub-year{margin-bottom:30px}
}
