:root{
    --nero:#0B0B0C;
    --nero-2:#141416;
    --bianco:#F2F2F2;
    --grigio:#A6A29B;
    --grigio-s:#6E6B65;
    --rosso:#B4231C;
    --ambra:#C9A55A;
    --linea:rgba(242,242,242,.12);
  }

  /* ================= NAV ================= */

  nav{
    position:fixed;
    top:0;
    left:0;
    right:0;
    z-index:60;
    padding:18px 4vw;
    display:flex;
    align-items:center;
    gap:26px;
    background:linear-gradient(180deg,rgba(0,0,0,.85),transparent);
    transition:background .3s ease;
  }

  nav.solid{
    background:var(--nero);
    box-shadow:0 1px 0 var(--linea);
  }

  .logo{
    font-size:1.12rem;
    font-weight:800;
    letter-spacing:-.04em;
    color:var(--rosso);
    text-transform:uppercase;
    white-space:nowrap;
  }

  .logo span{
    color:var(--bianco);
    font-weight:300;
  }

  nav .links{
    display:flex;
    gap:20px;
    font-size:.84rem;
    color:var(--grigio);
  }

  nav .links a:hover{
    color:#fff;
  }

 
  .cta{
    margin-left:auto;
    background:var(--rosso);
    color:#fff;
    padding:8px 18px;
    border-radius:3px;
    font-size:1rem;
    font-weight:600;
    float:right;
    margin:15px;
    text-align:center;
    
  }

  .cta:hover{
    filter:brightness(1.12);
  }
   nav .cta{
    margin:0px;
    margin-left:auto;
    background:var(--rosso);
    color:#fff;
    padding:8px 18px;
    border-radius:3px;
    font-size:1rem;
    font-weight:600;
    max-width:30%;
    
  }

  nav .cta:hover{
    filter:brightness(1.12);
  }

  @media(max-width:720px){
    nav .links{
      display:none;
    }
  }


  footer{
    border-top:1px solid var(--linea);
    margin-top:44px;
    padding:32px 0 56px;
    color:var(--grigio-s);
    font-size:.8rem;
  }

  footer .wrap{
    display:flex;
    justify-content:space-between;
    gap:18px;
    flex-wrap:wrap;
    align-items:center;
  }

  footer nav{
    position:static;
    padding:0;
    background:none;
    display:flex;
    gap:18px;
    box-shadow:none;
  }

  footer a:hover{
    color:var(--bianco);
  }

  .tec{
    width:100%;
    margin-top:22px;
    padding-top:18px;
    border-top:1px solid var(--linea);
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(110px,1fr));
    gap:14px;
  }

  .tec .k{
    font-size:.66rem;
    letter-spacing:.14em;
    text-transform:uppercase;
    display:block;
  }

  .tec .v{
    color:var(--bianco);
    font-size:.86rem;
    margin-top:3px;
    display:block;
  }
  
  .logo a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  text-decoration: none;
}

.logo .home-icon {
  display: block;
  width: 50px;
  height: 50px;
  object-fit: contain;
  flex: 0 0 25px;
}
@media (max-width: 600px) {
  .logo .home-icon {
    width: 16px;
    height: 16px;
  }
}