h1,h2,h3{overflow-wrap:break-word;hyphens:auto}

@media (max-width:700px){
  .wrap{width:calc(100% - 32px)}
  main > .wrap{padding-top:28px}

  .head{min-height:60px}
  .logo{min-width:0}
  .logo img{width:110px;height:44px}

  h1{font-size:clamp(30px,9vw,42px);margin:12px 0 16px}
  h2{font-size:clamp(22px,6.5vw,28px)}

  .hero{padding:26px 20px 28px;border-radius:12px;margin-bottom:32px}
  .hero p{font-size:16.5px}

  .grid{gap:14px;margin-top:24px}
  .card{padding:22px 18px}

  main + section{padding:44px 0;margin-bottom:40px}

  .cta{padding:26px 20px;border-radius:12px;margin-bottom:40px}
  :not(.wrap) > .cta{margin-left:16px;margin-right:16px}
  .cta .btn{width:100%;justify-content:center}

  .footer-grid{grid-template-columns:1fr}
  .footer-bottom{flex-direction:column}
}

@media (hover:none){
  .btn:hover{transform:none}
}

/* ---- header pagine servizi su telefono ---- */
@media (max-width:700px){
  header{padding:8px 0}
  .head{flex-wrap:wrap;align-items:center !important;column-gap:12px;row-gap:0;min-height:0}
  .head .logo{order:1}
  .head .langs{order:2;margin-left:auto;display:flex;gap:4px}
  .head nav{order:3;width:100%;margin-right:0 !important;gap:22px !important;font-size:13.5px !important;padding:10px 0 4px;margin-top:8px;border-top:1px solid var(--line)}
  .head nav a{padding:4px 0}
}
