:root {
  --font-system: -apple-system, BlinkMacSystemFont, "Segoe UI",
                 Roboto, Oxygen, Ubuntu, Cantarell,
                 "Helvetica Neue", Arial, sans-serif;
}

body { margin: 0; font-family: var(--font-system);}
    section {padding: 95px 12% 65px 12%}
    .hero-logo { width: 300px; padding-bottom: 40px;}
    .fullheight { height: 90vh;}
    .fullwidth {width: 100%;}
    .white-text {color: white;}
    .grey-text {color: #848484}
    .midheight {height: 45vh;}
    .center-text {text-align: center;}
    .center-items { display: flex; flex-direction: column; align-items: center; justify-content: center;}
    p { font-size: 16px; line-height: 1.4em; font-weight: 300;}
    .small-p {font-size: 14px;}
    h1 { font-size: 56px; line-height: 1.2em;}
    h2 { font-size: 42px; line-height: 1.2em;}
    h4 {font-size: 28px;}
    h1, h2, h3, h4, h5 {margin: 0; font-weight: 500; }
    button {
        font-size: 15px;
        padding: 14px 26px;
        border: solid 1px #111111;
        border-radius: 8px;
        color: white;
        background-color: #111111;
        margin-top: 24px;
        transition: all 0.3s ease;
    }
    
     button:hover {
       background-color: white;
       color: #111111;
       cursor: pointer;
    }
    
    .btn {
        box-sizing: border-box;
        text-align: center;
        text-decoration: none;
        font-size: 15px;
        padding: 14px 26px;
        border: solid 1px #111111;
        border-radius: 8px;
        color: white;
        background-color: #111111;
        margin-top: 24px;
        transition: all 0.3s ease;
    }
    
    .btn:hover {
        background-color: white;
        color: #111111;
        cursor: pointer;
    }
    .btn-2 {
        box-sizing: border-box;
        text-align: center;
        text-decoration: none;
        font-size: 15px;
        padding: 14px 26px;
        border: solid 1px #111111;
        border-radius: 8px;
        color: black;
        background: none;
        margin-top: 24px;
        transition: all 0.3s ease;
    }
    
    .btn-2:hover {
        background-color: #848484;
        color: white;
        cursor: pointer;
        border: solid 1px #848484;
    }
   
    .top-margin {margin-top: 44px;}
    .top-margin-small {margin: 6px 0px 0px 0px;}
    .top-margin-mid {margin: 12px 0px 0px 0px;}
    .black-section {
        background-color: #111111;
        color: white;
    }
    
    .hero-section {
        background-image: 
           linear-gradient(rgba(0,0,0,0.35), rgba(0,0,0,0.35)),
           url('images/bg-2.JPG');
        background-size: cover;       /* Copre tutto il div mantenendo le proporzioni */
        background-position: center;  /* Centra l'immagine */
        background-repeat: no-repeat; /* Evita la ripetizione */
    }
    
    .grid-2 {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 40px;
    }
    
    .grid-2-1x3 {
        display: grid;
        grid-template-columns: 1fr 3fr;
        gap: 40px;
    }
    
    .grid-3 {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr;
        gap: 40px;
    }
   
   .card {
       padding: 40px;
       border: solid 1px #f2f2f2;
       border-radius: 12px;
       box-shadow: 0 16px 24px rgba(0, 0, 0, 0.04);
       transition: all 0.3s ease;
   } 
   
   .card:hover {
       transform: scale(1.03);
       cursor: pointer;
       box-shadow: 0 16px 24px rgba(0, 0, 0, 0.08);
   }
   
   .card-small {
       padding: 40px;
       border: solid 1px #f2f2f2;
       border-radius: 12px;
       box-shadow: 0 16px 24px rgba(0, 0, 0, 0.02);
       transition: all 0.3s ease;
   } 
   
   .card-small:hover {
       transform: scale(1.03);
       cursor: pointer;
       box-shadow: 0 16px 24px rgba(0, 0, 0, 0.03);
   }
   
   @media (max-width: 768px) {
       .grid-2 {grid-template-columns: 1fr;}
       .grid-2-1x3 {gap: 20px; grid-template-columns: 1fr 2fr;}
       .grid-3 {grid-template-columns: 1fr; gap: 25px;}
       .fullheight {height: 75vh;}
       section {padding: 65px 7% 40px 7%}
       .mobile-fullheight {width: 100%;}
       
   }