@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Lora:ital,wght@0,400..700;1,400..700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Great+Vibes&family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Lora:ital,wght@0,400..700;1,400..700&display=swap');

* {
    text-decoration: none;
    list-style: none;
    scroll-behavior: smooth;
    margin: 0;
    font-family: var(--font);
}

:root {
    --gradient-blue: linear-gradient(90deg, #053B93 0%, #5E92CE 100%);
    --Txt-black: #1E1E1E;
    --font: 'Inter', sans-serif;
    --semi-bold: 600;
    --medium: 500;
    --bold: 700;
    --regular: 400;
}

body {
    background-color: #fff;
}

.hero {
    position: relative;
    width: 100%;
    overflow: hidden;
}

.hero-image {
    display: block;
    width: 100%;
    height: auto;
}

/* Positionnement à gauche, comme dans ton code */
.hero-content {
    position: absolute;

    /* Prend toute la hauteur, mais ne s'étire pas vers la droite */
    inset: 0 auto 0 0;

    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;

    width: min(44vw, 700px);
    margin-left: clamp(24px, 6vw, 180px);
    padding: 20px;
    box-sizing: border-box;

    gap: clamp(12px, 1.5vw, 20px);
    text-align: center;

    z-index: 2;
}

.hero-content h1 {
    margin: 0;
    color: #fff;
    font-family: "Great Vibes";
    font-size: clamp(3.75rem, 6vw, 7.25rem);
    font-weight: 400;
    line-height: 0.9;
    text-align: center;
    white-space: nowrap;
    text-transform: capitalize;
}

.hero-content img {
    display: block;
    width: 550px;
    max-width: none;
    height: auto;
    flex-shrink: 0;
}

.hero-content span {
    display: block;
    width: 100%;
    max-width: 600px;
    color: #fff;
    font-family: "Inter", sans-serif;
    font-size: clamp(16px, 1.25vw, 24px);
    font-weight: 500;
    line-height: 1.4;
    letter-spacing: 0.04em;
    text-align: center;
    text-transform: uppercase;
    text-wrap: balance;
}

.hero .hero-content.hero-content--center {
    inset: 0;
    width: min(90%, 700px);
    max-width: 700px;
    margin: auto;
    padding: 20px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
}

@media (max-width: 1400px) {
    .hero {
        margin-top: 110px;
    }

    .hero-content {
        width: min(42vw, 500px);
        margin-left: clamp(20px, 4.5vw, 80px);
    }

    .hero-content img {
        width: 450px;
    }

    .hero-content span {
        font-size: clamp(18px, 1.4vw, 20px);
    }
}

@media (max-width: 1000px) {
    .hero-content {
        width: min(45vw, 400px);
        margin-left: clamp(16px, 3vw, 30px);
        padding: 15px;
    }

    .hero-content h1 {
        font-size: clamp(3.4rem, 7vw, 4.5rem);
    }

    .hero-content span {
        font-size: clamp(16px, 1.8vw, 18px);
    }

    .hero-content img {
        width: 450px;
    }
}

@media (max-width: 800px) {
    .hero-image {
        height: 300px;
        object-fit: cover;
        object-position: center;
    }

    .hero-content {
        /* Le bloc occupe toute la zone du hero */
        inset: 0;

        /* Annule le décalage vers la gauche */
        margin: auto;

        width: calc(100% - 30px);
        max-width: 450px;
        padding: 15px;

        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;

        gap: 14px;
        text-align: center;
    }

    .hero-content h1 {
        margin: 0;
        font-size: clamp(3.2rem, 10vw, 4rem);
        line-height: 0.9;
        text-align: center;
    }

    .hero-content img {
        width: 450px;
        max-width: 75vw;
        height: auto;
    }

    .hero-content span {
        width: 100%;
        max-width: 380px;

        font-size: clamp(15px, 2.5vw, 17px);
        line-height: 1.4;
        letter-spacing: 0.02em;
        text-align: center;
    }
}

@media (max-width: 700px) {
    .hero-image {
        height: 300px;
        object-fit: cover;
        object-position: center;
    }

    .hero-content {
        inset: 0;

        width: calc(100% - 30px);
        max-width: 400px;

        margin: auto;
        padding: 15px;

        gap: 12px;
    }

    .hero-content h1 {
        font-size: clamp(3.2rem, 14vw, 4rem);
        line-height: 0.9;
    }

    /* L'image conserve sa taille */
    .hero-content img {
        width: 450px;
        max-width: 75vw;
    }

    .hero-content span {
        max-width: 350px;
        font-size: clamp(14px, 3.8vw, 16px);
        line-height: 1.4;
        letter-spacing: 0.02em;
    }
}

@media (max-width: 400px) {
    .hero-content {
        width: calc(100% - 20px);
        padding: 10px;
        gap: 10px;
    }

    .hero-content h1 {
        font-size: clamp(3rem, 15vw, 3.5rem);
    }

    .hero-content img {
        width: 600px;
    }

    .hero-content span {
        max-width: 300px;
        font-size: 14px;
    }
}