/* Siti Web Pistoia — foglio di stile unico, layout "Vivaio"
   Organico e chiaro: riga d'annuncio verde, foto d'apertura "a finestra" con la scheda del titolo sull'angolo,
   onde morbide tra le sezioni, settori scorrevoli su mobile, pacchetti "a foglia", tappe 2×2 con numeri a contorno,
   domande ad accordion con il +, piè di pagina con il bordo alto molto arrotondato.
   Caratteri ospitati sul sito (nessuna chiamata esterna): Bricolage Grotesque per i titoli, Mulish per il testo. */

@font-face{font-family:"Bricolage Grotesque";font-style:normal;font-weight:400 800;font-stretch:100%;font-display:swap;src:url(/fonts/bricolage.woff2) format("woff2")}
@font-face{font-family:"Mulish";font-style:normal;font-weight:400 800;font-display:swap;src:url(/fonts/mulish.woff2) format("woff2")}

:root{
  --lino:#F1ECE4;
  --carta:#FBF8F3;
  --sabbia-chiara:#E8DFD1;
  --corteccia:#3A2F27;
  --testo-2:#74675C;
  --filetto:#DED4C7;
  --verde:#4F7942;
  --verde-scuro:#3D6131;
  --verde-tenue:#E2E9D8;
  --sabbia:#C9B79C;
  --wa:#1C8C4E;
  --ombra:0 1px 2px rgba(58,47,39,.06),0 16px 36px rgba(58,47,39,.10);
  --titoli:"Bricolage Grotesque","Segoe UI",system-ui,-apple-system,sans-serif;
  --testo:"Mulish","Segoe UI",system-ui,-apple-system,sans-serif;
  --wrap:1180px;
  color-scheme:light;
}

/* ---------- base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:96px}
body{margin:0;background:var(--lino);color:var(--corteccia);font-family:var(--testo);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:clip}
img,svg{max-width:100%;display:block}
a{color:var(--verde-scuro);text-underline-offset:3px;text-decoration-thickness:1.5px}
a:hover{color:var(--corteccia)}
h1,h2,h3,h4{font-family:var(--titoli);font-optical-sizing:auto;font-weight:700;line-height:1.1;letter-spacing:-.02em;margin:0 0 .5em;color:var(--corteccia)}
h1{font-size:clamp(2.5rem,6vw,4.5rem);font-weight:800;letter-spacing:-.035em;line-height:1.02}
h2{font-size:clamp(1.8rem,3.4vw,2.65rem)}
h3{font-size:1.18rem;letter-spacing:-.01em}
p{margin:0 0 1em}
ul,ol{margin:0 0 1em;padding-left:1.2em}
strong{font-weight:800}
:focus-visible{outline:3px solid var(--verde-scuro);outline-offset:3px;border-radius:6px}
.annuncio :focus-visible,.foglia.hot :focus-visible,.invito-box :focus-visible,.consiglio :focus-visible,.piede :focus-visible,.wa-fisso:focus-visible{outline-color:#fff}
.wrap{width:min(var(--wrap),100% - 32px);margin-inline:auto}
.stretto{width:min(800px,100% - 32px);margin-inline:auto}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.salta{position:absolute;left:-999px;top:8px;z-index:100;background:var(--carta);color:var(--corteccia);padding:10px 16px;border-radius:999px;font-weight:800}
.salta:focus{left:12px}
.piccolo{font-size:.9rem;color:var(--testo-2)}
.lede{font-size:1.14rem;color:var(--testo-2)}

/* ---------- riga d'annuncio e testata ---------- */
.annuncio{background:var(--verde);color:#fff;font-size:.86rem;font-weight:700}
.annuncio p{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:4px 10px;min-height:38px;padding:7px 0;margin:0 auto;text-align:center;line-height:1.35}
.annuncio svg{flex:none}
.annuncio-sep{opacity:.7}
.testata{position:sticky;top:0;z-index:50;background:rgba(241,236,228,.94);-webkit-backdrop-filter:saturate(1.3) blur(10px);backdrop-filter:saturate(1.3) blur(10px);border-bottom:1px solid transparent;transition:border-color .2s,box-shadow .2s}
.testata.scorre{border-bottom-color:var(--filetto);box-shadow:0 6px 18px rgba(58,47,39,.06)}
.testata-in{position:relative;display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:78px}
.marchio{display:inline-flex;align-items:center;gap:12px;text-decoration:none;color:var(--corteccia);font-family:var(--titoli);font-weight:700;font-size:1.24rem;letter-spacing:-.015em;line-height:1}
.marchio:hover{color:var(--corteccia)}
.marchio svg{width:44px;height:44px;flex:none}
.marchio b{color:var(--verde-scuro);font-weight:800}
.menu{display:flex;align-items:center;gap:2px}
.menu a{color:var(--corteccia);text-decoration:none;font-weight:700;font-size:.95rem;padding:9px 14px;border-radius:999px;transition:background .15s,color .15s}
.menu a:hover{background:var(--carta);color:var(--corteccia)}
.menu a[aria-current="page"]{background:var(--verde-tenue);color:var(--verde-scuro)}
.menu .menu-cta{background:var(--verde);color:#fff;padding:12px 22px;margin-left:10px}
.menu .menu-cta:hover,.menu .menu-cta[aria-current="page"]{background:var(--verde-scuro);color:#fff}
.menu-toggle{display:none;width:48px;height:48px;border-radius:50%;border:1.5px solid var(--filetto);background:var(--carta);color:var(--corteccia);cursor:pointer;padding:0;place-items:center}
.hamb{display:block;width:20px}
.hamb i{display:block;height:2px;margin:4px 0;background:currentColor;border-radius:2px;transition:transform .25s,opacity .2s}
.menu-toggle[aria-expanded="true"] .hamb i:nth-child(1){transform:translateY(6px) rotate(45deg)}
.menu-toggle[aria-expanded="true"] .hamb i:nth-child(2){opacity:0}
.menu-toggle[aria-expanded="true"] .hamb i:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
@media (max-width:1080px){
  .menu-toggle{display:inline-grid}
  .menu{position:absolute;left:0;right:0;top:calc(100% + 6px);flex-direction:column;align-items:stretch;gap:2px;background:var(--carta);border:1px solid var(--filetto);border-radius:30px;padding:14px;box-shadow:var(--ombra);visibility:hidden;opacity:0;transform:translateY(-10px);transition:opacity .2s,transform .2s,visibility 0s linear .2s}
  .menu.aperto{visibility:visible;opacity:1;transform:none;transition:opacity .2s,transform .2s,visibility 0s}
  .menu a{padding:13px 18px;font-size:1.03rem}
  .menu .menu-cta{margin:8px 0 0;text-align:center}
}

/* ---------- bottoni ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:inherit;font-weight:800;font-size:1rem;line-height:1.2;text-decoration:none;border-radius:999px;padding:14px 26px;border:2px solid transparent;cursor:pointer;text-align:center;transition:background .15s,color .15s,border-color .15s,transform .15s}
.btn:active{transform:translateY(1px)}
.btn-verde{background:var(--verde);color:#fff}
.btn-verde:hover{background:var(--verde-scuro);color:#fff}
.btn-linea{background:transparent;color:var(--corteccia);border-color:var(--corteccia)}
.btn-linea:hover{background:var(--corteccia);color:var(--carta)}
.btn-chiaro{background:var(--carta);color:var(--corteccia)}
.btn-chiaro:hover{background:#fff;color:var(--corteccia)}
.btn-bordo{background:transparent;color:#fff;border-color:rgba(255,255,255,.8)}
.btn-bordo:hover{background:#fff;color:var(--verde-scuro);border-color:#fff}
.bottoni{display:flex;flex-wrap:wrap;gap:12px;margin-top:10px}

/* ---------- sezioni e onde ---------- */
.sez{padding:72px 0}
.sez.carta{background:var(--carta)}
.sez.sabbia{background:var(--sabbia-chiara);--testo-2:#62574D}
.sez.corta{padding:44px 0}
.onda{display:block;height:64px;line-height:0;overflow:hidden}
.onda svg{display:block;width:100%;height:100%}
.onda path{fill:currentColor}
.da-lino{background:var(--lino)}.da-carta{background:var(--carta)}.da-sabbia{background:var(--sabbia-chiara)}
.a-lino{color:var(--lino)}.a-carta{color:var(--carta)}.a-sabbia{color:var(--sabbia-chiara)}
.sez-capo{max-width:740px;margin-bottom:40px}
.sez-capo.centro{margin-inline:auto;text-align:center}
.sez-capo .lede{margin-bottom:0}
.occhiello{display:inline-flex;align-items:center;gap:9px;font-size:.8rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--verde-scuro);margin:0 0 14px}
.occhiello::before{content:"";width:13px;height:13px;border-radius:0 70% 0 70%;background:var(--verde);flex:none}
.titoletto{font-size:1.35rem}
.sotto-link{margin:30px 0 0;text-align:center;font-weight:700}
.sotto-link a{display:inline-flex;align-items:center;gap:6px}
.due-col{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:center}
.due-col.in-alto{align-items:start}
.due-col .sez-capo{margin-bottom:0}
.griglia{display:grid;gap:20px}
.g2{grid-template-columns:repeat(2,minmax(0,1fr))}
.g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.g4{grid-template-columns:repeat(4,minmax(0,1fr))}

/* ---------- apertura "a finestra" ---------- */
.apertura{padding:26px 0 30px}
.finestra{display:grid;grid-template-columns:56px minmax(0,560px) minmax(0,1fr);grid-template-rows:auto minmax(96px,auto);column-gap:0}
.finestra-foto,.foto.finestra-foto{grid-column:2/4;grid-row:1;margin:0;position:relative;overflow:hidden;border-radius:40px;height:clamp(440px,66vh,640px);background:var(--sabbia-chiara)}
.finestra-foto img{width:100%;height:100%;object-fit:cover;object-position:50% 18%}
.foto.finestra-foto figcaption{right:22px;top:22px;left:auto;bottom:auto}
.finestra-vuota{display:flex;align-items:flex-end;justify-content:flex-end;padding:40px;background:linear-gradient(160deg,var(--verde-tenue),var(--sabbia-chiara))}
.finestra-vuota .filari{position:static;width:min(520px,80%);opacity:1}
.finestra-scheda{grid-column:1/3;grid-row:1/3;align-self:end;position:relative;z-index:2;background:var(--carta);border-radius:36px;padding:42px 46px 40px;box-shadow:var(--ombra)}
.finestra-scheda h1{font-size:clamp(2.5rem,5vw,4.1rem);margin-bottom:.28em}
.finestra-scheda h1 span{color:var(--verde-scuro)}
.claim{font-size:clamp(1.06rem,1.6vw,1.2rem);color:var(--testo-2);margin-bottom:18px}
.pillola{display:inline-flex;align-items:center;gap:8px;font-size:.8rem;font-weight:800;letter-spacing:.04em;color:var(--verde-scuro);background:var(--verde-tenue);border-radius:999px;padding:6px 14px;margin:0 0 18px}
.garanzie{grid-column:3;grid-row:2;align-self:center;list-style:none;margin:0;padding:22px 0 6px 36px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.garanzie li{display:flex;flex-direction:column;gap:10px;font-size:.9rem;line-height:1.4;color:var(--testo-2)}
.garanzie strong{display:block;font-family:var(--titoli);font-size:1.02rem;font-weight:700;color:var(--corteccia);margin-bottom:2px;letter-spacing:-.01em}
.garanzia-ico{width:44px;height:44px;border-radius:50% 50% 50% 12px;background:var(--verde-tenue);color:var(--verde-scuro);display:grid;place-items:center;flex:none}
@media (max-width:1240px){.finestra{grid-template-columns:40px minmax(0,500px) minmax(0,1fr)}.finestra-scheda{padding:36px 38px}.garanzie{padding-left:28px;gap:14px}}
@media (max-width:1100px){
  .finestra{display:block}
  .finestra-foto,.foto.finestra-foto{height:clamp(320px,52vh,520px);border-radius:34px}
  .finestra-scheda{margin:-120px 24px 0;padding:34px 32px}
  .garanzie{padding:30px 0 0;grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:700px){
  .apertura{padding:16px 0 20px}
  .finestra-foto,.foto.finestra-foto{height:300px;border-radius:28px}
  .foto.finestra-foto figcaption{top:14px;right:14px}
  .finestra-scheda{margin:-56px 10px 0;padding:26px 22px 24px;border-radius:28px}
  .garanzie{grid-template-columns:minmax(0,1fr);gap:14px;padding-top:26px}
  .garanzie li{flex-direction:row;align-items:center;gap:14px}
}

/* ---------- foto ---------- */
.foto{margin:0;position:relative;overflow:hidden;background:var(--sabbia-chiara);border-radius:28px}
.foto img{width:100%;height:100%;object-fit:cover}
.foto figcaption{position:absolute;left:14px;bottom:14px;max-width:calc(100% - 28px);background:rgba(58,47,39,.8);color:#fff;font-size:.78rem;font-weight:700;line-height:1.3;padding:5px 12px;border-radius:999px}
.foto.larga{aspect-ratio:21/8;border-radius:40px}
.banda-foto{margin-top:48px}
.testo .foto.larga{aspect-ratio:16/9;border-radius:30px;margin:0 0 30px}
@media (max-width:760px){.foto.larga{aspect-ratio:4/3;border-radius:28px}}

/* ---------- canali di contatto (home) ---------- */
.canali{list-style:none;padding:0;margin:26px 0 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.canali li{display:flex;gap:12px;align-items:flex-start;background:var(--lino);border-radius:20px;padding:14px 16px}
.canali strong{display:block;font-size:.98rem}
.canali span{font-size:.88rem;color:var(--testo-2);line-height:1.45;display:block}
.canale-ico{width:40px;height:40px;border-radius:50%;background:var(--verde);color:#fff;display:grid;place-items:center;flex:none}

/* ---------- settori: griglia su desktop, schede scorrevoli su mobile ---------- */
.scorri{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px}
.settore{display:flex;flex-direction:column;background:var(--carta);border:1px solid var(--filetto);border-radius:28px 28px 28px 10px;padding:24px 22px 22px;text-decoration:none;color:var(--corteccia);transition:transform .2s,box-shadow .2s,border-color .2s}
.settore:hover{color:var(--corteccia);transform:translateY(-4px);box-shadow:var(--ombra);border-color:var(--sabbia)}
.settore-ico{width:54px;height:54px;border-radius:50% 50% 50% 14px;background:var(--verde-tenue);color:var(--verde-scuro);display:grid;place-items:center;margin-bottom:16px;flex:none}
.settore h3,.settore h2{font-size:1.1rem;margin-bottom:.45em}
.settore p{font-size:.92rem;color:var(--testo-2);margin:0 0 14px;line-height:1.5}
.settore-vai{margin-top:auto;display:inline-flex;align-items:center;gap:6px;font-weight:800;font-size:.9rem;color:var(--verde-scuro)}
.settore.grande{padding:30px 28px 26px}
.settore.grande h2{font-size:1.35rem}
.settore.grande p{font-size:.98rem}
.scorri-nota{display:none}
@media (max-width:1080px){.scorri{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:760px){
  .scorri{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:16px;margin:0 -16px;padding:6px 16px 20px;scrollbar-width:thin;scrollbar-color:var(--sabbia) transparent}
  .scorri .settore{flex:0 0 min(80%,300px);scroll-snap-align:start}
  .scorri-nota{display:flex;align-items:center;justify-content:flex-end;gap:6px;margin:4px 0 0;font-size:.86rem;font-weight:700;color:var(--testo-2)}
}

/* ---------- pacchetti "a foglia" ---------- */
.foglie{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;align-items:stretch;padding-top:14px}
.foglia{position:relative;display:flex;flex-direction:column;background:var(--lino);border:1px solid var(--filetto);border-radius:14px 76px 14px 14px;padding:32px 26px 26px}
.sez:not(.carta) .foglia{background:var(--carta)}
.foglia h3{font-size:1.32rem;margin-bottom:6px}
.foglia-per{font-size:.92rem;line-height:1.5;color:var(--testo-2);min-height:4.5em;margin-bottom:0}
.foglia-tag{position:absolute;top:-14px;left:24px;margin:0;background:var(--corteccia);color:#fff;font-size:.74rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:6px 14px;border-radius:999px}
.cifra{font-family:var(--titoli);font-size:2.55rem;font-weight:800;letter-spacing:-.035em;line-height:1;margin:16px 0 22px;color:var(--corteccia)}
.cifra small{font-family:var(--testo);font-size:.9rem;font-weight:700;letter-spacing:0;color:var(--testo-2)}
/* «da» davanti al prezzo di partenza: piccolo e leggero come «+ IVA», sulla stessa riga del numero */
.cifra-da{font-family:var(--testo);font-size:.95rem;font-weight:600;letter-spacing:.01em;color:var(--testo-2)}
.spunte{list-style:none;padding:0;margin:0 0 24px;font-size:.93rem;line-height:1.45}
.spunte li{position:relative;padding-left:30px;margin-bottom:10px}
.spunte li::before{content:"";position:absolute;left:0;top:0;width:20px;height:20px;border-radius:50%;background:var(--verde-tenue) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233D6131' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/12px no-repeat}
.foglia .btn{margin-top:auto;width:100%}
.foglie .foglia.hot{background:var(--verde);border-color:var(--verde);color:#fff;box-shadow:0 22px 44px rgba(79,121,66,.30);transform:translateY(-10px)}
.foglia.hot h3,.foglia.hot .foglia-per,.foglia.hot .cifra,.foglia.hot .cifra small,.foglia.hot .cifra-da,.foglia.hot .spunte{color:#fff}
.foglia.hot .spunte li::before{background-color:rgba(255,255,255,.2);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E")}
@media (min-width:1081px) and (max-width:1260px){.foglie .cifra{font-size:2.25rem}}
@media (max-width:1080px){.foglie{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 20px}.foglie .foglia.hot{transform:none}}
@media (max-width:600px){.foglie{grid-template-columns:minmax(0,1fr)}.foglia-per{min-height:0}}

/* ---------- territorio ---------- */
.territorio{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:56px;align-items:center}
.terr-foto{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:16px;height:540px}
.terr-foto .foto{height:100%}
.terr-foto .terr-1{grid-row:1/3;border-radius:220px 220px 28px 28px}
.terr-foto .terr-2{border-radius:28px 96px 28px 28px}
.terr-foto .terr-3{border-radius:28px 28px 96px 28px}
.elenco-link{list-style:none;padding:0;margin:20px 0 0;display:grid;gap:10px}
.elenco-link li{position:relative;padding-left:26px}
.elenco-link li::before{content:"";position:absolute;left:0;top:.42em;width:13px;height:13px;border-radius:0 70% 0 70%;background:var(--verde)}
.elenco-link a{font-weight:700}
@media (max-width:960px){
  .territorio{grid-template-columns:minmax(0,1fr);gap:36px}
  .terr-foto{height:auto;grid-template-rows:none}
  .terr-foto .foto{height:auto}
  .terr-foto .terr-1{grid-row:auto;grid-column:1/3;aspect-ratio:4/3;border-radius:150px 150px 28px 28px}
  .terr-foto .terr-2,.terr-foto .terr-3{aspect-ratio:1}
}
@media (max-width:600px){.terr-foto .terr-1{border-radius:110px 110px 24px 24px}}

/* ---------- tappe 2×2 con numeri a contorno ---------- */
.tappe{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;counter-reset:tappa}
.tappe li{counter-increment:tappa;position:relative;background:var(--carta);border-radius:32px 32px 32px 10px;padding:34px 30px 30px 136px;min-height:190px}
.tappe li::before{content:counter(tappa,decimal-leading-zero);position:absolute;left:26px;top:22px;font-family:var(--titoli);font-weight:800;font-size:5.2rem;line-height:1;letter-spacing:-.04em;color:var(--sabbia)}
@supports (-webkit-text-stroke:1px black){.tappe li::before{color:transparent;-webkit-text-stroke:2px var(--verde)}}
.tappa-quando{font-size:.76rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase;color:var(--verde-scuro);margin:0 0 6px}
.tappe h3{font-size:1.3rem;margin-bottom:6px}
.tappe li p:last-child{color:var(--testo-2);margin:0}
.sez.carta .tappe li{background:var(--lino)}
.strumenti{margin-top:28px}
@media (max-width:760px){
  .tappe{grid-template-columns:minmax(0,1fr);gap:16px}
  .tappe li{padding:24px 22px 24px;min-height:0}
  .tappe li::before{position:static;display:block;font-size:3.6rem;margin-bottom:10px}
}

/* ---------- comuni ---------- */
.cerca-comune{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin-bottom:24px}
.cerca-comune label{font-weight:800;width:100%}
.cerca-comune input{font:inherit;font-weight:600;min-width:0;width:min(360px,100%);padding:13px 20px;border-radius:999px;border:1.5px solid var(--filetto);background:var(--carta);color:var(--corteccia)}
.cerca-comune input:focus{outline:3px solid var(--verde);outline-offset:1px;border-color:transparent}
.cerca-comune output{font-weight:800;font-size:.92rem;color:var(--testo-2)}
.nota-vuoto{background:var(--carta);border-radius:20px;padding:14px 18px}
.zone{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:start}
.zona{background:var(--carta);border:1px solid var(--filetto);border-radius:32px 32px 32px 10px;padding:26px 24px}
.zona[hidden]{display:none}
.zona-capo{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap}
.zona h3{font-size:1.24rem;margin:0}
.zona-n{font-size:.8rem;font-weight:800;color:var(--verde-scuro);background:var(--verde-tenue);padding:3px 10px;border-radius:999px;white-space:nowrap}
.zona p{font-size:.92rem;line-height:1.5;color:var(--testo-2);margin:8px 0 16px}
.chips{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:7px}
.chips li{font-size:.88rem;font-weight:700;padding:6px 13px;border-radius:999px;background:var(--lino);border:1px solid var(--filetto);transition:background .15s,color .15s}
.chips li.hit{background:var(--verde);border-color:var(--verde);color:#fff}
@media (max-width:960px){.zone{grid-template-columns:minmax(0,1fr)}}

/* ---------- domande ad accordion ---------- */
.domande{display:grid;gap:12px}
.domande details{background:var(--carta);border:1px solid var(--filetto);border-radius:24px;transition:border-color .2s,background .2s}
.sez.carta .domande details{background:var(--lino)}
.domande details[open]{border-color:var(--sabbia)}
.domande summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:19px 20px 19px 24px;font-weight:800;font-size:1.03rem;line-height:1.4}
.domande summary::-webkit-details-marker{display:none}
.domande summary:hover .piu{background:var(--verde-scuro)}
.piu{position:relative;flex:none;width:36px;height:36px;border-radius:50%;background:var(--verde);transition:background .2s}
.piu::before,.piu::after{content:"";position:absolute;left:50%;top:50%;width:14px;height:2.4px;margin:-1.2px 0 0 -7px;background:#fff;border-radius:2px;transition:transform .25s}
.piu::after{transform:rotate(90deg)}
.domande details[open] .piu::after{transform:rotate(0deg)}
.domande details p{margin:0;padding:0 24px 22px;color:var(--testo-2)}

/* ---------- articoli in evidenza ---------- */
.note{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:20px}
.nota{display:flex;flex-direction:column;background:var(--carta);border:1px solid var(--filetto);border-radius:30px 30px 30px 10px;padding:26px 26px 22px}
.nota time{align-self:flex-start;font-size:.8rem;font-weight:800;color:var(--verde-scuro);background:var(--verde-tenue);padding:4px 12px;border-radius:999px;margin-bottom:14px}
.nota h2,.nota h3{font-size:1.2rem;margin-bottom:.5em}
.nota h2 a,.nota h3 a{color:var(--corteccia);text-decoration:none}
.nota h2 a:hover,.nota h3 a:hover{color:var(--verde-scuro);text-decoration:underline}
.nota p{font-size:.95rem;line-height:1.55;color:var(--testo-2)}
.nota .nota-tempo{margin:auto 0 0;font-size:.84rem;font-weight:700}

/* ---------- invito al contatto ---------- */
.invito{padding:44px 0 86px}
.invito-box{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.35fr) auto;gap:28px 40px;align-items:center;background:var(--verde);color:#fff;border-radius:18px 96px 18px 18px;padding:54px 58px}
.invito-box h2{color:#fff;margin-bottom:.3em}
.invito-box p{color:#fff;margin:0;max-width:600px}
.invito-testo,.invito-box .bottoni{position:relative;z-index:1}
.invito-box .bottoni{margin:0}
.invito-foglia{position:absolute;right:-26px;bottom:-40px;width:240px;height:240px;opacity:.13}
.invito-foglia path{fill:#fff}
.invito-foglia .nerv{fill:none;stroke:var(--verde);stroke-width:6;stroke-linecap:round}
@media (max-width:900px){.invito-box{grid-template-columns:minmax(0,1fr);padding:38px 30px;border-radius:16px 64px 16px 16px}}
@media (max-width:600px){.invito{padding:30px 0 64px}.invito-box{padding:32px 22px}.invito-box .btn{width:100%}}

/* ---------- intestazioni delle pagine interne ---------- */
.ph{padding:22px 0 34px}
.briciole{font-size:.86rem;color:var(--testo-2);margin:6px 0 14px}
.briciole ol{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:4px 8px}
.briciole li:not(:last-child)::after{content:"›";margin-left:8px;color:var(--sabbia);font-weight:800}
.briciole a{color:var(--testo-2)}
.briciole a:hover{color:var(--verde-scuro)}
.briciole li[aria-current]{color:var(--corteccia);font-weight:700}
.ph-scheda{position:relative;overflow:hidden;background:var(--carta);border-radius:40px;padding:50px 56px 56px}
.ph-scheda > *:not(.filari){position:relative;z-index:1}
.ph-scheda h1{font-size:clamp(2.05rem,4.4vw,3.3rem);max-width:820px;margin-bottom:.35em}
.ph-scheda .lede{max-width:700px;margin-bottom:0}
.ph-scheda .bottoni{margin-top:24px}
.filari{position:absolute;right:26px;bottom:0;width:270px;height:auto;z-index:0;pointer-events:none}
.filari circle{fill:var(--sabbia);opacity:.5}
.filari .f2{fill:var(--verde);opacity:.2}
.filari .f3{fill:var(--verde);opacity:.13}
.filari .terra{fill:none;stroke:var(--filetto);stroke-width:2}
.ph.centrata{padding:56px 0 72px}
.ph.centrata .ph-scheda{text-align:center}
.ph.centrata .pillola{margin-inline:auto}
.ph.centrata h1,.ph.centrata .lede{margin-inline:auto}
.ph.centrata .bottoni{justify-content:center}
.articolo-testa .ph-scheda{padding:40px 44px 44px}
.articolo-testa .ph-scheda h1{font-size:clamp(1.9rem,4vw,2.8rem)}
@media (max-width:900px){.filari{width:180px;right:12px;opacity:.7}}
@media (max-width:700px){
  .ph-scheda,.articolo-testa .ph-scheda{padding:30px 22px 34px;border-radius:28px}
  .filari{display:none}
}

/* ---------- schede generiche ---------- */
.scheda{background:var(--carta);border:1px solid var(--filetto);border-radius:30px 30px 30px 10px;padding:28px}
.sez.carta .scheda{background:var(--lino)}
.scheda h3{margin-bottom:.4em}
.scheda p{color:var(--testo-2)}
.scheda p:last-child{margin-bottom:0}
.scheda.piccola{padding:24px}
.scheda.piccola p{font-size:.95rem;line-height:1.55}
.scheda-ico{width:48px;height:48px;border-radius:50% 50% 50% 12px;background:var(--verde-tenue);color:var(--verde-scuro);display:grid;place-items:center;margin-bottom:16px}
.scheda-meta{font-size:.92rem;margin-bottom:.4em}
.scheda-meta strong{color:var(--corteccia)}

/* ---------- elenchi "sempre compreso" ---------- */
.compreso{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.compreso.una{grid-template-columns:minmax(0,1fr)}
.compreso li{position:relative;background:var(--lino);border-radius:22px;padding:17px 18px 17px 54px}
.sez:not(.carta) .compreso li{background:var(--carta)}
.compreso li::before{content:"";position:absolute;left:18px;top:20px;width:20px;height:20px;border-radius:0 70% 0 70%;background:var(--verde)}
.compreso strong{display:block;line-height:1.35}
.compreso span{display:block;font-size:.9rem;line-height:1.5;color:var(--testo-2);margin-top:3px}

/* ---------- listino: tabella extra e rate ---------- */
.tabella{overflow-x:auto;background:var(--carta);border:1px solid var(--filetto);border-radius:28px}
table{width:100%;border-collapse:collapse;font-size:.95rem}
th,td{padding:14px 20px;text-align:left;border-bottom:1px solid var(--filetto);vertical-align:top}
thead th{font-size:.78rem;letter-spacing:.09em;text-transform:uppercase;color:var(--corteccia);background:var(--sabbia-chiara)}
tbody tr:last-child td{border-bottom:0}
td.num,th.num{text-align:right;white-space:nowrap}
td.num{font-weight:800;color:var(--verde-scuro)}
.rate{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.rate li{background:var(--carta);border-radius:32px 32px 32px 10px;padding:28px}
.rate .cifra{margin:0 0 12px;color:var(--verde-scuro)}
.rate h3{margin-bottom:.35em}
.rate li p:last-child{margin:0;color:var(--testo-2)}

/* ---------- pagina settore ---------- */
.ricerche{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:10px}
.ricerche li{display:inline-flex;align-items:center;gap:9px;max-width:100%;background:var(--carta);border:1px solid var(--filetto);border-radius:999px;padding:9px 18px 9px 14px;font-weight:700;font-size:.93rem;line-height:1.35}
.ricerche li::before{content:"";width:16px;height:16px;flex:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234F7942' stroke-width='2.6' stroke-linecap='round'%3E%3Ccircle cx='10.5' cy='10.5' r='6.5'/%3E%3Cpath d='m15.5 15.5 5 5'/%3E%3C/svg%3E") center/contain no-repeat}
.pagine-elenco{list-style:none;padding:0;margin:8px 0 0;counter-reset:pg;display:grid;gap:10px}
.pagine-elenco li{counter-increment:pg;position:relative;padding:12px 16px 12px 58px;background:var(--carta);border-radius:20px;font-weight:700;line-height:1.4}
.pagine-elenco li::before{content:counter(pg);position:absolute;left:14px;top:50%;margin-top:-15px;width:30px;height:30px;border-radius:50%;background:var(--verde-tenue);color:var(--verde-scuro);font-size:.9rem;display:grid;place-items:center}
.consiglio{background:var(--verde);color:#fff;border-radius:14px 70px 14px 14px;padding:28px 30px}
.consiglio h3,.consiglio p,.consiglio .cifra,.consiglio .cifra small,.consiglio .cifra-da{color:#fff}
.consiglio p{margin-bottom:0}
.consiglio .cifra{margin:16px 0 0}
.consiglio-extra{margin:18px 0 10px}
.altri{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:10px}
.altri a{display:inline-block;background:var(--carta);border:1px solid var(--filetto);border-radius:999px;padding:9px 16px;font-weight:700;font-size:.93rem;text-decoration:none;color:var(--corteccia)}
.altri a:hover{border-color:var(--verde);color:var(--verde-scuro)}

/* ---------- testi lunghi (blog, privacy) ---------- */
.testo{font-size:1.06rem}
.testo h2{font-size:1.6rem;margin-top:1.7em}
.testo h3{margin-top:1.4em}
.testo li{margin-bottom:.45em}
.testo blockquote{position:relative;margin:1.6em 0;padding:20px 24px 20px 64px;background:var(--carta);border-radius:8px 30px 30px 30px;font-family:var(--titoli);font-size:1.18rem;line-height:1.4;color:var(--corteccia)}
.testo blockquote::before{content:"";position:absolute;left:22px;top:24px;width:24px;height:24px;border-radius:0 70% 0 70%;background:var(--verde)}
.altri-articoli{margin-top:44px;padding-top:24px;border-top:1px dashed var(--filetto)}

/* ---------- chi siamo: dati dell'impresa ---------- */
.ditta dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0}
.ditta dl div{background:var(--lino);border-radius:18px;padding:14px 18px}
.ditta dt{font-size:.78rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--testo-2)}
.ditta dd{margin:4px 0 0;font-weight:700;overflow-wrap:anywhere}
@media (max-width:860px){.ditta dl{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.ditta dl{grid-template-columns:minmax(0,1fr)}}

/* ---------- contatti e modulo ---------- */
.contatti{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.3fr);gap:44px;align-items:start}
.contatti-lato{position:sticky;top:110px}
.contatti-lato > p{color:var(--testo-2)}
.diretti{display:grid;gap:12px;margin:22px 0}
.diretti a{display:flex;align-items:center;gap:14px;min-width:0;text-decoration:none;color:var(--corteccia);background:var(--carta);border:1px solid var(--filetto);border-radius:22px;padding:14px 16px;transition:border-color .15s}
.diretti a:hover{border-color:var(--verde);color:var(--corteccia)}
.diretti a > span:last-child{min-width:0}
.diretti small{display:block;font-size:.8rem;font-weight:700;color:var(--testo-2)}
.diretti strong{display:block;overflow-wrap:anywhere}
.diretto-ico{width:44px;height:44px;border-radius:50%;background:var(--verde-tenue);color:var(--verde-scuro);display:grid;place-items:center;flex:none}
.diretto-ico.wa{background:var(--wa);color:#fff}
.dopo ol{margin:0;padding-left:1.2em;color:var(--testo-2);font-size:.95rem}
.dopo li{margin-bottom:.35em}
.modulo{background:var(--carta);border:1px solid var(--filetto);border-radius:36px 36px 36px 12px;padding:36px;box-shadow:var(--ombra)}
.modulo fieldset{border:0;margin:0 0 28px;padding:0 0 26px;border-bottom:1px dashed var(--filetto);min-width:0}
.modulo legend{display:flex;align-items:center;gap:10px;padding:0;margin-bottom:6px;font-family:var(--titoli);font-weight:700;font-size:1.28rem;letter-spacing:-.01em}
.passo{font-family:var(--testo);font-size:.74rem;font-weight:800;letter-spacing:.04em;color:#fff;background:var(--verde);border-radius:999px;padding:4px 10px}
.campi2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}
.campo{display:block;font-weight:800;font-size:.93rem;margin:14px 0}
.campo input,.campo select,.campo textarea{display:block;width:100%;margin-top:7px;font:inherit;font-size:1rem;font-weight:500;color:var(--corteccia);background:var(--lino);border:1.5px solid var(--filetto);border-radius:16px;padding:12px 15px}
.campo textarea{min-height:130px;resize:vertical}
.campo input:focus,.campo select:focus,.campo textarea:focus{outline:3px solid var(--verde);outline-offset:0;border-color:transparent}
.domanda{font-weight:800;font-size:.93rem;margin:18px 0 9px}
.suggerimento{font-size:.88rem;color:var(--testo-2);margin:0 0 6px}
.scelte{display:flex;flex-wrap:wrap;gap:8px}
.scelte label{position:relative;cursor:pointer;max-width:100%}
.scelte input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.scelte span{display:inline-block;border:1.5px solid var(--filetto);background:var(--lino);border-radius:999px;padding:8px 15px;font-size:.9rem;font-weight:700;line-height:1.35;transition:background .15s,border-color .15s,color .15s}
.scelte label:hover span{border-color:var(--verde)}
.scelte input:checked + span{background:var(--verde);border-color:var(--verde);color:#fff}
.scelte input[type=checkbox]:checked + span::before{content:"\2713\00a0"}
.scelte input:focus-visible + span{outline:3px solid var(--verde-scuro);outline-offset:2px}
.consenso{display:flex;gap:12px;align-items:flex-start;font-size:.9rem;color:var(--testo-2);margin:4px 0 22px;cursor:pointer}
.consenso input{margin-top:2px;width:20px;height:20px;flex:none;accent-color:var(--verde)}
.modulo-fondo{display:flex;flex-wrap:wrap;align-items:center;gap:14px}
.modulo-fondo p{margin:0;font-size:.86rem;color:var(--testo-2)}
@media (max-width:960px){.contatti{grid-template-columns:minmax(0,1fr);gap:32px}.contatti-lato{position:static}}
@media (max-width:600px){.modulo{padding:24px 18px;border-radius:28px 28px 28px 10px}.campi2{grid-template-columns:minmax(0,1fr)}.modulo-fondo .btn{width:100%}}

/* ---------- piè di pagina ---------- */
.piede{background:var(--corteccia);color:#D9CFC2;border-radius:56px 56px 0 0;padding:66px 0 calc(28px + env(safe-area-inset-bottom));font-size:.95rem}
.piede a{color:#F5EFE7;text-decoration:none}
.piede a:hover{color:#fff;text-decoration:underline}
.piede-alto{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1.15fr);gap:36px}
.piede h2{font-family:var(--testo);font-size:.78rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--sabbia);margin-bottom:14px}
.piede ul{list-style:none;padding:0;margin:0;line-height:2}
.piede .marchio{color:#F5EFE7}
.piede .marchio b{color:#A9C99A}
.piede-marchio p{margin:18px 0 0;max-width:360px;line-height:1.6}
.piede-recapiti li{display:flex;align-items:center;gap:9px;min-width:0}
.piede-recapiti a{display:inline-flex;align-items:center;gap:9px;overflow-wrap:anywhere}
.piede-recapiti svg{flex:none;color:#A9C99A}
.piede-basso{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 20px;border-top:1px solid rgba(255,255,255,.14);margin-top:46px;padding-top:22px;font-size:.86rem}
.piede-basso a{text-decoration:underline;text-decoration-color:rgba(255,255,255,.35)}
@media (max-width:960px){.piede-alto{grid-template-columns:repeat(2,minmax(0,1fr))}.piede{border-radius:40px 40px 0 0}}
@media (max-width:600px){.piede-alto{grid-template-columns:minmax(0,1fr);gap:28px}.piede{padding-top:50px}}

/* ---------- WhatsApp fisso ---------- */
.wa-fisso{position:fixed;right:18px;bottom:calc(18px + env(safe-area-inset-bottom));z-index:40;width:58px;height:58px;border-radius:50% 50% 50% 16px;background:var(--wa);color:#fff;display:grid;place-items:center;box-shadow:0 10px 24px rgba(28,140,78,.35),0 2px 6px rgba(0,0,0,.18);transition:transform .2s}
.wa-fisso:hover{color:#fff;transform:translateY(-3px)}

/* ---------- risposte all'ampiezza ---------- */
@media (max-width:1080px){
  .g4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .compreso{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:860px){
  .sez{padding:56px 0}
  .onda{height:40px}
  .due-col{grid-template-columns:minmax(0,1fr);gap:28px}
  .g2,.g3{grid-template-columns:minmax(0,1fr)}
  .rate{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:600px){
  body{font-size:16px}
  .g4,.compreso{grid-template-columns:minmax(0,1fr)}
  .canali{grid-template-columns:minmax(0,1fr)}
  .annuncio{font-size:.8rem}
  .annuncio-sep,.annuncio-2{display:none}
  .testata-in{min-height:68px}
  .marchio{font-size:1.1rem;gap:10px}
  .marchio svg{width:38px;height:38px}
  .bottoni .btn{flex:1 1 auto}
  .cifra{font-size:2.3rem}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition:none!important;animation:none!important}
}
