    * {
        margin: 0;
        padding: 0;
        box-sizing: border-box;
    }

    body {
        font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif;
        overflow-x: hidden;
        background-color: #0f0f0f;
        min-height: 100vh;
    }

    .main-container {
        margin: 0 auto;
        height:100vh;
    }

    .header {
        background-color: #ffffff;
        padding: 35px 50px;
        display: flex;
        justify-content: space-between;
        align-items: center;
        border-radius: 0;
    }

    .logo {
        font-size: 70px;
        font-weight: 900;
        color: #000;
        letter-spacing: -3px;
        line-height: 1;
    }

    .tm {
        font-size: 18px;
        vertical-align: super;
        font-weight: 500;
        margin-left: 2px;
    }

    .nav {
        display: flex;
        align-items: center;
        gap: 35px;
    }

    .location {
        font-size: 15px;
        color: #000;
        font-weight: 400;
    }

    .nav-link {
        font-size: 16px;
        color: #000;
        text-decoration: none;
        font-weight: 500;
        transition: opacity 0.2s;
    }

    .nav-link:hover {
        opacity: 0.5;
    }

    .hero-section {
        background-color: #ffffff;
        padding: 80px 140px 0px;
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 80px;
        min-height: 600px;
    }

    .hero-text {
        flex: 0 0 500px;
    }

    .hero-text h1 {
        font-size: 38px;
        font-weight: 600;
        line-height: 1.3;
        color: #000;
        margin-bottom: 25px;
    }

    .hero-text p {
        font-size: 19px;
        line-height: 1.6;
        color: #000;
        margin-bottom: 20px;
        font-weight: 400;
    }

    .hire-text {
        font-weight: 600 !important;
        margin-top: 25px;
    }

    .hero-image-wrapper {
        flex: 1;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .hero-image-placeholder {
        width: 100%;
        max-width: 600px;
        aspect-ratio: 4/5;
        background: linear-gradient(135deg, #1a5f7a 0%, #2d8ba8 100%);
        border-radius: 0;
        overflow: hidden;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .hero-img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }


    .portfolio-grid-container {
      display: grid;
      grid-template-columns: repeat(3, 1fr);  /* ← 3 colonnes */
      gap: 25px;
      max-width: 100%;
      margin: 0 auto;
      width: 100%;
      padding: 50px;
      background-color:white;
      height: 85vh;/* ← Important */
  }

    .portfolio-card {
      background-color: #fff;
      border-radius: 12px;
      overflow: hidden;
      box-shadow: 0 2px 8px rgba(0,0,0,0.08);
      transition: transform 0.3s, box-shadow 0.3s;
      cursor: pointer;
      display: flex;
      flex-direction: column;
      text-decoration: none;
      color: inherit;
      height: 100%;  /* ← Ajoutez ça */
  }

    .portfolio-:hover {
        transform: translateY(-5px);
        box-shadow: 0 8px 20px rgba(0,0,0,0.12);
    }

    .portfolio-card img {
        width: 100%;
        object-fit: cover;
        display: block;
        flex-shrink: 0;  /* ← Ajoutez ça */
    }

    .card-footer {
        padding: 18px 20px;
        background-color: #fff;
    }

    .card-title {
        font-size: 15px;
        font-weight: 600;
        color: #000;
        margin-bottom: 10px;
        display: flex;
        align-items: center;
        gap: 8px;
    }

    .pro-badge {
        font-size: 10px;
        font-weight: 500;
        color: #666;
        background-color: #f0f0f0;
        padding: 2px 6px;
        border-radius: 3px;
    }


        @media (max-width: 1024px) {
            .hero-section {
                flex-direction: column;
                gap: 50px;
                padding: 60px 40px;
            }

            .hero-text {
                flex: 1;
                max-width: 100%;
            }

            .hero-text h1 {
                font-size: 32px;
            }

            .logo {
                font-size: 60px;
            }
            .portfolio-grid-container {
                grid-template-columns: repeat(2, 1fr);
                gap: 20px;
            }
        }

        @media (max-width: 768px) {

            .header {
                flex-direction: column;
                gap: 25px;
                padding: 25px 30px;
                text-align: center;
            }

            .nav {
                flex-wrap: wrap;
                justify-content: center;
            }

            .hero-section {
                padding: 40px 25px;
            }

            .hero-text h1 {
                font-size: 28px;
            }

            .hero-text p {
                font-size: 17px;
            }

            .logo {
                font-size: 50px;
            }

              .portfolio-card{
                margin: 50px 10px;
              }
            .portfolio-grid-container {
              grid-template-columns: 1fr;  /* ← 1 seule colonne sur mobile */
              gap: 20px;
               display: inline-table;
              height: auto;/* ← Important */
             }
          }

        }

        @media (max-width: 600px) {
            .hero-section {
                padding: 30px 20px;
                min-height: auto;
            }

            .hero-text h1 {
                font-size: 24px;
            }

            .hero-text p {
                font-size: 16px;
            }

            .header {
                padding: 20px;
            }

            .logo {
                font-size: 45px;
            }


            .portfolio-grid-container {
             grid-template-columns: 1fr;  /* ← 1 seule colonne */
             gap: 20px;
             display: inline-table !important;
         }
        }

        @media (max-width: 400px) {
            .logo {
                font-size: 40px;
                letter-spacing: -2px;
            }

            .hero-text h1 {
                font-size: 22px;
            }

            .nav-link,
            .location {
                font-size: 14px;
            }
        }
