:root{
  --verde:#24503F;
  --verde-scuro:#163327;
  --verde-pallido:#E9F0EA;
  --panna:#FBFAF8;
  --inchiostro:#1B211E;
  --pietra:#5F6E67;
  --ocra:#A8712A;
  --bordo:#D7DED8;
  --misura:34rem;
}

*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  *{animation-duration:.01ms !important;transition-duration:.01ms !important;}
}
body{
  margin:0;
  background:var(--panna);
  color:var(--inchiostro);
  font-family:"Archivo",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  font-size:19px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block;}
a{color:var(--verde);}

h1,h2,h3{margin:0;line-height:1.12;letter-spacing:-0.02em;font-weight:700;}
h1{font-size:clamp(2.15rem,6.2vw,3.9rem);}
h2{margin-bottom:1rem;}
h2{font-size:clamp(1.6rem,4vw,2.5rem);}
h3{font-size:1.16rem;letter-spacing:-0.01em;font-weight:600;line-height:1.3;}
p{margin:0 0 1.1em;max-width:var(--misura);}

.wrap{width:min(72rem,100% - 2.5rem);margin-inline:auto;}
.sezione{padding-block:clamp(3.5rem,8vw,6.5rem);}

.salta{position:absolute;left:-9999px;}
.salta:focus{left:1rem;top:1rem;z-index:99;background:var(--verde);color:#fff;padding:.7rem 1rem;border-radius:4px;}

:where(a,button,input,textarea,summary):focus-visible{
  outline:3px solid var(--ocra);
  outline-offset:2px;
}

/* ---------- intestazione ---------- */
.testata{
  border-bottom:1px solid var(--bordo);
  background:var(--panna);
}
.testata .wrap{
  display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;
  align-items:baseline;justify-content:space-between;
  padding-block:1.1rem;
}
.marchio{font-weight:700;font-size:1.05rem;letter-spacing:-0.01em;text-decoration:none;color:var(--inchiostro);}
.marchio span{display:block;font-weight:500;font-size:.83rem;letter-spacing:.01em;color:var(--pietra);}
.tel-testata{font-weight:600;text-decoration:none;white-space:nowrap;}
.tel-testata:hover{text-decoration:underline;}

/* ---------- hero ---------- */
.hero{padding-top:clamp(2.5rem,6vw,4.5rem);padding-bottom:clamp(2.5rem,6vw,4.5rem);}
.hero-griglia{display:grid;gap:clamp(2rem,5vw,3.5rem);align-items:center;}
@media (min-width:64rem){
  .hero-griglia{grid-template-columns:1.05fr .95fr;}
}
.hero p.occhiello{
  font-size:.95rem;font-weight:600;color:var(--verde);
  margin:0 0 1rem;
}
.hero h1{margin-bottom:1.2rem;color:var(--verde-scuro);}
.hero .sommario{font-size:1.16rem;color:var(--pietra);max-width:30rem;}
picture{display:block;}
.hero-foto{border-radius:3px;aspect-ratio:5/4;object-fit:cover;width:100%;}

.azioni{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.8rem;}
.bottone{
  display:inline-flex;align-items:center;gap:.55rem;
  padding:.95rem 1.5rem;border-radius:3px;
  font-weight:600;font-size:1.02rem;text-decoration:none;
  min-height:52px;
}
.bottone-pieno{background:var(--verde);color:#fff;}
.bottone-pieno:hover{background:var(--verde-scuro);}
.bottone-vuoto{background:transparent;color:var(--verde-scuro);box-shadow:inset 0 0 0 2px var(--verde);}
.bottone-vuoto:hover{background:var(--verde-pallido);}

/* ---------- fascia domicilio ---------- */
.fascia-verde{background:var(--verde);color:#fff;}
.fascia-verde h2{color:#fff;max-width:22ch;}
.fascia-verde h3{color:#fff;margin-bottom:.5rem;}
.fascia-verde p{color:#D5E2D8;}
.motivi{
  display:grid;gap:2.2rem;margin-top:2.8rem;
}
@media (min-width:48rem){ .motivi{grid-template-columns:repeat(3,1fr);gap:2.5rem;} }
.motivi > div{border-top:2px solid rgba(255,255,255,.28);padding-top:1.1rem;}
.motivi p{margin-bottom:0;font-size:1rem;}

/* ---------- servizi ---------- */
.due-colonne{display:grid;gap:clamp(2rem,5vw,4rem);}
@media (min-width:60rem){ .due-colonne{grid-template-columns:1fr 1fr;align-items:start;} }
.colleghi .due-colonne{align-items:center;}
.elenco-servizi{list-style:none;margin:1.5rem 0 0;padding:0;}
.elenco-servizi li{
  padding:1.15rem 0;border-bottom:1px solid var(--bordo);
}
.elenco-servizi li:first-child{border-top:1px solid var(--bordo);}
.elenco-servizi strong{display:block;font-weight:600;font-size:1.05rem;}
.elenco-servizi span{color:var(--pietra);font-size:.97rem;}

.banda-foto{width:100%;max-width:1600px;margin-inline:auto;aspect-ratio:16/9;object-fit:cover;object-position:center 42%;}
@media (min-width:48rem){ .banda-foto{aspect-ratio:12/5;} }

/* ---------- chi sono ---------- */
.chi-sono{background:var(--verde-pallido);}
.ritratto{border-radius:3px;aspect-ratio:5/4;object-fit:cover;width:100%;}

/* ---------- colleghi ---------- */
.colleghi{border-top:1px solid var(--bordo);border-bottom:1px solid var(--bordo);}
.colleghi .wrap{padding-block:clamp(3rem,6vw,4.5rem);}
.colleghi h2{font-size:clamp(1.3rem,2.6vw,1.7rem);margin-bottom:.9rem;}
.colleghi p{max-width:34rem;color:var(--pietra);margin-bottom:0;}
.foto-colleghi{border-radius:3px;aspect-ratio:3/2;object-fit:cover;width:100%;}

/* ---------- zona ---------- */
.zona{font-size:.97rem;color:var(--pietra);max-width:44rem;}
.zona strong{color:var(--inchiostro);font-weight:600;}

/* ---------- contatti ---------- */
.recapiti{list-style:none;margin:1.6rem 0 0;padding:0;}
.recapiti li{margin-bottom:1.25rem;}
.recapiti .etichetta{display:block;font-size:.85rem;color:var(--pietra);font-weight:500;margin-bottom:.15rem;}
.recapiti a{font-size:1.18rem;font-weight:600;text-decoration:none;color:var(--verde-scuro);word-break:break-word;}
.recapiti a:hover{text-decoration:underline;}

form{margin-top:1.5rem;max-width:32rem;}
.campo{margin-bottom:1.15rem;}
.campo label{display:block;font-weight:600;font-size:.95rem;margin-bottom:.35rem;}
.campo input,.campo textarea{
  width:100%;padding:.8rem .9rem;font:inherit;font-size:1rem;
  border:1.5px solid var(--bordo);border-radius:3px;
  background:#fff;color:var(--inchiostro);
}
.campo input:focus,.campo textarea:focus{border-color:var(--verde);}
.campo textarea{min-height:8rem;resize:vertical;}
.nota-privacy{font-size:.87rem;color:var(--pietra);max-width:32rem;margin-top:1rem;}
button.invia{
  border:0;background:var(--verde);color:#fff;font:inherit;font-weight:600;
  padding:.95rem 2rem;border-radius:3px;cursor:pointer;min-height:52px;font-size:1.02rem;
}
button.invia:hover{background:var(--verde-scuro);}
.trappola{position:absolute;left:-9999px;}

/* ---------- piede ---------- */
.piede{background:var(--verde-scuro);color:#C3D3C7;font-size:.9rem;}
.piede .wrap{padding-block:2.5rem;}
.piede a{color:#fff;}
.piede p{max-width:48rem;margin-bottom:.5rem;}

/* ---------- barra mobile ---------- */
.barra-mobile{
  position:fixed;left:0;right:0;bottom:0;z-index:50;
  display:grid;grid-template-columns:1fr 1fr;
  border-top:1px solid rgba(0,0,0,.12);
  box-shadow:0 -2px 14px rgba(0,0,0,.13);
}
.barra-mobile a{
  display:flex;align-items:center;justify-content:center;gap:.5rem;
  padding:1rem .5rem;font-weight:600;text-decoration:none;font-size:1rem;
  min-height:60px;
}
.barra-mobile .chiama{background:var(--verde);color:#fff;}
.barra-mobile .whatsapp{background:#128C7E;color:#fff;}
@media (min-width:60rem){ .barra-mobile{display:none;} }
@media (max-width:59.99rem){ body{padding-bottom:60px;} }

svg.icona{width:1.15em;height:1.15em;flex:none;fill:currentColor;}

/* ---------- pagine interne ---------- */
.pagina-testo{padding-block:clamp(2.5rem,6vw,4.5rem);}
.pagina-testo h1{font-size:clamp(1.8rem,4.5vw,2.6rem);color:var(--verde-scuro);margin-bottom:1.5rem;}
.pagina-testo h2{font-size:1.25rem;margin:2.2rem 0 .7rem;color:var(--verde-scuro);}
.pagina-testo p,.pagina-testo li{max-width:40rem;}
.pagina-testo ul{padding-left:1.2rem;}
.pagina-testo li{margin-bottom:.4rem;}
.indietro{display:inline-block;margin-top:2.5rem;font-weight:600;}
.conferma{text-align:center;padding-block:clamp(4rem,12vw,8rem);}
.conferma h1,.conferma p{margin-inline:auto;}
.conferma p{max-width:34rem;}
.segno{
  width:64px;height:64px;border-radius:50%;background:var(--verde-pallido);
  display:grid;place-items:center;margin:0 auto 1.5rem;
}
.segno svg{width:30px;height:30px;fill:none;stroke:var(--verde);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;}
