/* home */
.hero{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(0,1fr);gap:56px;align-items:end;padding:56px 0 64px}
.htext{display:flex;flex-direction:column;justify-content:flex-end}
.hero h1{font-size:clamp(56px,8vw,152px);line-height:.98}
.hero h1 .gr{display:block}
.hero .hi{font:500 clamp(28px,3vw,52px)/1.15 var(--display);letter-spacing:-.03em;margin:34px 0 18px}
.hero .lead{max-width:none;font-size:clamp(19px,1.6vw,26px)}
.hero .l2{display:block;margin-top:6px}
.hero .strip{border:0;gap:12px;min-height:0;align-self:end;height:100%}
.hero .cell{min-height:0;align-items:center;justify-content:center;padding:20px;border:0!important;transition:transform .3s ease,filter .25s}
.hero .cell:hover{transform:translateY(-10px);filter:none}
.hero .cell svg{width:62%;max-width:150px;height:auto;aspect-ratio:1;stroke-width:1.8;margin:0}
.more{margin-top:34px}
.about{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);column-gap:72px;align-items:start}
.ah{grid-column:1/-1}
.about h2{font-size:clamp(52px,6.6vw,104px);margin:26px 0 56px}
.aph{position:relative;margin:0 14px 14px 0;max-width:460px;isolation:isolate}
.aph::before{content:"";position:absolute;inset:14px -14px -14px 14px;border:2px solid var(--g);z-index:-1}
.aph img{display:block;width:100%;aspect-ratio:1;object-fit:cover;object-position:42% 50%}
.atx p{font-size:20px;max-width:760px}
.atx p+p{margin-top:20px}
.trust{display:flex;flex-direction:column;margin-top:40px}
.trust span{border-top:1px solid var(--line);padding:16px 0;font-size:17px;color:var(--muted)}
.trust span:last-child{border-bottom:1px solid var(--line)}
.trust strong{display:block;font:500 22px/1.3 var(--display);letter-spacing:-.02em;color:var(--ink);margin-bottom:2px}
.how{margin-top:24px;border-top:1px solid var(--ink)}
.how h3{font-size:22px;letter-spacing:-.025em;margin:22px 0 6px}
.how .dom{display:block;padding:14px 0;border-bottom:1px solid var(--line)}
.how .dom strong{display:block;font-weight:600}
.how .dom span{color:var(--muted);font-size:16px}
.how ul{list-style:none;padding:0;display:flex;gap:4px 26px;flex-wrap:wrap;margin-bottom:8px}
.how li{padding:14px 0;display:flex;gap:10px;align-items:center;font-size:16px}
.how li::before{content:"";width:8px;height:8px;background:var(--ink)}
.how .tlink{font-size:16px}
@media(max-width:1050px){
  .hero{gap:32px;padding:44px 0 56px}
  .hero h1{font-size:clamp(46px,6.9vw,72px)}
  .hero .hi{font-size:clamp(24px,3vw,30px);margin:24px 0 14px}
  .hero .lead{font-size:18px}
  .hero .strip{gap:10px}
  .about{column-gap:44px}
}
@media(max-width:760px){
  .hero{display:flex;flex-direction:column;padding:28px 0 40px;gap:32px}
  .hero h1{font-size:clamp(38px,11.4vw,84px)}
  .hero .hi{font-size:27px;margin:24px 0 12px}
  .hero .lead{font-size:18px}
  .hero .strip{min-height:0;gap:8px;height:auto}
  .hero .cell{aspect-ratio:1;padding:10px}
  .hero .cell svg{width:60%;stroke-width:2}
    .hero .cell:hover{transform:none}
  .about{grid-template-columns:1fr}
  .about h2{font-size:56px;margin:20px 0 30px}
  .aph{margin:0 10px 34px 0;max-width:none}
  .aph::before{inset:10px -10px -10px 10px}
  .atx p{font-size:18px}
}

.hero .cell svg{flex:none;width:78%;max-width:170px;height:auto;aspect-ratio:1}
@media(max-width:760px){.hero .cell svg{width:70%}}
@media(min-width:761px) and (max-width:1050px){
  .about{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
  .atx{display:contents}
  .atx p{grid-column:2}
  .atx p:first-of-type{grid-row:2}
  .aph{grid-row:2/4;grid-column:1}
  .about .trust{grid-column:1/-1;flex-direction:row;gap:0 28px;margin-top:44px}
  .about .trust span{flex:1;border-bottom:1px solid var(--line)}
}
@media(min-width:761px) and (max-width:1050px){.hero .cell{padding:8px}.hero .cell svg{width:86%}}
#attivita .row h3{color:var(--pc)}
/* blocchi Hero più larghi, icone più grandi */
.hero{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}
.hero .cell{padding:12px}
.hero .cell svg{width:96%;max-width:240px;stroke-width:1.6}
@media(min-width:761px) and (max-width:1050px){.hero{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)}.hero .cell{padding:6px}.hero .cell svg{width:98%}}
@media(max-width:760px){.hero .cell svg{width:84%;stroke-width:1.8}}
.hero h1{font-size:clamp(56px,7.6vw,128px)}
@media(min-width:761px) and (max-width:1050px){.hero h1{font-size:clamp(46px,6.9vw,72px)}}
@media(max-width:760px){.hero h1{font-size:clamp(38px,11.4vw,84px)}}
/* hero: mosaico (un blocco alto + due) */
.hero .strip{display:grid;grid-template-columns:1.25fr 1fr;grid-template-rows:1fr 1fr;gap:12px}
.hero .strip .cell:nth-child(1){grid-row:1/3}
.hero .strip .cell svg{width:58%;max-width:none}
.hero .strip .cell:nth-child(1) svg{width:70%}
@media(min-width:761px) and (max-width:1050px){.hero .strip{gap:10px}.hero .cell svg{width:58%}.hero .strip .cell:nth-child(1) svg{width:70%}}
@media(max-width:760px){
  .hero .strip{grid-template-columns:1fr 1fr;grid-template-rows:auto auto;gap:8px;height:auto}
  .hero .strip .cell:nth-child(1){grid-column:1/3;grid-row:auto;aspect-ratio:2/1}
  .hero .strip .cell:nth-child(n+2){aspect-ratio:1/1}
  .hero .strip .cell svg{width:56%}
  .hero .strip .cell:nth-child(1) svg{width:34%}
}
