/* AffittoTettoperFotovoltaico.it — foglio di stile */
@font-face{font-family:"Fraunces";src:url(/assets/fonts/fraunces-latin-opsz-normal.woff2) format("woff2");font-weight:300 900;font-style:normal;font-display:swap}
@font-face{font-family:"Fraunces";src:url(/assets/fonts/fraunces-latin-opsz-italic.woff2) format("woff2");font-weight:300 900;font-style:italic;font-display:swap}
@font-face{font-family:"Public Sans";src:url(/assets/fonts/public-sans-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Public Sans";src:url(/assets/fonts/public-sans-latin-400-italic.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Public Sans";src:url(/assets/fonts/public-sans-latin-600-normal.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"Public Sans";src:url(/assets/fonts/public-sans-latin-700-normal.woff2) format("woff2");font-weight:700;font-display:swap}

:root{
  --ink:#16211E;--ink-2:#3B4844;--ink-3:#5E6B66;
  --paper:#F7F3EB;--paper-2:#EEE7DA;--paper-3:#E4DAC8;--white:#FFFDF9;
  --moss:#24493F;--moss-2:#2F5D50;--moss-3:#DCE7E1;
  --copper:#B8572B;--copper-dk:#97441F;--copper-lt:#F3E1D5;
  --amber:#E9A93A;--wa:#1F8A4C;
  --line:#D9CFBE;
  --serif:"Fraunces",Georgia,"Times New Roman",serif;
  --sans:"Public Sans",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --r:14px;--r-lg:22px;
  --wrap:1180px;
  --sh:0 1px 2px rgba(22,33,30,.06),0 8px 28px -12px rgba(22,33,30,.18);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
html,body{overflow-x:clip}
body{margin:0;background:var(--paper);color:var(--ink);font:400 17px/1.65 var(--sans);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--moss-2);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--copper-dk)}
h1,h2,h3,h4{font-family:var(--serif);font-weight:600;line-height:1.12;letter-spacing:-.012em;color:var(--ink);margin:0 0 .5em;font-variation-settings:"SOFT" 30}
h1{font-size:clamp(2.1rem,4.6vw,3.7rem);font-weight:560}
h2{font-size:clamp(1.65rem,3vw,2.45rem)}
h3{font-size:clamp(1.2rem,1.8vw,1.45rem)}
h1 em,h2 em,.pf-big em{font-style:italic;color:var(--copper);font-weight:500}
p{margin:0 0 1em}
ul,ol{padding-left:1.2em}
li{margin:.25em 0}
strong{font-weight:700}
.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 20px}
.skip{position:absolute;left:-9999px}.skip:focus{left:10px;top:10px;z-index:99;background:#fff;padding:8px 12px}
:focus-visible{outline:3px solid var(--amber);outline-offset:2px}

/* Eyebrow / etichette */
.eyebrow{font:700 .74rem/1.3 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--copper);margin:0 0 .9em;display:flex;align-items:center;gap:.6em}
.eyebrow::before{content:"";width:22px;height:2px;background:currentColor;display:inline-block}
.eyebrow.light{color:var(--amber)}
.sec-head .eyebrow,.mod-head .eyebrow,.ph .eyebrow{color:var(--copper)}
.sec-head .eyebrow.light{color:var(--amber)}
.sec-n{font-family:var(--serif);font-style:italic;color:var(--copper);font-weight:500}

/* Bottoni */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;padding:.82em 1.25em;border-radius:999px;font:700 .97rem/1.1 var(--sans);text-decoration:none;border:2px solid transparent;cursor:pointer;transition:transform .15s,background .15s,color .15s;white-space:nowrap}
.btn:hover{transform:translateY(-1px)}
.btn-copper{background:var(--copper);color:#fff}.btn-copper:hover{background:var(--copper-dk);color:#fff}
.btn-wa{background:var(--wa);color:#fff}.btn-wa:hover{background:#176d3b;color:#fff}
.btn-moss{background:var(--moss);color:#fff}.btn-moss:hover{background:var(--ink);color:#fff}
.btn-ghost{border-color:var(--ink);color:var(--ink);background:transparent}.btn-ghost:hover{background:var(--ink);color:#fff}
.btn-sm{padding:.6em 1em;font-size:.88rem}
.btn-lg{padding:1em 1.6em;font-size:1.05rem}
.link-btn{background:none;border:0;padding:0;color:var(--moss-2);font:600 .92rem var(--sans);text-decoration:underline;cursor:pointer}
.tel-in{font-weight:700;color:var(--copper-dk);white-space:nowrap}

/* Topbar e header */
.topbar{background:var(--moss);color:#E8EFEB;font-size:.84rem}
.topbar-in{display:flex;justify-content:space-between;gap:1rem;padding-top:.45rem;padding-bottom:.45rem;align-items:center}
.topbar a{color:#fff;text-decoration:none}.topbar a:hover{color:var(--amber)}
.topbar-c{display:flex;gap:1.2rem;white-space:nowrap}
.hdr{position:sticky;top:0;z-index:40;background:rgba(247,243,235,.94);backdrop-filter:saturate(1.4) blur(8px);border-bottom:1px solid var(--line)}
.hdr-in{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:74px}
.logo{display:flex;align-items:center;gap:.65rem;text-decoration:none;color:var(--ink)}
.logo-t{display:flex;flex-direction:column;line-height:1}
.logo-a{font:600 1.42rem/1 var(--serif);letter-spacing:-.02em}
.logo-a b{font-weight:800;color:var(--moss)}
.logo-b{font:700 .66rem/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--copper);margin-top:.35em}
.logo-b i{font-style:normal;color:var(--ink-3)}
.logo-inv{color:#fff}.logo-inv .logo-a b{color:var(--amber)}.logo-inv .logo-b i{color:#B7C6C0}
.menu{display:flex;align-items:center;gap:1.4rem}
.menu ul{list-style:none;display:flex;gap:1.25rem;margin:0;padding:0}
.menu li{margin:0}
.menu ul a{color:var(--ink);text-decoration:none;font-weight:600;font-size:.95rem;padding:.4em 0;border-bottom:2px solid transparent}
.menu ul a:hover,.menu ul a[aria-current]{border-color:var(--copper);color:var(--ink)}
.burger{display:none;background:none;border:0;width:44px;height:44px;padding:10px;cursor:pointer}
.burger span{display:block;height:2px;background:var(--ink);margin:5px 0;transition:.2s}

/* Breadcrumb */
.bc{font-size:.85rem;color:var(--ink-3);padding:1.1rem 0 0}
.bc ol{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:.3em}
.bc li{margin:0}.bc li+li::before{content:"/";margin-right:.35em;color:var(--line)}
.bc a{color:var(--ink-3)}

/* Hero home */
.hero{padding:clamp(2rem,5vw,4.2rem) 0 clamp(2.5rem,5vw,4.5rem);position:relative;overflow:hidden}
.hero-g{display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(1.5rem,4vw,3.5rem);align-items:center}
.hero .lead{font-size:clamp(1.05rem,1.4vw,1.2rem);color:var(--ink-2);max-width:36em}
.hero-act{display:flex;flex-wrap:wrap;gap:.7rem;margin:1.6rem 0 1.2rem}
.hero-note{font-size:.88rem;color:var(--ink-3)}
.hero-fig{position:relative;margin:0}
.hero-fig img{border-radius:var(--r-lg);aspect-ratio:4/4.3;object-fit:cover;width:100%;box-shadow:var(--sh)}
.scheda{position:absolute;left:-28px;bottom:-26px;background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:1.05rem 1.2rem 1rem;box-shadow:var(--sh);max-width:300px}
.scheda p{margin:0 0 .5rem;font:700 .72rem var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--moss-2)}
.scheda ol{margin:0;padding-left:1.15em;font-size:.93rem}
.scheda li{margin:.2em 0}

/* Pagine interne: testata */
.ph{padding:1.2rem 0 clamp(2rem,4vw,3rem);border-bottom:1px solid var(--line);background:linear-gradient(180deg,var(--paper) 0%,var(--paper-2) 100%)}
.ph-g{display:grid;grid-template-columns:1.25fr .75fr;gap:2.5rem;align-items:end;margin-top:1.4rem}
.ph .lead{font-size:1.15rem;color:var(--ink-2);max-width:40em;margin:0}
.ph-box{background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:1.1rem 1.25rem;font-size:.95rem}
.ph-box p{margin:0 0 .6rem}
.ph-box .btn{width:100%;margin-top:.35rem}
.ph-img{margin-top:2rem}
.ph-img img{border-radius:var(--r-lg);aspect-ratio:21/8;object-fit:cover;width:100%}

/* Sezioni */
.sec{padding:clamp(2.8rem,6vw,5rem) 0}
.sec-alt{background:var(--paper-2)}
.sec-ink{background:var(--ink);color:#E9EEEB}
.sec-ink h2,.sec-ink h3{color:#fff}
.sec-head{max-width:46rem;margin-bottom:2.2rem}
.sec-head p{color:var(--ink-2);font-size:1.07rem}
.sec-ink .sec-head p{color:#C9D4CF}

/* Corpo articolo con colonna laterale */
.art{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:clamp(2rem,5vw,4.5rem);padding-top:clamp(2.2rem,5vw,3.6rem);padding-bottom:clamp(2.2rem,5vw,3.6rem)}
.art-body{max-width:46rem}
.art-body h2{margin-top:2.2rem;font-size:clamp(1.45rem,2.4vw,2rem)}
.art-body h2:first-child{margin-top:0}
.art-body h3{margin-top:1.6rem}
.art-body figure{margin:2rem 0}
.art-body figure img{border-radius:var(--r);width:100%;aspect-ratio:16/9;object-fit:cover}
figcaption{font-size:.85rem;color:var(--ink-3);margin-top:.5rem}
.art-side{position:relative}
.side-stick{position:sticky;top:100px;display:grid;gap:1rem}
.side-card{background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:1.15rem 1.2rem}
.side-card h3{font-size:1.1rem;margin-bottom:.4rem}
.side-card p{font-size:.93rem;color:var(--ink-2);margin-bottom:.8rem}
.side-card .btn{width:100%;margin:.25rem 0}
.side-card ul{list-style:none;padding:0;margin:0;font-size:.93rem}
.side-card li{border-top:1px solid var(--paper-3);padding:.45rem 0;margin:0}
.side-card li:first-child{border-top:0}
.side-card li a{text-decoration:none;color:var(--ink)}
.side-card li a:hover{color:var(--copper-dk)}
.side-dark{background:var(--moss);border-color:var(--moss);color:#E6EEEA}
.side-dark h3{color:#fff}.side-dark p{color:#CFDCD6}

/* Riquadri di testo */
.nota{border-left:4px solid var(--copper);background:var(--copper-lt);padding:1rem 1.2rem;border-radius:0 var(--r) var(--r) 0;margin:1.6rem 0}
.nota p:last-child{margin:0}
.nota-moss{border-color:var(--moss-2);background:var(--moss-3)}
.box-no{border:1px dashed var(--copper);border-radius:var(--r);padding:1rem 1.2rem;margin:1.5rem 0;background:var(--white)}
.check{list-style:none;padding:0}
.check li{position:relative;padding-left:1.9em;margin:.55em 0}
.check li::before{content:"";position:absolute;left:0;top:.35em;width:1.1em;height:1.1em;border-radius:50%;background:var(--moss-2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.3l2.6 2.5L12 5.4' fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/80% no-repeat}
.xlist{list-style:none;padding:0}
.xlist li{position:relative;padding-left:1.9em;margin:.55em 0}
.xlist li::before{content:"–";position:absolute;left:.35em;color:var(--copper);font-weight:700}

/* Tabella confronto */
.tab-wrap{overflow-x:auto;margin:1.6rem 0;border:1px solid var(--line);border-radius:var(--r);background:var(--white)}
table{border-collapse:collapse;width:100%;font-size:.95rem;min-width:520px}
th,td{padding:.8rem 1rem;text-align:left;vertical-align:top;border-bottom:1px solid var(--paper-3)}
thead th{background:var(--paper-2);font:700 .78rem var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2)}
tbody th{font-weight:600;width:28%}
tr:last-child td,tr:last-child th{border-bottom:0}

/* Percorso a tappe */
.tappe{list-style:none;padding:0;margin:0;counter-reset:t;display:grid;gap:0}
.tappe>li{counter-increment:t;display:grid;grid-template-columns:76px 1fr;gap:1.2rem;padding:1.4rem 0;border-top:1px solid var(--line);margin:0}
.tappe>li::before{content:counter(t,decimal-leading-zero);font:500 2.4rem/1 var(--serif);font-style:italic;color:var(--copper)}
.tappe h3{margin:.1rem 0 .35rem;font-size:1.25rem}
.tappe p{margin:0;color:var(--ink-2)}
.tappe .chi{display:inline-block;margin-top:.5rem;font:700 .72rem var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--moss-2);background:var(--moss-3);padding:.25em .6em;border-radius:6px}
.sec-ink .tappe>li{border-color:#33433E}.sec-ink .tappe p{color:#C9D4CF}

/* Card */
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.1rem}
.cards-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.cards-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.card{background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:1.35rem 1.35rem 1.2rem;display:flex;flex-direction:column;text-decoration:none;color:var(--ink);transition:border-color .15s,transform .15s}
a.card:hover{border-color:var(--copper);transform:translateY(-2px);color:var(--ink)}
.card h3{font-size:1.2rem;margin-bottom:.4rem}
.card p{font-size:.95rem;color:var(--ink-2);margin:0}
.card .card-k{font:700 .7rem var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--copper);margin-bottom:.6rem}
.card .card-go{margin-top:auto;padding-top:.9rem;font-weight:700;font-size:.9rem;color:var(--moss-2)}
.card-img{padding:0;overflow:hidden}
.card-img img{aspect-ratio:16/10;object-fit:cover;width:100%}
.card-img .card-b{padding:1.1rem 1.25rem 1.2rem;display:flex;flex-direction:column;flex:1}

/* Numeri chiave */
.kpi{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.kpi div{padding:1.3rem 1.2rem;border-left:1px solid var(--line)}
.kpi div:first-child{border-left:0;padding-left:0}
.kpi b{display:block;font:500 clamp(1.8rem,3vw,2.5rem)/1 var(--serif);color:var(--moss);margin-bottom:.35rem}
.kpi span{font-size:.9rem;color:var(--ink-2)}

/* Due colonne */
.duo{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.5rem,4vw,3.5rem);align-items:center}
.duo img{border-radius:var(--r-lg);width:100%;aspect-ratio:5/4;object-fit:cover}

/* Strumento pre-verifica */
.pv{background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(1.3rem,3vw,2rem);box-shadow:var(--sh)}
.pv-top{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem}
.pv-top h3{margin:0}
.pv-bar{height:6px;background:var(--paper-2);border-radius:9px;overflow:hidden;margin-bottom:1.3rem}
.pv-bar i{display:block;height:100%;width:20%;background:var(--copper);transition:width .3s}
.pv-q{display:none}.pv-q.on{display:block}
.pv-q legend,.pv-q .pv-d{font:600 1.15rem/1.3 var(--serif);margin-bottom:.9rem;padding:0}
.pv-q fieldset{border:0;padding:0;margin:0}
.pv-o{display:grid;gap:.55rem}
.pv-o label{display:flex;gap:.7rem;align-items:center;border:1.5px solid var(--line);border-radius:12px;padding:.75rem .9rem;cursor:pointer;font-size:.97rem;background:var(--paper)}
.pv-o label:hover{border-color:var(--moss-2)}
.pv-o input{accent-color:var(--copper);width:18px;height:18px;flex:none}
.pv-o label:has(input:checked){border-color:var(--copper);background:var(--copper-lt)}
.pv-nav{display:flex;justify-content:space-between;margin-top:1rem;gap:.6rem}
.pv-res{display:none}.pv-res.on{display:block}
.pv-res h4{font:600 1.3rem var(--serif);margin:.2rem 0 .6rem}
.pv-res ul{padding-left:1.1em;font-size:.95rem}
.pv-res .pv-act{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1rem}
.pv-esito{display:inline-block;white-space:nowrap;font:700 .72rem var(--sans);letter-spacing:.12em;text-transform:uppercase;padding:.3em .7em;border-radius:6px;background:var(--moss-3);color:var(--moss)}
.pv-esito.warn{background:var(--copper-lt);color:var(--copper-dk)}

/* CTA box */
.cta-box{display:grid;grid-template-columns:1.2fr 1fr;gap:1.5rem;align-items:center;background:var(--moss);color:#E6EEEA;border-radius:var(--r-lg);padding:clamp(1.4rem,3vw,2.2rem);margin:2.4rem 0}
.cta-box h3{color:#fff;font-size:clamp(1.3rem,2vw,1.6rem)}
.cta-box p{color:#CFDCD6;margin:0;font-size:.97rem}
.cta-k{font:700 .72rem var(--sans)!important;letter-spacing:.14em;text-transform:uppercase;color:var(--amber)!important;margin-bottom:.5rem!important}
.cta-act{display:flex;flex-direction:column;gap:.6rem}
.cta-act .btn-ghost{border-color:#fff;color:#fff}.cta-act .btn-ghost:hover{background:#fff;color:var(--moss)}

/* FAQ */
.faq{margin:2.4rem 0}
.faq details{border-top:1px solid var(--line);padding:0}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;padding:1.05rem 2.4rem 1.05rem 0;font:600 1.08rem/1.35 var(--serif);position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:.2rem;top:.8rem;font:400 1.6rem/1 var(--sans);color:var(--copper);transition:transform .2s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq-a{padding:0 0 1.1rem;color:var(--ink-2)}
.faq-a p{margin:0}

/* Correlati */
.correlati{margin:2.4rem 0 0;padding-top:1.4rem;border-top:1px solid var(--line)}
.correlati ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:.4rem 1.5rem}
.correlati li{margin:0}
.correlati a{font-weight:600;text-decoration:none;color:var(--ink);border-bottom:1px solid var(--line)}
.correlati a:hover{color:var(--copper-dk);border-color:var(--copper)}

/* Distretti */
.dis-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.dis-card{display:block;text-decoration:none;color:var(--ink);background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:1.1rem 1.2rem;transition:.15s}
.dis-card:hover{border-color:var(--copper);color:var(--ink)}
.dis-card b{display:block;font:600 1.08rem/1.25 var(--serif);margin-bottom:.3rem}
.dis-card span{font-size:.88rem;color:var(--ink-3)}
.dis-card small{display:block;font:700 .68rem var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--copper);margin-bottom:.4rem}
.reg-tabs{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 1.4rem}
.reg-tabs a{border:1.5px solid var(--line);border-radius:999px;padding:.45em 1em;text-decoration:none;font-weight:600;font-size:.9rem;color:var(--ink);background:var(--white)}
.reg-tabs a:hover,.reg-tabs a[aria-current]{border-color:var(--moss);background:var(--moss);color:#fff}
.comuni{columns:4 170px;column-gap:1.5rem;padding:0;list-style:none;font-size:.93rem}
.comuni li{break-inside:avoid;margin:0 0 .3rem;padding-left:1em;position:relative}
.comuni li::before{content:"";position:absolute;left:0;top:.62em;width:5px;height:5px;border-radius:50%;background:var(--copper)}

/* Modulo */
.modulo{background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(1.3rem,3.5vw,2.6rem);box-shadow:var(--sh);scroll-margin-top:100px}
.mod-head{max-width:44rem;margin-bottom:1.4rem}
.mod-head p{color:var(--ink-2)}
.mod-form fieldset{border:0;border-top:1px solid var(--line);margin:0;padding:1.3rem 0 .4rem}
.mod-form legend{font:600 1.2rem var(--serif);padding:0 0 .9rem;display:flex;align-items:center;gap:.6rem}
.mod-form legend span{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--moss);color:#fff;font:700 .9rem var(--sans)}
.g2{display:grid;grid-template-columns:1fr 1fr;gap:0 1.1rem}
.f{display:block;margin:0 0 1rem;font-weight:600;font-size:.92rem;color:var(--ink-2)}
.f small,.f-l small{font-weight:400;color:var(--ink-3)}
.f-l{display:block;margin-bottom:.45rem}
.f input,.f select,.f textarea{display:block;width:100%;margin-top:.35rem;font:400 1rem var(--sans);color:var(--ink);background:var(--paper);border:1.5px solid var(--line);border-radius:10px;padding:.72rem .8rem;min-height:48px}
.f textarea{min-height:90px;resize:vertical}
.f input:focus,.f select:focus,.f textarea:focus{border-color:var(--moss-2);outline:0;background:#fff;box-shadow:0 0 0 3px rgba(47,93,80,.15)}
.f .err,.f input.err{border-color:var(--copper)}
.chips{display:flex;flex-wrap:wrap;gap:.45rem}
.chips label{display:inline-flex;align-items:center;gap:.45rem;border:1.5px solid var(--line);border-radius:999px;padding:.5rem .95rem;cursor:pointer;font-weight:600;font-size:.92rem;background:var(--paper);color:var(--ink)}
.f .chips input,.chips input{accent-color:var(--copper);width:auto;min-height:0;margin:0;padding:0;display:inline-block;flex:none}
.chips label:has(input:checked){border-color:var(--copper);background:var(--copper-lt)}
.privacy{display:flex;gap:.6rem;align-items:flex-start;font-size:.9rem;color:var(--ink-2);margin:.4rem 0 .6rem}
.privacy input{margin-top:.25rem;width:18px;height:18px;accent-color:var(--copper);flex:none}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.mod-send{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:1.2rem}
.mod-msg{margin:0;font-weight:600}
.mod-msg.ko{color:var(--copper-dk)}
.somma{background:var(--paper);border:1px dashed var(--line);border-radius:12px;padding:1rem;margin:0 0 1rem}
.somma-t{margin:0 0 .6rem;font-weight:600;font-size:.92rem}
.somma-t small{font-weight:400;color:var(--ink-3)}
.somma-r{display:grid;grid-template-columns:auto 1fr auto 1fr auto 1fr;gap:.4rem;align-items:center;margin-bottom:.45rem;font-size:.88rem}
.somma-r input{width:100%;padding:.5rem;border:1.5px solid var(--line);border-radius:8px;font:400 .95rem var(--sans);background:#fff;min-height:40px}
.somma-tot{margin:.6rem 0 0;font-size:.95rem}

/* Pre-footer e footer */
.pre-footer{background:var(--moss);color:#fff;padding:clamp(2.2rem,5vw,3.4rem) 0}
.pf-in{display:flex;justify-content:space-between;align-items:center;gap:2rem;flex-wrap:wrap}
.pf-big{font:500 clamp(1.4rem,2.6vw,2.1rem)/1.2 var(--serif);max-width:30ch;margin:0}
.pf-big em{color:var(--amber)}
.pf-act{display:flex;gap:.7rem;flex-wrap:wrap}
.ftr{background:var(--ink);color:#B9C5C0;padding:3rem 0 6rem;font-size:.92rem}
.ftr-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.3fr;gap:2rem}
.ftr a{color:#E2E9E6;text-decoration:none}.ftr a:hover{color:var(--amber)}
.ftr ul{list-style:none;padding:0;margin:0}
.ftr li{margin:.35rem 0}
.ftr-h{font:700 .74rem var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--amber);margin-bottom:.8rem}
.ftr-brand p{margin:1rem 0 0}
.ftr-c{line-height:1.8}
.ftr-dis{columns:1}
.ftr-legal{border-top:1px solid #2C3A36;margin-top:2.4rem;padding-top:1.4rem;font-size:.8rem;color:#8E9C97}
.ftr-legal p{margin:.3rem 0}

/* Barra mobile */
.mbar{display:none}

/* 404 / grazie */
.vuoto{padding:5rem 0;text-align:center;max-width:40rem;margin:0 auto}

/* Responsive */
@media (max-width:1080px){
  .menu ul{gap:.9rem}.menu ul a{font-size:.9rem}
  .ftr-grid{grid-template-columns:1fr 1fr}
  .cards-4{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:960px){
  .burger{display:block}
  .hdr{backdrop-filter:none;-webkit-backdrop-filter:none;background:var(--paper)}
  .menu{visibility:hidden}
  body.menu-open .menu{visibility:visible}
  .menu{position:fixed;inset:0 0 0 auto;width:min(86vw,360px);background:var(--paper);flex-direction:column;align-items:stretch;padding:5.5rem 1.5rem 2rem;transform:translateX(100%);transition:transform .25s,visibility .25s;box-shadow:-20px 0 40px rgba(0,0,0,.15);z-index:45;overflow-y:auto}
  .menu ul{flex-direction:column;gap:0}
  .menu ul a{display:block;padding:.85rem 0;border-bottom:1px solid var(--line);font-size:1.05rem}
  .menu .btn{margin-top:1.2rem}
  body.menu-open .menu{transform:none}
  body.menu-open .burger{position:relative;z-index:50}
  body.menu-open .burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  body.menu-open .burger span:nth-child(2){opacity:0}
  body.menu-open .burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .hero-g,.ph-g,.duo,.art{grid-template-columns:minmax(0,1fr)}
  .duo[style*="grid-template-columns"]{grid-template-columns:minmax(0,1fr)!important}
  .hero-fig{max-width:560px}
  .scheda{left:12px;bottom:-22px}
  .side-stick{position:static}
  .cards{grid-template-columns:1fr 1fr}
  .dis-grid{grid-template-columns:1fr 1fr}
  .kpi{grid-template-columns:1fr 1fr}
  .kpi div:nth-child(3){border-left:0;padding-left:0}
  .kpi div:nth-child(n+3){border-top:1px solid var(--line)}
  .cta-box{grid-template-columns:1fr}
  .topbar-in>span:first-child{display:none}
  .topbar-in{justify-content:center}
}
@media (max-width:640px){
  body{font-size:16px}
  .wrap{padding:0 16px}
  .topbar-c a:last-child{display:none}
  .hdr-in{min-height:64px}
  .logo img{width:40px;height:40px}
  .logo-a{font-size:1.2rem}.logo-b{font-size:.58rem;letter-spacing:.14em}
  .cards,.cards-2,.cards-4,.dis-grid,.g2,.correlati ul{grid-template-columns:1fr}
  .hero-act .btn{flex:1 1 100%}
  .scheda{position:relative;left:0;bottom:0;margin:-2.5rem 12px 0;max-width:none}
  .tappe>li{grid-template-columns:52px 1fr;gap:.8rem}
  .tappe>li::before{font-size:1.8rem}
  .ph-img img{aspect-ratio:16/10}
  .somma-r{grid-template-columns:1fr 1fr 1fr}
  .somma-r span{display:none}
  .mbar{display:grid;grid-template-columns:1fr 1fr 1.25fr;position:fixed;left:0;right:0;bottom:0;z-index:60;background:var(--ink);padding:6px 6px calc(6px + env(safe-area-inset-bottom));gap:6px}
  .mbar a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:#fff;text-decoration:none;font:700 .74rem var(--sans);padding:.45rem 0;border-radius:10px}
  .mbar svg{width:20px;height:20px;fill:currentColor}
  .mbar a:nth-child(2){background:var(--wa)}
  .mbar-cta{background:var(--copper)}
  .ftr{padding-bottom:7rem}
  .pf-act .btn{flex:1 1 100%}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
@media print{.topbar,.hdr,.mbar,.pre-footer,.ftr,.modulo{display:none}}
