/* ==========================================================================
   Italìque – Direzione B · app.css
   Unico foglio di stile del sito. Consuma le variabili di tokens.css.
   Mobile first · breakpoint 768px (tablet) e 1200px (desktop) · contenuto max 1200px.
   Regole: niente sfondi-immagine qui (vanno inline sull'elemento), position:absolute
   solo per decori sovrapposti.
   ========================================================================== */

/* 1. Base ----------------------------------------------------------------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:88px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--c-pietra);color:var(--c-verde-bosco);font-family:var(--font-sans);font-size:var(--fs-body);line-height:var(--lh-body);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;overflow-x:clip}
img{display:block;max-width:100%;height:auto}
svg{display:block;max-width:100%;overflow:visible}
a{color:var(--c-verde-bosco);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--c-terracotta)}
:focus-visible{outline:2px solid var(--c-terracotta);outline-offset:3px;border-radius:4px}
h1,h2,h3,h4{font-family:var(--font-serif);font-weight:400;letter-spacing:var(--ls-title);line-height:var(--lh-tight);margin:0;font-optical-sizing:auto;text-wrap:balance}
h1 em,h2 em,h3 em{font-style:italic;color:var(--c-terracotta)}
p{margin:0}
ul,ol{margin:0;padding:0;list-style:none}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.salta-contenuto{position:absolute;left:16px;top:-60px;z-index:100;background:var(--c-verde-bosco);color:var(--c-pietra);padding:10px 16px;border-radius:var(--r-pill)}
.salta-contenuto:focus{top:12px;color:var(--c-pietra)}
.solo-desktop{display:none}
@media (min-width:1200px){.solo-desktop{display:inline}.solo-mobile{display:none}}

/* 2. Layout ---------------------------------------------------------------- */
.contenitore{width:100%;max-width:calc(var(--container) + 2 * var(--gutter));margin-inline:auto;padding-inline:var(--gutter);position:relative}
:root{--gutter:var(--gutter-mobile);--sp-sezione:72px}
@media (min-width:768px){:root{--gutter:40px;--sp-sezione:96px}}
@media (min-width:1200px){:root{--gutter:var(--gutter-desktop);--sp-sezione:120px}}
@media (min-width:1200px) and (max-width:1439px){:root{--gutter:max(40px,calc((100vw - var(--container)) / 2))}}
main>section{position:relative;padding-block:var(--sp-sezione);overflow:clip}
.sfondo-bianco{background:var(--c-bianco)}
.sfondo-sabbia{background:#EAE6DC}
.sfondo-verde{background:var(--c-verde-bosco);color:var(--c-pietra)}
.sfondo-verde h2,.sfondo-verde h3{color:var(--c-pietra)}
.sfondo-verde .eyebrow{color:var(--c-corallo)}
:where(.sfondo-verde) :where(p){color:var(--c-salvia-chiaro)}
.sfondo-verde h2 em{color:var(--c-corallo)}

.griglia-2,.griglia-3,.griglia-4,.griglia-5{display:grid;gap:12px;grid-template-columns:minmax(0,1fr)}
@media (min-width:768px){
  .griglia-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:48px}
  .griglia-3{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
  .griglia-4{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
  .griglia-5{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
}
@media (min-width:1200px){
  .griglia-2{gap:96px}
  .griglia-3{grid-template-columns:repeat(3,minmax(0,1fr))}
  .griglia-4{grid-template-columns:repeat(4,minmax(0,1fr))}
  .griglia-5{grid-template-columns:repeat(5,minmax(0,1fr))}
}

/* Decori: unico uso ammesso di position:absolute */
.pattern{position:absolute;inset:0;background-repeat:repeat;background-size:52px;pointer-events:none;z-index:0}
@media (min-width:768px){.pattern{background-size:auto}}
.pattern--destra{left:auto;width:min(760px,55%);display:none}
@media (min-width:1200px){.pattern--destra{display:block}}
.pattern--onde{background-size:420px 90px}
.decoro{position:absolute;pointer-events:none;z-index:0;width:clamp(200px,25vw,360px)}
.decoro--rosone-sx{left:-120px;bottom:-140px}
.decoro--rosone-dx{right:-90px;top:-110px;width:clamp(180px,21vw,300px)}
section>.contenitore{z-index:1}

/* 3. Tipografia ---------------------------------------------------------- */
.display{font-size:var(--fs-display);line-height:1.04}
h2{font-size:var(--fs-h2)}
.titolo-m{font-size:clamp(1.875rem,1.5rem + 1.2vw,2.75rem)}
h3{font-size:var(--fs-h3);line-height:1.2}
.eyebrow{font-family:var(--font-sans);font-size:.8125rem;font-weight:600;letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--c-terracotta);line-height:1.3}
.eyebrow--chiaro{color:var(--c-corallo)}
.lead{font-size:clamp(1.0625rem,.95rem + .45vw,1.25rem);color:var(--c-salvia);line-height:1.55}
.intro{font-size:clamp(1rem,.93rem + .3vw,1.125rem);color:var(--c-salvia);line-height:1.6}
.numero{font-family:var(--font-serif);font-style:italic;font-size:1.375rem;line-height:1;color:var(--c-travertino)}
.segnaposto{background:rgba(163,74,49,.08)}

/* Intestazioni di sezione */
.intestazione{display:flex;flex-direction:column;gap:20px;margin-bottom:clamp(32px,4vw,56px);position:relative;z-index:1}
.intestazione:last-child{margin-bottom:0}
@media (min-width:768px){.intestazione{gap:24px}}
.intestazione--centrata{align-items:center;text-align:center}
.intestazione--centrata .intro{max-width:720px}
.intestazione--divisa{gap:20px}
.intestazione--divisa>div{display:flex;flex-direction:column;gap:20px}
@media (min-width:1200px){
  .intestazione--divisa{flex-direction:row;align-items:flex-end;justify-content:space-between;gap:80px}
  .intestazione--divisa>:first-child{flex:0 1 620px}
  .intestazione--divisa>:last-child{flex:0 1 500px}
}
.griglia-2>.intestazione{margin-bottom:0}

/* 4. Pulsanti e link ------------------------------------------------------ */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:14px 28px;border-radius:var(--r-pill);font-family:var(--font-sans);font-size:1rem;font-weight:600;line-height:1.2;text-align:center;text-decoration:none;border:1px solid transparent;transition:background-color .2s ease,color .2s ease,border-color .2s ease,transform .25s ease,box-shadow .25s ease}
.btn svg{width:18px;height:18px;flex:none}
.btn--primario{background:var(--c-terracotta);color:#fff}
.btn--primario:hover{background:var(--c-verde-bosco);color:var(--c-pietra)}
.btn--secondario{border-color:var(--c-verde-bosco);color:var(--c-verde-bosco)}
.btn--secondario:hover{background:var(--c-verde-bosco);color:var(--c-pietra)}
.btn--chiaro{background:var(--c-pietra);color:var(--c-verde-bosco)}
.btn--chiaro:hover{background:#fff;color:var(--c-terracotta)}
.btn--chiaro-outline{border-color:var(--c-pietra);color:var(--c-pietra)}
.btn--chiaro-outline:hover{background:var(--c-pietra);color:var(--c-verde-bosco)}
.btn--piccolo{min-height:44px;padding:11px 20px;font-size:.9375rem}
.btn:active{transform:translateY(1px)}
.azioni{display:flex;flex-direction:column;gap:12px;padding-top:4px}
.azioni .btn{width:100%}
@media (min-width:768px){.azioni{flex-direction:row;flex-wrap:wrap;gap:16px;padding-top:8px}.azioni .btn{width:auto}}
.link-riga{margin-top:clamp(24px,3vw,40px)}
.intestazione .link-riga{margin-top:0}
.link-freccia{display:inline-flex;align-items:center;gap:10px;font-weight:600;text-decoration:none}
.link-freccia svg{width:20px;height:20px;transition:transform .2s ease}
.link-freccia:hover svg{transform:translateX(4px)}
.sfondo-verde .link-freccia{color:var(--c-pietra)}

/* 5. Header ---------------------------------------------------------------- */
.site-header{position:sticky;top:0;z-index:50;background:var(--c-pietra);border-bottom:1px solid var(--c-travertino)}
.site-header__barra{display:flex;align-items:center;gap:8px;min-height:68px}
@media (min-width:1200px){.site-header__barra{min-height:96px;gap:32px}}
.logo{display:inline-flex;align-items:center;gap:7px;text-decoration:none;color:var(--c-verde-bosco);margin-right:auto}
.logo:hover{color:var(--c-verde-bosco)}
.logo__sigillo{width:32px;flex:none}
.logo__parola{font-family:var(--font-serif);font-size:1.5rem;line-height:1;padding-top:2px;letter-spacing:-.01em}
.logo__i{position:relative;display:inline-block}
.logo__i svg{position:absolute;left:50%;top:-1px;width:.22em;height:.28em;transform:translateX(-50%)}
@media (min-width:1200px){.logo{gap:9px}.logo__sigillo{width:40px}.logo__parola{font-size:1.875rem}}
.logo--chiaro,.logo--chiaro:hover{color:var(--c-pietra)}
.nav-principale{display:none}
.nav-principale ul{display:flex;gap:32px}
.nav-principale a{font-size:.9375rem;font-weight:500;text-decoration:none}
.nav-principale a[aria-current="page"],
.pagina-servizi [data-nav="servizi"],.pagina-metodo [data-nav="metodo"],.pagina-programmi [data-nav="programmi"],
.pagina-case-history [data-nav="case-history"],.pagina-per-chi-e [data-nav="per-chi-e"],.pagina-chi-siamo [data-nav="chi-siamo"]{color:var(--c-terracotta);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:10px}
.lingua{display:none;font-size:.875rem;font-weight:600;color:var(--c-salvia);text-decoration:none}
.btn--header{min-height:40px;padding:10px 16px;font-size:.875rem}
.menu-toggle{width:44px;height:44px;display:grid;place-items:center;color:var(--c-verde-bosco)}
.menu-toggle svg{width:24px;height:24px}
@media (min-width:1200px){
  .nav-principale,.lingua{display:block}
  .btn--header{min-height:44px;padding:12px 20px;font-size:.9375rem}
  .menu-toggle{display:none}
}
.mobile-nav{position:fixed;inset:68px 0 0 0;z-index:49;background:var(--c-verde-bosco);padding:32px var(--gutter) 40px;display:flex;flex-direction:column;gap:32px;overflow-y:auto}
.mobile-nav ul{display:flex;flex-direction:column;gap:4px}
.mobile-nav ul a{display:block;padding:10px 0;font-family:var(--font-serif);font-size:1.75rem;color:var(--c-pietra);text-decoration:none;border-bottom:1px solid var(--c-verde-600)}
.mobile-nav .btn{width:100%}
.mobile-nav__lingua a{color:var(--c-salvia-chiaro);font-weight:600;text-decoration:none}
@media (min-width:1200px){.mobile-nav{display:none}}

/* 6. Icone, sigilli, macchie -------------------------------------------- */
/* .icona = macchia (primo svg, in alto a destra) + icona lineare (secondo svg, in basso a sinistra), sovrapposte in griglia */
.icona{--s:48px;display:inline-grid;width:var(--s);height:var(--s);flex:none}
.icona>svg{grid-area:1/1;width:82%;height:82%;align-self:end;justify-self:start}
.icona>svg:first-child{width:78%;height:78%;align-self:start;justify-self:end}
.icona--xs{--s:40px}.icona--s{--s:52px}.icona--m{--s:60px}.icona--l{--s:72px}.icona--xl{--s:96px}
.sigillo{display:block;width:var(--s,88px);flex:none}
.sigillo--s{--s:clamp(56px,5vw,72px)}.sigillo--m{--s:clamp(56px,6vw,88px)}.sigillo--l{--s:clamp(96px,11vw,150px)}

/* 7. Carte ---------------------------------------------------------------- */
.carta{position:relative;display:flex;flex-direction:column;gap:14px;background:var(--c-bianco);border:1px solid var(--c-travertino);border-radius:var(--r-md);padding:20px}
.carta h3{font-size:clamp(1.25rem,1.1rem + .6vw,1.875rem);font-weight:500}
.carta p{color:var(--c-salvia);font-size:.9375rem;line-height:1.55}
.carta__testa{display:flex;align-items:flex-start;justify-content:space-between}
.carta .numero{color:var(--c-travertino)}
/* mobile: carta orizzontale (icona a sinistra) come nei mockup */
@media (max-width:767px){
  .carte .carta{display:grid;grid-template-columns:auto 1fr;column-gap:16px;row-gap:6px;align-items:start}
  .carte .carta .carta__testa{grid-row:1/3}
  .carte .carta .numero{display:none}
  .carte .carta .sigillo--m{--s:64px}
  .carte .carta--valore{align-items:center;border-radius:14px;padding:16px}
}
@media (min-width:768px){.carta{padding:28px 24px;gap:16px}}
.carta--valore h3{font-size:clamp(1.125rem,1rem + .3vw,1.3125rem);font-weight:400}
.carta--valore .numero{font-size:1.875rem}

.lista-check{display:flex;flex-direction:column;gap:12px;padding-top:16px;border-top:1px solid var(--c-travertino)}
.lista-check li{display:flex;gap:12px;align-items:flex-start;font-size:1rem;line-height:1.45}
.lista-check li::before{content:"";flex:none;width:20px;height:20px;margin-top:1px;background:currentColor;color:var(--c-terracotta);-webkit-mask:var(--check) center/contain no-repeat;mask:var(--check) center/contain no-repeat}
:root{--check:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7'/%3E%3C/svg%3E")}

/* Lista con icona (Il problema) */
.lista-icone{display:flex;flex-direction:column;border-top:1px solid var(--c-travertino)}
.lista-icone li{display:flex;align-items:center;gap:14px;padding:14px 0;border-bottom:1px solid var(--c-travertino);font-size:1.0625rem}
@media (min-width:768px){.lista-icone li{gap:20px;padding:20px 0;font-size:1.125rem}}
@media (min-width:1200px){.lista-icone{margin-top:32px}}

/* Chip fluttuanti */
.chip{display:flex;align-items:center;gap:12px;padding:12px 18px 12px 12px;background:var(--c-bianco);border-radius:var(--r-pill);box-shadow:var(--shadow-hover);font-size:.9375rem;font-weight:600;white-space:nowrap}
.badge{display:inline-block;padding:6px 12px;border-radius:var(--r-pill);background:var(--c-corallo);color:var(--c-verde-bosco);font-size:.75rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;line-height:1.25}

/* 8. HERO (tutte le pagine) ---------------------------------------------- */
main>section.hero{padding-block:44px 56px}
@media (min-width:768px){main>section.hero{padding-block:64px 80px}}
@media (min-width:1200px){main>section.hero{padding-block:80px 96px}}
.hero__griglia{display:flex;flex-direction:column;gap:32px}
.hero__testo{display:flex;flex-direction:column;gap:22px;max-width:640px}
@media (min-width:1200px){.hero__griglia{flex-direction:row;align-items:center;justify-content:space-between;gap:64px}.hero__testo{flex:0 1 576px;gap:28px}}
.hero__visual{position:relative;width:100%;max-width:560px;margin-inline:auto}
@media (min-width:1200px){.hero__visual{flex:0 0 560px;margin:0}}
.illustrazione svg{width:100%;height:auto}
/* Home: arco */
.hero--home .illustrazione--arco{width:96%;margin-inline:auto}
.hero--home .chip{position:absolute}
.hero--home .chip--a{left:-2%;top:40%;display:none}
.hero--home .chip--b{right:0;top:66%}
@media (min-width:768px){.hero--home .chip--a{display:flex}.hero--home .chip--a{left:-7%}.hero--home .chip--b{right:-4%;top:69%}}

/* 9. Fascia tipologie (marquee) ----------------------------------------- */
main>section.fascia-tipologie{padding-block:20px;background:var(--c-verde-bosco);color:var(--c-pietra)}
@media (min-width:768px){main>section.fascia-tipologie{padding-block:26px}}
.fascia-tipologie__binario{overflow:hidden}
.marquee{display:flex;width:max-content}
.fascia-tipologie__lista{display:flex;gap:56px;padding-left:56px}
.fascia-tipologie__lista li{display:flex;align-items:center;gap:28px;font-family:var(--font-serif);font-style:italic;font-size:clamp(1.25rem,1.1rem + .5vw,1.5rem);line-height:1.2;white-space:nowrap}
.fascia-tipologie__lista svg{width:22px;height:22px;flex:none}

/* 10. Home · Il metodo (fasi) --------------------------------------------- */
.fasi{position:relative}
.fasi__connettore{position:absolute;pointer-events:none}
.fasi__connettore--orizzontale{display:none;left:0;right:0;top:0}
.fasi__connettore--verticale{left:28px;top:30px;bottom:30px;width:4px}
.fasi__connettore--verticale svg{height:100%;width:4px}
.fasi__lista{position:relative;display:flex;flex-direction:column}
.fase{display:flex;gap:18px;padding-bottom:28px}
.fase:last-child{padding-bottom:0}
.fase__icona{position:relative;flex:none;width:60px}
.fase__icona .icona{--s:60px}
.fase__numero{position:absolute;right:-4px;top:-4px;display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--c-terracotta);color:#fff;font-size:.75rem;font-weight:600;line-height:1}
.fase__testo{display:flex;flex-direction:column;gap:6px;padding-top:6px}
.fase h3{font-size:clamp(1.375rem,1.25rem + .4vw,1.625rem)}
.fase p{font-size:.9375rem}
.sfondo-verde .fase p{color:var(--c-salvia-chiaro)}
@media (min-width:1200px){
  .fasi__connettore--orizzontale{display:block}
  .fasi__connettore--verticale{display:none}
  .fasi__lista{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
  .fase{flex-direction:column;align-items:center;text-align:center;gap:14px;padding:0}
  .fase__icona{width:96px}
  .fase__icona .icona{--s:96px}
  .fase__numero{width:30px;height:30px;font-size:.875rem;right:-2px;top:-2px}
  .fase__testo{align-items:center;padding-top:8px;gap:14px}
  .fase p{font-size:1rem;max-width:240px}
}
@media (max-width:1199px){.metodo-anteprima .intestazione--divisa{display:contents}.metodo-anteprima .contenitore{display:flex;flex-direction:column;gap:28px}.metodo-anteprima .intestazione--divisa>div{display:flex}.metodo-anteprima .intestazione--divisa>p{order:3}.metodo-anteprima .intestazione--divisa .btn{width:100%}}

/* 11. Programmi (card) --------------------------------------------------- */
.programmi__lista{gap:16px}
.programma{position:relative;overflow:hidden;display:flex;flex-direction:column;gap:14px;background:var(--c-bianco);border:1px solid var(--c-travertino);border-radius:var(--r-lg);padding:28px 24px}
.programma>*{position:relative}
.programma>.pattern{position:absolute}
.programma h3{font-size:clamp(1.875rem,1.6rem + .6vw,2.25rem);line-height:1}
.programma__testa{display:flex;justify-content:space-between;align-items:flex-start}
.programma__sottotitolo{font-size:.8125rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--c-terracotta)}
.programma__descrizione{font-size:1rem;color:var(--c-salvia)}
.programma .lista-check{flex:1}
.programma .btn{margin-top:4px}
.programma--evidenza{background:var(--c-verde-bosco);border-color:var(--c-verde-bosco);color:var(--c-pietra)}
.programma--evidenza h3{color:var(--c-pietra)}
.programma--evidenza .programma__sottotitolo{color:var(--c-corallo)}
.programma--evidenza .programma__descrizione{color:var(--c-salvia-chiaro)}
.programma--evidenza .lista-check{border-color:var(--c-verde-600)}
.programma--evidenza .lista-check li::before{color:var(--c-corallo)}
@media (max-width:1199px){.programma--evidenza{order:-1}}
@media (min-width:768px){.programma{padding:36px 32px;gap:20px}.programma__sottotitolo{font-size:.875rem}.programma__descrizione{font-size:1.0625rem}}

/* 12. Selezione ----------------------------------------------------------- */
.selezione .pattern--onde{opacity:1}

/* 13. Modello economico -------------------------------------------------- */
.modello-economico .intestazione{gap:24px}
.illustrazione--grafico{width:min(286px,70%);padding-top:16px}
.modello-economico__voci{display:flex;flex-direction:column;gap:16px}
@media (min-width:1200px){.modello-economico__voci{padding-top:170px}}
.voce{display:flex;gap:16px;align-items:flex-start;background:var(--c-bianco);border:1px solid var(--c-travertino);border-radius:18px;padding:22px}
.voce>div{display:flex;flex-direction:column;gap:6px}
.voce h3{font-size:clamp(1.375rem,1.25rem + .4vw,1.625rem)}
.voce p{color:var(--c-salvia);font-size:.9375rem;line-height:1.6}
.voce .icona{--s:48px}
.voce--scura{background:var(--c-verde-bosco);border-color:var(--c-verde-bosco)}
.voce--scura h3{color:var(--c-pietra)}.voce--scura p{color:var(--c-salvia-chiaro)}
@media (min-width:768px){.voce{gap:24px;padding:32px;border-radius:var(--r-lg)}.voce p{font-size:1rem}.voce .icona{--s:64px}.voce>div{gap:8px}}
@media (max-width:1199px){.modello-economico .illustrazione--grafico{order:9}}

/* 14. Know-how / KPI ------------------------------------------------------ */
.know-how__griglia{display:flex;flex-direction:column;gap:28px}
@media (min-width:1200px){.know-how__griglia{flex-direction:row;align-items:center;justify-content:space-between;gap:80px}.know-how__griglia>.intestazione{flex:0 1 570px;gap:20px;margin:0}}
main>section.know-how{padding-block:clamp(64px,7vw,96px)}
.kpi{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
@media (min-width:1200px){.kpi{flex:0 1 550px}}
.kpi li{display:flex;flex-direction:column;gap:8px}
.kpi__valore{font-family:var(--font-serif);font-size:clamp(1.75rem,1.2rem + 2vw,3rem);line-height:1;color:var(--c-terracotta);letter-spacing:-.02em}
.kpi__etichetta{font-size:.9375rem;color:var(--c-salvia);line-height:1.3}

/* 15. Banda CTA Property Check ------------------------------------------- */
.cta-banda{position:relative;overflow:hidden;display:flex;flex-direction:column;gap:28px;background:var(--c-terracotta);border-radius:var(--r-lg);padding:40px 24px;color:#fff}
.cta-banda>*:not(.pattern){position:relative}
.cta-banda__corpo{display:flex;flex-direction:column;gap:24px}
.cta-banda__testo{display:flex;flex-direction:column;gap:16px}
.cta-banda h2{color:#fff;font-size:clamp(1.875rem,1.4rem + 1.4vw,3.125rem)}
.cta-banda__testo p{color:#F7E3DA;font-size:clamp(1rem,.93rem + .3vw,1.125rem);line-height:1.6}
.cta-banda .btn{width:100%}
@media (min-width:768px){.cta-banda{padding:64px 56px;border-radius:var(--r-xl)}.cta-banda .btn{width:auto}}
@media (min-width:1200px){.cta-banda{flex-direction:row;align-items:center;justify-content:space-between;gap:64px;padding:88px 96px}.cta-banda__corpo{flex-direction:row;align-items:center;gap:40px;flex:0 1 760px}.cta-banda .btn{white-space:nowrap}}
.campanella{position:relative;display:grid;place-items:center;width:96px;height:96px;flex:none}
.campanella__onda{position:absolute;inset:-5%;border:2px solid rgba(242,240,234,.55);border-radius:50%}
.campanella__onda.ring2{inset:-30%}
.campanella__disco{position:relative;display:grid;place-items:center;width:100%;height:100%;border-radius:50%;background:var(--c-pietra)}
.campanella__disco .ding{display:block;width:50%}
@media (min-width:1200px){.campanella{width:120px;height:120px}}

/* 16. Footer -------------------------------------------------------------- */
.site-footer{position:relative;background:var(--c-verde-bosco);color:var(--c-pietra);padding:72px 0 32px;margin-top:0}
@media (min-width:1200px){.site-footer{padding:104px 0 44px}}
.site-footer__sigillo{position:absolute;left:50%;top:0;transform:translate(-50%,-50%);width:80px;height:80px;padding:8px;box-sizing:content-box;border-radius:50%;background:var(--c-verde-bosco)}
.site-footer .contenitore{display:flex;flex-direction:column;gap:36px}
@media (min-width:1200px){.site-footer .contenitore{gap:44px}}
.site-footer a{color:var(--c-pietra)}
.site-footer__testa{display:flex;flex-direction:column;gap:24px;padding-bottom:28px;border-bottom:1px solid var(--c-verde-600)}
.site-footer__testa .logo{margin:0}
.site-footer__nav ul{display:flex;flex-wrap:wrap;gap:12px 28px}
.site-footer__nav a{text-decoration:none}
.site-footer__nav a:hover{color:var(--c-corallo)}
.site-footer__testa .btn{align-self:flex-start}
.site-footer__testa .btn svg{width:18px;height:18px}
@media (min-width:1200px){.site-footer__testa{flex-direction:row;align-items:center;justify-content:space-between;gap:32px;padding-bottom:36px}}
.site-footer__cta{position:relative;overflow:hidden;display:flex;flex-direction:column;gap:20px;background:var(--c-terracotta);border-radius:22px;padding:28px 24px}
.site-footer__cta>*:not(.pattern){position:relative}
.site-footer__cta-testo{font-family:var(--font-serif);font-size:clamp(1.5rem,1.2rem + 1vw,1.875rem);line-height:1.2;color:#fff}
.site-footer__cta .btn{align-self:flex-start}
.site-footer__cta .btn:hover{color:var(--c-terracotta)}
@media (min-width:768px){.site-footer__cta{flex-direction:row;align-items:center;justify-content:space-between;gap:32px;padding:32px 40px}.site-footer__cta .btn{align-self:auto;white-space:nowrap}}
.site-footer__contatti{display:grid;gap:32px}
.site-footer__marchio{display:flex;flex-direction:column;gap:18px;color:var(--c-salvia-chiaro);font-size:.875rem}
.site-footer__marchio img{width:200px}
.site-footer__telefono{display:flex;align-items:center;gap:22px}
.site-footer__telefono>div{display:flex;flex-direction:column;gap:6px}
.site-footer__telefono p{color:var(--c-salvia-chiaro);font-size:.9375rem}
.site-footer__numero{font-family:var(--font-serif);font-size:clamp(2rem,1.5rem + 1.6vw,3rem);line-height:1}
.site-footer__numero a{text-decoration:none;color:var(--c-pietra)}
@media (min-width:768px){
  .site-footer__contatti{grid-template-columns:1fr 1fr;gap:0}
  .site-footer__contatti>div{padding:8px 56px;align-items:center}
  .site-footer__marchio{border-right:1px solid var(--c-verde-600)}
  .site-footer__marchio img{width:240px}
}
.site-footer__legale{display:flex;flex-direction:column;gap:12px;padding-top:24px;border-top:1px solid var(--c-verde-600);font-size:.875rem;color:var(--c-travertino)}
.site-footer__legale ul{display:flex;gap:6px}
.site-footer__legale li+li::before{content:"·";margin-right:6px}
.site-footer__legale a{color:var(--c-travertino);text-decoration:none}
@media (min-width:1200px){.site-footer__legale{flex-direction:row;justify-content:space-between;gap:24px}}

/* 17. Motion ---------------------------------------------------------------
   Libreria dei mockup (identica, con i due fix walk/spin) + comportamenti di animations.js */@keyframes sway   {0%,100%{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}
@keyframes swing  {0%,100%{transform:rotate(-7deg)}50%{transform:rotate(7deg)}}
@keyframes float  {0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@keyframes rise   {0%,100%{transform:translateY(10px)}50%{transform:translateY(-8px)}}
@keyframes spin   {to{transform:rotate(360deg)}}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
/* [FIX] mockup: -240. Il pattern dash è 2+12=14px: 240 non è multiplo di 14 → scatto a ogni ciclo. 252 = 18×14. */
@keyframes walk   {to{stroke-dashoffset:-252}}
@keyframes waves  {0%,100%{transform:translateX(0)}50%{transform:translateX(12px)}}
@keyframes steam  {0%{transform:translateY(3px);opacity:0}40%{opacity:1}100%{transform:translateY(-6px);opacity:0}}
@keyframes grow   {0%,15%{transform:scaleY(.25)}60%,100%{transform:scaleY(1)}}
@keyframes ring   {0%{transform:scale(.8);opacity:.7}100%{transform:scale(1.6);opacity:0}}
@keyframes ding   {0%,70%,100%{transform:rotate(0)}75%{transform:rotate(-10deg)}85%{transform:rotate(8deg)}}

.sway  {animation:sway 7s ease-in-out infinite}
.swing {animation:swing 4.5s ease-in-out infinite}
.float {animation:float 6s ease-in-out infinite}
.float2{animation:float 7s ease-in-out -3s infinite}
.rise  {animation:rise 9s ease-in-out infinite}
/* [FIX] mockup: transform-origin:100px 100px (valido solo per viewBox 200×200). Reso indipendente dalla dimensione: */
.spin  {animation:spin 90s linear infinite;transform-box:fill-box;transform-origin:center}
.marquee{animation:marquee 45s linear infinite} /* il contenuto deve essere duplicato: 2 metà identiche */
.walk  {stroke-dasharray:2 12;animation:walk 6s linear infinite}
.waves {animation:waves 5s ease-in-out infinite}
.steam {animation:steam 2.8s ease-out infinite}
.steam2{animation-delay:-1.4s}
.grow  {transform-box:fill-box;transform-origin:bottom;animation:grow 5s ease-in-out infinite alternate}
.ring  {transform-origin:center;animation:ring 2.4s ease-out infinite}
.ring2 {animation-delay:-1.2s}
.ding  {transform-origin:50% 90%;animation:ding 3s ease-in-out infinite}

/* hover card (dai mockup: solo translateY; l'ombra è dichiarata in transition ma mai impostata) */
.lift{transition:transform .25s ease, box-shadow .25s ease}
.lift:hover,.lift:focus-within{transform:translateY(-4px);box-shadow:0 14px 34px rgba(30,58,50,.16)} /* [NUOVO] ombra + focus */


/* Reveal allo scroll (gestito da animations.js), stagger via nth-child: niente style inline */
.reveal{opacity:0;transform:translateY(16px);transition:opacity .6s var(--ease-out),transform .6s var(--ease-out)}
.reveal.is-in{opacity:1;transform:none}
.no-js .reveal{opacity:1;transform:none}
:is(.griglia-2,.griglia-3,.griglia-4,.griglia-5,.fasi__lista,.lista-icone)>.reveal:nth-child(2){transition-delay:80ms}
:is(.griglia-2,.griglia-3,.griglia-4,.griglia-5,.fasi__lista,.lista-icone)>.reveal:nth-child(3){transition-delay:160ms}
:is(.griglia-2,.griglia-3,.griglia-4,.griglia-5,.fasi__lista,.lista-icone)>.reveal:nth-child(4){transition-delay:240ms}
:is(.griglia-2,.griglia-3,.griglia-4,.griglia-5,.fasi__lista,.lista-icone)>.reveal:nth-child(5){transition-delay:320ms}
.is-offscreen,.is-offscreen *{animation-play-state:paused!important}
.marquee-wrap:hover .marquee,.marquee-wrap:focus-within .marquee{animation-play-state:paused}
.marquee{will-change:transform}
.site-header{transition:box-shadow .25s ease}
.site-header.is-scrolled{box-shadow:0 8px 24px rgba(30,58,50,.06)}
.mobile-nav{transform:translateX(100%);transition:transform .35s var(--ease-out),visibility .35s;visibility:hidden}
.mobile-nav.is-open{transform:none;visibility:visible}
details summary svg{transition:transform .25s ease}
details[open] summary svg{transform:rotate(180deg)}
@supports (interpolate-size:allow-keywords){:root{interpolate-size:allow-keywords}details::details-content{block-size:0;overflow:hidden;transition:block-size .3s ease,content-visibility .3s allow-discrete}details[open]::details-content{block-size:auto}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.reveal{opacity:1!important;transform:none!important}}
.btn.lift{transition:background-color .2s ease,color .2s ease,border-color .2s ease,transform .25s ease,box-shadow .25s ease}

/* 18. Servizi --------------------------------------------------------------- */
.display--m{font-size:clamp(2.5rem,1.6rem + 3vw,4.25rem)}
.ancore{display:flex;flex-wrap:wrap;gap:10px;padding-top:8px}
.ancore a{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;background:var(--c-bianco);border:1px solid var(--c-travertino);border-radius:var(--r-pill);font-size:.875rem;font-weight:600;text-decoration:none;transition:border-color .2s ease,color .2s ease}
.ancore a:hover{border-color:var(--c-terracotta)}
.ancore svg{width:18px;height:18px}
.ruota{aspect-ratio:1;max-width:540px}
.ruota>*{position:absolute}
.ruota__orbita{inset:0}
.ruota__centro{left:35%;top:35%;width:30%}
.ruota__voce{width:24%;display:flex;flex-direction:column;align-items:center;gap:8px}
.ruota__voce p{font-size:clamp(.6875rem,.5rem + .6vw,.9375rem);font-weight:600;letter-spacing:.06em;text-transform:uppercase;text-align:center}
.ruota__voce .sigillo{width:100%}
.ruota__voce--1{left:40%;top:4%}.ruota__voce--2{left:74%;top:29%}.ruota__voce--3{left:61%;top:69%}.ruota__voce--4{left:19%;top:69%}.ruota__voce--5{left:6%;top:29%}
@media (max-width:767px){.ruota{max-width:350px}}

main>section.servizio{padding-block:clamp(64px,7vw,104px)}
.servizio__testo,.servizio__dettaglio{display:flex;flex-direction:column;gap:20px}
@media (min-width:768px){.servizio__testo,.servizio__dettaglio{gap:24px}}
.servizio__titolo{display:flex;align-items:center;gap:20px}
.servizio__titolo>div{display:flex;flex-direction:column;gap:8px}
.servizio__titolo h2{font-weight:500;font-size:clamp(2rem,1.3rem + 2.4vw,3.625rem);line-height:1.02}
@media (min-width:768px){.servizio__titolo{gap:28px}}
.numero--terracotta{color:var(--c-terracotta);font-size:clamp(1.25rem,1.1rem + .4vw,1.625rem)}
.sottotitolo-corsivo{font-style:italic;color:var(--c-terracotta);font-size:clamp(1.5rem,1.3rem + .6vw,2rem)}
.eyebrow--neutro{color:var(--c-salvia)}
.etichette{display:flex;flex-wrap:wrap;gap:10px}
.etichette li{display:inline-flex;align-items:center;gap:10px;padding:10px 16px;background:var(--c-pietra);border:1px solid var(--c-travertino);border-radius:var(--r-pill);font-size:.9375rem;line-height:1.3}
.etichette li::before{content:"";flex:none;width:16px;height:16px;background:var(--c-terracotta);-webkit-mask:var(--check) center/contain no-repeat;mask:var(--check) center/contain no-repeat}
.etichette--bianche li{background:var(--c-bianco)}
.risultato{display:flex;gap:16px;align-items:flex-start;background:var(--c-verde-bosco);border-radius:18px;padding:22px 24px}
.risultato>svg{width:28px;height:28px;flex:none}
.risultato>div{display:flex;flex-direction:column;gap:6px}
.risultato .eyebrow{font-size:.75rem}
.risultato__testo{font-family:var(--font-serif);font-size:clamp(1.1875rem,1.1rem + .3vw,1.375rem);line-height:1.3;color:var(--c-pietra)}
@media (min-width:768px){.risultato{padding:24px 28px}}
@media (min-width:768px){.servizio--inverso .servizio__testo{order:2}}
.decoro--rosone-dx-alto{right:-170px;top:-150px;width:clamp(240px,29vw,420px)}
.decoro--rosone-sx-alto{left:-170px;top:-150px;width:clamp(240px,29vw,420px)}

/* 19. Metodo ---------------------------------------------------------------- */
.hero__intestazione{display:flex;flex-direction:column;gap:20px;position:relative;z-index:1}
@media (min-width:1200px){.hero__intestazione{display:grid;grid-template-columns:600px 520px;justify-content:space-between;align-items:end;gap:80px}}
.hero--metodo .hero__testo{gap:24px}
.percorso{position:relative;margin-top:28px;background:var(--c-bianco);border:1px solid var(--c-travertino);border-radius:18px;padding:20px}
.percorso__linea,.percorso__sigillo{display:none}
.percorso__tappe{display:flex;flex-direction:column;gap:14px}
.percorso__tappe li{display:flex;align-items:center;gap:14px}
.percorso__tappe a{font-family:var(--font-serif);font-size:1.25rem;text-decoration:none}
.icona--percorso{--s:52px}
@media (max-width:1199px){.percorso__tappe li{animation:none}}
@media (min-width:1200px){
  .percorso{margin-top:48px;border-radius:24px;padding:24px 0;display:grid;grid-template-columns:240px 1fr;align-items:start}
  .percorso__linea{display:block;position:absolute;inset:24px 0}
  .percorso__sigillo{display:block;position:relative;width:129px;margin:121px 0 0 55px}
  .percorso__tappe{display:grid;grid-template-columns:repeat(4,240px);gap:0;height:300px}
  .percorso__tappe li{flex-direction:column;gap:8px;justify-self:start;margin-top:55px;margin-left:61px}
  .percorso__tappe li:nth-child(even){margin-top:127px}
  .percorso__tappe a{font-family:var(--font-sans);font-size:.9375rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}
  .icona--percorso{--s:94px}
}
main>section.fase-dettaglio{padding-block:clamp(56px,7vw,104px)}
.fase-dettaglio__griglia{display:grid;grid-template-columns:auto 1fr;column-gap:16px;row-gap:20px;align-items:center}
.fase-dettaglio__griglia>.icona{--s:77px}
.fase-dettaglio__titolo{display:flex;flex-direction:column;gap:10px;align-items:flex-start}
.fase-dettaglio__titolo h2{font-weight:500;font-size:clamp(2rem,1.3rem + 2.4vw,3.625rem);line-height:1.02}
.fase-dettaglio__testo{grid-column:1/-1;display:flex;flex-direction:column;gap:22px}
.pillola{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:var(--r-pill);background:var(--c-verde-bosco);color:var(--c-pietra);font-size:.8125rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;line-height:1.2}
.pillola svg{width:16px;height:16px}
@media (min-width:1200px){
  .fase-dettaglio__griglia{grid-template-columns:150px 469px 469px;justify-content:space-between;align-items:start;column-gap:56px}
  .fase-dettaglio__griglia>.icona{--s:120px;justify-self:center}
  .fase-dettaglio__titolo{padding-top:12px;gap:18px}
  .fase-dettaglio__testo{grid-column:auto;padding-top:16px}
}
.carta--scura{background:var(--c-verde-800);border-color:var(--c-verde-700)}
.carta--scura h3{color:var(--c-pietra);font-weight:400;font-size:clamp(1.3125rem,1.2rem + .4vw,1.625rem)}
.carta--scura p{color:var(--c-salvia-chiaro)}
.kpi-misurati{margin-top:clamp(40px,5vw,56px);padding-top:24px;border-top:1px solid var(--c-verde-600);display:flex;flex-direction:column;gap:24px}
.kpi-misurati__testa{display:flex;flex-direction:column;gap:8px}
.kpi-misurati__testa h3{font-size:clamp(1.625rem,1.3rem + 1vw,2.125rem)}
.kpi-misurati__testa p{font-size:.9375rem}
@media (min-width:768px){.kpi-misurati__testa{flex-direction:row;justify-content:space-between;align-items:flex-end}}
.kpi-misurati__lista{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
@media (min-width:768px){.kpi-misurati__lista{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:1200px){.kpi-misurati__lista{grid-template-columns:repeat(6,minmax(0,1fr));gap:16px}}
.kpi-misurati__lista li{position:relative;display:grid;place-items:center;min-height:96px;border:1px solid var(--c-verde-700);border-radius:12px;overflow:hidden}
@media (min-width:1200px){.kpi-misurati__lista li{min-height:122px}}
.cornice{position:absolute;inset:0}
.cornice svg{width:100%;height:100%}
.kpi-misurati__lista p{position:relative;font-family:var(--font-serif);font-size:1.25rem;color:var(--c-pietra);padding:0 8px;text-align:center}

/* 20. Programmi -------------------------------------------------------------- */
.hero--programmi .hero__griglia{align-items:flex-end}
main>section.hero--programmi{padding-bottom:0}
.hero--programmi .hero__testo{padding-bottom:clamp(40px,5vw,80px)}
@media (min-width:1200px){.hero--programmi .hero__testo{flex-basis:640px}}
.podio{display:flex;align-items:flex-end;justify-content:center;gap:clamp(12px,1.5vw,20px);width:100%;max-width:400px;margin-inline:auto}
@media (min-width:1200px){.podio{margin:0}}
.podio__gradino{flex:1;display:flex;flex-direction:column;align-items:center;gap:10px}
.podio__gradino p{font-family:var(--font-serif);font-size:clamp(1rem,.9rem + .3vw,1.25rem)}
.podio__gradino--1{margin-top:80px}.podio__gradino--1 .sigillo{width:64%}
.podio__gradino--2{margin-top:40px}.podio__gradino--2 .sigillo{width:78%}
.podio__gradino--3 .sigillo{width:93%}
.podio__base{display:block;width:100%;background:var(--c-sabbia-2);border-radius:8px 8px 0 0;height:40px}
.podio__gradino--2 .podio__base{height:80px}
.podio__base--scura{background:var(--c-verde-bosco);height:120px}
.programma--grande{border-radius:24px}
.programma--grande h2{font-weight:500;font-size:clamp(2.25rem,1.9rem + 1vw,3rem);line-height:1}
.programma--evidenza h2{color:var(--c-pietra)}
.programma__descrizione--corsivo{font-family:var(--font-serif);font-style:italic;font-size:clamp(1.25rem,1.15rem + .3vw,1.375rem);line-height:1.3}
@media (min-width:768px){.programma--grande{padding:40px 36px}}
.tabella-confronto{overflow-x:auto;background:var(--c-bianco);border:1px solid var(--c-travertino);border-radius:24px;padding:8px 16px 16px;-webkit-overflow-scrolling:touch}
@media (min-width:768px){.tabella-confronto{padding:8px 40px 24px}}
.tabella-confronto table{width:100%;min-width:640px;border-collapse:collapse}
.tabella-confronto thead th{font-family:var(--font-serif);font-weight:500;font-size:clamp(1.25rem,1.1rem + .4vw,1.5625rem);padding:20px 8px;text-align:center}
.tabella-confronto thead th.evidenza{background:var(--c-verde-bosco);color:var(--c-pietra);border-radius:16px 16px 0 0}
.tabella-confronto tbody tr{border-top:1px solid var(--c-travertino)}
.tabella-confronto tbody th{text-align:left;font-weight:500;font-size:1.0625rem;padding:12px 12px 12px 0;width:25%}
.tabella-confronto td{text-align:center;padding:8px 6px;font-weight:600}
.tabella-confronto td:nth-child(3){background:var(--c-verde-bosco);color:var(--c-pietra)}
.tabella-confronto tbody tr:last-child td:nth-child(3){border-radius:0 0 16px 16px}
.segno{display:inline-block;margin:0;width:22px;height:22px;overflow:hidden;text-indent:100%;white-space:nowrap;vertical-align:middle}
.segno--si{background:var(--c-terracotta);-webkit-mask:var(--check) center/contain no-repeat;mask:var(--check) center/contain no-repeat}
td:nth-child(3) .segno--si{background:var(--c-corallo)}
.segno--no{width:14px;height:2px;background:var(--c-travertino)}
td:nth-child(3) .segno--no{background:var(--c-verde-600)}
@media (min-width:1200px){.modello-economico__voci--alto{padding-top:120px}}
main>section.faq-breve{padding-top:clamp(64px,7vw,104px);padding-bottom:40px}
.faq-breve__griglia{display:flex;flex-direction:column;gap:28px}
@media (min-width:1200px){.faq-breve__griglia{display:grid;grid-template-columns:400px 720px;justify-content:space-between}.faq-breve__griglia .intestazione{margin:0}}
.faq-breve__lista{display:flex;flex-direction:column;gap:16px}
.domanda{display:flex;flex-direction:column;gap:10px;background:var(--c-bianco);border:1px solid var(--c-travertino);border-radius:var(--r-md);padding:22px}
.domanda h3{font-size:clamp(1.1875rem,1.1rem + .3vw,1.375rem)}
.domanda p{color:var(--c-salvia);line-height:1.6}
@media (min-width:768px){.domanda{padding:28px}}
.faq-breve+.cta-property-check{padding-top:72px}

/* 21. Property Check -------------------------------------------------------- */
main>section.hero--property-check{padding-block:40px 64px}
@media (min-width:1200px){main>section.hero--property-check{padding-block:88px 112px}}
.pc-griglia{display:flex;flex-direction:column;gap:40px}
@media (min-width:1200px){.pc-griglia{display:grid;grid-template-columns:480px 640px;justify-content:space-between;align-items:start}}
.pc-testo{display:flex;flex-direction:column;gap:22px}
@media (min-width:1200px){.pc-testo{padding-top:16px;gap:28px}}
.pc-marchio{display:flex;align-items:center;gap:10px}
.pc-marchio__sigillo{width:40px}
.display--s{font-size:clamp(2.5rem,1.7rem + 2.8vw,4rem);line-height:1.05}
.garanzia{display:flex;gap:12px;align-items:center;background:var(--c-bianco);border:1px solid var(--c-travertino);border-radius:14px;padding:16px 20px;font-size:.9375rem;line-height:1.35}
.garanzia::before{content:"";flex:none;width:22px;height:22px;background:var(--c-terracotta);-webkit-mask:var(--check) center/contain no-repeat;mask:var(--check) center/contain no-repeat}
.pc-ricevi{display:flex;flex-direction:column;padding-top:16px}
.pc-ricevi>.eyebrow{padding-bottom:12px}
.lista-analisi{border-bottom:1px solid var(--c-travertino)}
.lista-analisi li{display:flex;gap:16px;align-items:flex-start;padding:18px 0;border-top:1px solid var(--c-travertino)}
.lista-analisi .icona{--s:48px}
.lista-analisi div{display:flex;flex-direction:column;gap:4px}
.lista-analisi h3{font-size:1.3125rem}
.lista-analisi p{font-size:.9375rem;color:var(--c-salvia);line-height:1.5}
/* Modulo */
.modulo{position:relative;z-index:1;display:flex;flex-direction:column;gap:24px;background:var(--c-bianco);border-radius:20px;padding:24px 20px;box-shadow:0 1px 0 var(--c-travertino)}
@media (min-width:768px){.modulo{padding:40px;border-radius:24px}}
.modulo__testa{display:flex;align-items:center;justify-content:space-between;gap:16px}
.modulo__testa h2{font-size:1.75rem}
.modulo__testa p{font-size:.875rem;color:var(--c-salvia);margin-top:6px}
.modulo__sigillo{width:56px;flex:none}
@media (min-width:768px){.modulo__sigillo{width:64px}}
.modulo__campi{display:grid;grid-template-columns:minmax(0,1fr);gap:18px}
@media (min-width:768px){.modulo__campi{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 16px}}
.campo{display:flex;flex-direction:column;gap:8px;min-width:0;margin:0;padding:0;border:0}
.campo--largo{grid-column:1/-1}
.campo label,.campo legend{font-size:.8125rem;font-weight:600;padding:0}
.obbligatorio{color:var(--c-terracotta);margin-left:3px}
.campo input,.campo select,.campo textarea{width:100%;min-height:48px;padding:0 14px;background:var(--c-bianco);border:1px solid var(--c-bordo-input);border-radius:10px;font:inherit;font-size:.9375rem;color:var(--c-verde-bosco);transition:border-color .2s ease,box-shadow .2s ease}
.campo textarea{padding:12px 14px;min-height:104px;resize:vertical}
.campo ::placeholder{color:#8B938E}
.campo input:focus,.campo select:focus,.campo textarea:focus{outline:none;border-color:var(--c-verde-bosco);box-shadow:0 0 0 3px rgba(30,58,50,.12)}
.campo input:user-invalid,.campo select:user-invalid{border-color:var(--c-terracotta)}
.campo__select{position:relative}
.campo__select select{appearance:none;-webkit-appearance:none;padding-right:40px;cursor:pointer}
.campo__select svg{position:absolute;right:14px;top:50%;width:16px;height:16px;transform:translateY(-50%);pointer-events:none}
.campo legend{margin-bottom:10px}
.scelte{display:flex;flex-wrap:wrap;gap:8px}
.scelte label{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border:1px solid var(--c-bordo-input);border-radius:var(--r-pill);font-size:.875rem;font-weight:400;cursor:pointer;transition:border-color .2s ease,background-color .2s ease}
.scelte label:has(input:checked){border-color:var(--c-verde-bosco);background:#EEF1EF}
.scelte input{accent-color:var(--c-terracotta);margin:0}
.consenso{display:flex;gap:10px;align-items:flex-start;font-size:.875rem;color:var(--c-salvia);line-height:1.5}
.consenso input{flex:none;width:18px;height:18px;margin:1px 0 0;accent-color:var(--c-terracotta)}
.consenso a{color:var(--c-verde-bosco)}
.campo-trappola{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.btn--pieno{width:100%;min-height:56px;font-size:1.0625rem}
.modulo__nota{font-size:.8125rem;color:var(--c-salvia)}
/* Come funziona: 3 passi */
@media (min-width:1200px){.fasi--tre .fasi__lista{grid-template-columns:repeat(3,minmax(0,1fr))}}
.come-funziona .intestazione--centrata{margin-bottom:clamp(40px,5vw,72px)}
main>section.faq-breve--chiusura{padding-bottom:var(--sp-sezione)}
.campo .scelte input{width:auto;min-height:0;height:auto;padding:0;border:0;box-shadow:none}
.campo .scelte input[type=checkbox],.campo .scelte input[type=radio]{width:16px;height:16px}
.parla-con-noi{display:none;align-items:center;gap:8px;font-size:.9375rem;font-weight:600;text-decoration:none}
.parla-con-noi svg{width:20px;height:20px}
.pagina-property-check .btn--header{display:none}
.pagina-property-check .parla-con-noi{display:inline-flex}
.vai-al-modulo .btn{width:100%}
@media (min-width:1200px){.vai-al-modulo{display:none}}

/* 22. Case history ----------------------------------------------------------- */
.intestazione--stretta{max-width:760px}
.media-pilot{position:relative;z-index:1;display:flex;flex-direction:column;gap:22px;background:var(--c-verde-bosco);color:var(--c-pietra);border-radius:24px;padding:24px;width:100%}
@media (min-width:768px){.media-pilot{padding:36px}}
@media (min-width:1200px){.media-pilot{flex:0 0 480px}}
.media-pilot__testa{display:flex;flex-direction:column;gap:6px}
.media-pilot__testa h2{font-size:1.625rem;color:var(--c-pietra)}
.media-pilot__testa p:last-child{font-size:.875rem;color:var(--c-salvia-chiaro)}
.metriche{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.metriche li{display:flex;flex-direction:column;gap:10px;background:var(--c-pietra);border:1px solid var(--c-travertino);border-radius:16px;padding:18px}
@media (min-width:768px){.metriche li{padding:22px}}
.metrica__nome{font-size:.75rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--c-terracotta)}
.metrica__valore{display:flex;align-items:center;gap:10px;font-family:var(--font-serif);font-size:clamp(1.75rem,1.4rem + 1.1vw,2.75rem);line-height:1}
.metrica__valore svg{width:26px;height:26px;flex:none}
.metriche--scure li{background:var(--c-verde-800);border-color:var(--c-verde-700)}
.metriche--scure .metrica__nome{color:var(--c-corallo)}
.metriche--scure .metrica__valore{color:var(--c-pietra);font-size:clamp(1.75rem,1.4rem + .9vw,2.375rem)}
main>section.cosa-misuriamo{padding-block:clamp(64px,7vw,96px)}
.indicatori{gap:28px}
.indicatori li{display:flex;flex-direction:column;gap:12px}
.indicatori h3{font-weight:500;font-size:1.625rem}
.indicatori p{color:var(--c-salvia)}
main>section.case-schede{padding-bottom:8px}
.case-schede__lista{display:flex;flex-direction:column;gap:24px}
.caso{display:grid;gap:28px;background:var(--c-bianco);border:1px solid var(--c-travertino);border-radius:20px;padding:24px 20px}
@media (min-width:768px){.caso{padding:40px;border-radius:28px}}
@media (min-width:1200px){.caso{grid-template-columns:502px 520px;justify-content:space-between;align-items:center;padding:48px 56px}}
.caso__testo{display:flex;flex-direction:column;gap:14px;align-items:flex-start}
@media (min-width:768px){.caso__testo{gap:16px}}
.caso__testa{display:flex;align-items:center;gap:16px}
.caso .icona{--s:56px}
.caso__numero{font-family:var(--font-serif);font-style:italic;font-size:2.5rem;line-height:1;color:var(--c-corallo)}
.caso h3{font-size:clamp(1.75rem,1.4rem + 1vw,2.375rem);line-height:1.08}
.caso__luogo{display:inline-flex;align-items:center;gap:8px;font-size:.9375rem;font-weight:500;color:var(--c-salvia)}
.caso__luogo svg{width:18px;height:18px}
.caso__descrizione{font-size:1.0625rem;color:var(--c-salvia);line-height:1.6}
.link-sito{display:inline-flex;align-items:center;gap:8px;font-size:.9375rem;font-weight:600;color:var(--c-terracotta);text-decoration:none}
.link-sito svg{width:16px;height:16px}
.caso__numeri{display:flex;flex-direction:column;gap:12px}
.nota{font-size:.8125rem;color:var(--c-salvia)}
.case-schede+.cta-property-check{padding-top:clamp(64px,7vw,104px)}

/* 23. Per chi è -------------------------------------------------------------- */
@media (min-width:1200px){.hero__testo--largo{flex-basis:640px;max-width:640px}}
.mosaico-icone{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;max-width:350px}
@media (min-width:768px){.mosaico-icone{grid-template-columns:repeat(2,120px);gap:18px;max-width:none}}
.icona--xxl{--s:100%;aspect-ratio:1;width:100%;height:auto}
@media (min-width:768px){.icona--xxl{--s:120px;width:120px;height:120px}}
@media (max-width:1199px){.mosaico-icone{margin-inline:0}}
.carta--tipologia{padding:24px}
.carta--tipologia h3{font-size:clamp(1.375rem,1.2rem + .5vw,1.75rem)}
.carta--tipologia p{font-size:1rem}
@media (min-width:1200px){.carta--tipologia{padding:32px;border-radius:var(--r-lg)}}
@media (max-width:767px){.carte .carta--tipologia .icona{--s:64px}}
.valori{border-top:1px solid var(--c-verde-600)}
.valore{display:grid;grid-template-columns:auto 1fr;column-gap:16px;row-gap:8px;align-items:center;padding:24px 0;border-bottom:1px solid var(--c-verde-600)}
.valore__numero{font-family:var(--font-serif);font-style:italic;font-size:2.5rem;line-height:1;color:var(--c-corallo);grid-row:1}
.valore .icona{--s:64px;grid-row:1}
.valore h3{grid-column:1/-1;font-weight:500;font-size:clamp(1.5rem,1.2rem + .9vw,2.125rem)}
.valore h3+p{grid-column:1/-1;font-size:1rem;color:var(--c-salvia-chiaro)}
@media (min-width:1200px){
  .valore{grid-template-columns:80px 140px 442px 442px;justify-content:space-between;column-gap:24px;padding:32px 0}
  .valore__numero,.valore .icona,.valore h3,.valore h3+p{grid-row:1;grid-column:auto}
  .valore__numero{font-size:3.5rem}
  .valore .icona{--s:96px}
  .valore h3+p{font-size:1.0625rem}
}
.valori__chiusura{display:flex;align-items:center;gap:20px;margin-top:40px}
.valori__sigillo{width:56px;flex:none}
.valori__chiusura p{font-family:var(--font-serif);font-style:italic;font-size:clamp(1.25rem,1.1rem + .5vw,1.625rem);line-height:1.3;color:var(--c-pietra)}
@media (min-width:768px){.valori__sigillo{width:64px}}

/* 24. Chi siamo -------------------------------------------------------------- */
.emblema{margin:0;display:flex;flex-direction:column;align-items:center;gap:24px;text-align:center}
.emblema__sigillo{width:clamp(180px,20vw,300px)}
.emblema p{font-family:var(--font-serif);font-style:italic;font-size:clamp(1.125rem,1rem + .4vw,1.375rem);color:var(--c-salvia)}
@media (min-width:1200px){.emblema{flex:0 0 482px}}
main>section.know-how--esteso{padding-block:var(--sp-sezione)}
.kpi--schede{grid-template-columns:minmax(0,1fr);gap:12px}
.kpi--schede li{background:var(--c-pietra);border-radius:var(--r-lg);padding:24px}
.kpi--schede .kpi__valore{font-size:clamp(2.25rem,1.6rem + 2vw,3.5rem)}
.kpi--schede .kpi__etichetta{font-size:1rem}
@media (min-width:768px){.kpi--schede{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:1200px){.kpi--schede{grid-template-columns:minmax(0,1fr);gap:14px}.kpi--schede li{padding:32px}}
.come-lavoriamo .carta--scura h3{font-size:1.5rem}
main>section.team{padding-bottom:40px}
.team__lista{gap:16px}
.persona{display:flex;flex-direction:column;align-items:flex-start;gap:16px;background:var(--c-bianco);border:1px solid var(--c-travertino);border-radius:var(--r-lg);padding:24px}
@media (min-width:768px){.persona{padding:28px}}
.persona img{width:120px;height:120px;border-radius:50%;object-fit:cover}
.persona div{display:flex;flex-direction:column;gap:4px}
.persona h3{font-size:1.5rem}
.persona p{font-size:.9375rem;color:var(--c-salvia)}
@media (max-width:767px){.persona{flex-direction:row;align-items:center}.persona img{width:88px;height:88px}}
.team+.cta-property-check{padding-top:clamp(64px,7vw,104px)}
.sfondo-verde .intro,.sfondo-verde .lead{color:var(--c-salvia-chiaro)}
.intestazione--divisa>p:last-child:has(.link-freccia){flex:none}
.know-how--esteso .griglia-2{align-items:center}

/* 25. FAQ -------------------------------------------------------------------- */
.trio-icone{display:flex;gap:18px}
.trio-icone .icona{--s:72px}
@media (min-width:768px){.trio-icone .icona{--s:104px}}
main>section.faq-elenco{padding-top:clamp(40px,6vw,88px);padding-bottom:24px;overflow:visible}
.faq-elenco__griglia{display:flex;flex-direction:column;gap:32px}
@media (min-width:1200px){.faq-elenco__griglia{display:grid;grid-template-columns:300px 820px;justify-content:space-between;align-items:start}}
.faq-categorie ul{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px}
.faq-categorie a{display:flex;align-items:center;gap:12px;white-space:nowrap;padding:12px 16px;background:var(--c-bianco);border:1px solid var(--c-travertino);border-radius:12px;font-weight:600;text-decoration:none}
.faq-categorie a:hover{border-color:var(--c-terracotta)}
.faq-categorie .icona{--s:32px}
@media (min-width:1200px){.faq-categorie{position:sticky;top:120px}.faq-categorie ul{flex-direction:column;gap:6px;overflow:visible}.faq-categorie a{padding:14px 18px}}
.faq-elenco__gruppi{display:flex;flex-direction:column;gap:clamp(40px,4vw,56px)}
.faq-gruppo{display:flex;flex-direction:column;gap:14px;scroll-margin-top:96px}
.faq-gruppo h2{font-weight:500;font-size:clamp(1.75rem,1.5rem + .8vw,2.25rem)}
.faq{background:var(--c-bianco);border:1px solid var(--c-travertino);border-radius:var(--r-md);padding:20px}
@media (min-width:768px){.faq{padding:24px 28px}}
.faq summary{display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary h3{font-size:clamp(1.1875rem,1.1rem + .3vw,1.4375rem);line-height:1.3}
.faq summary svg{width:20px;height:20px;flex:none}
.faq p{padding-top:12px;color:var(--c-salvia);line-height:1.6}
.faq-elenco+.cta-property-check{padding-top:clamp(64px,7vw,104px)}

/* 26. Pagine di servizio (legali, 404, conferma) ------------------------------ */
main>section.hero--semplice{padding-block:56px 40px}
.hero--semplice .contenitore{display:flex;flex-direction:column;gap:18px}
@media (min-width:1200px){main>section.hero--semplice{padding-block:88px 56px}}
.prosa{max-width:760px;display:flex;flex-direction:column;gap:16px}
.prosa h2{font-size:clamp(1.5rem,1.3rem + .6vw,1.875rem);margin-top:24px}
.prosa h2:first-child{margin-top:0}
.prosa p,.prosa li{color:var(--c-salvia);line-height:1.7}
.prosa ul{list-style:disc;padding-left:1.25em}
main>section.esito{padding-block:clamp(72px,10vw,140px);text-align:center}
.esito__corpo{display:flex;flex-direction:column;align-items:center;gap:20px;max-width:760px}
.esito__corpo .lead{max-width:600px}
.esito__sigillo{width:96px}
.esito__spunta{width:88px}
.spunta{stroke-dasharray:40;stroke-dashoffset:40;animation:disegna .5s var(--ease-out) .2s forwards}
@keyframes disegna{to{stroke-dashoffset:0}}
.azioni--centro{justify-content:center;width:100%}
.passi-grazie .carta{gap:10px}
.numero--corallo{color:var(--c-corallo);font-size:2.25rem}
@media (prefers-reduced-motion:reduce){.spunta{stroke-dashoffset:0}}

.btn--header-lungo{display:none}
@media (min-width:1200px){.btn--header-lungo{display:inline-flex}.btn--header-corto{display:none}}
.pagina-property-check .btn--header-lungo,.pagina-property-check .btn--header-corto{display:none}
