/* ==========================================================
   HERO
========================================================== */

.hero{
    position:relative;
    overflow:hidden;
    min-height:100vh;
    display:flex;
    align-items:center;
    color:#fff;
    background:#071421;
}

.hero__background{
    position:absolute;
    inset:0;
    z-index:1;
}

.hero__background img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
    transform:scale(1.05);
}

.hero__overlay{
    position:absolute;
    inset:0;
    z-index:2;

    background:
    linear-gradient(
        110deg,
        rgba(5,18,33,.90) 0%,
        rgba(7,33,58,.82) 45%,
        rgba(8,64,99,.55) 100%
    );
}

.hero .container{

    position:relative;
    z-index:5;

    display:grid;
    grid-template-columns:1.25fr .75fr;
    gap:70px;

    align-items:center;

    width:min(1280px,92%);
    margin:auto;

    padding:120px 0;

}

.hero__content{

    max-width:760px;

}

.hero__badge{

    display:inline-flex;

    align-items:center;

    gap:.6rem;

    padding:.65rem 1.2rem;

    border-radius:50px;

    background:rgba(255,255,255,.10);

    backdrop-filter:blur(18px);

    border:1px solid rgba(255,255,255,.20);

    font-size:.95rem;

    font-weight:600;

    letter-spacing:.04em;

    margin-bottom:30px;

}

.hero h1{

    font-size:clamp(2.8rem,5vw,5rem);

    line-height:1.05;

    font-weight:800;

    margin-bottom:28px;

}

.hero h1 span{

    display:block;

    margin-top:12px;

    color:#65d36e;

}

.hero__description{

    font-size:1.18rem;

    line-height:1.9;

    color:rgba(255,255,255,.92);

    max-width:650px;

    margin-bottom:45px;

}

.hero__buttons{

    display:flex;

    flex-wrap:wrap;

    gap:18px;

    margin-bottom:45px;

}

.hero .btn{

    min-width:220px;

    height:58px;

    border-radius:60px;

    display:flex;

    align-items:center;

    justify-content:center;

    text-decoration:none;

    font-weight:700;

    transition:.35s;

}

.btn-primary{

    background:#17a34a;

    color:#fff;

    box-shadow:0 15px 35px rgba(0,0,0,.25);

}

.btn-primary:hover{

    transform:translateY(-4px);

    background:#149042;

}

.btn-secondary{

    color:#fff;

    border:2px solid rgba(255,255,255,.25);

    backdrop-filter:blur(15px);

}

.btn-secondary:hover{

    background:#fff;

    color:#0d2237;

}

.hero__features{

    display:grid;

    grid-template-columns:repeat(2,minmax(180px,1fr));

    gap:16px;

    list-style:none;

    margin:0;

    padding:0;

}

.hero__features li{

    display:flex;

    align-items:center;

    gap:10px;

    font-weight:600;

}

.hero__card{

    display:flex;

    justify-content:flex-end;

}

.hero-card{

    width:100%;

    max-width:390px;

    background:rgba(255,255,255,.10);

    backdrop-filter:blur(18px);

    border:1px solid rgba(255,255,255,.18);

    border-radius:28px;

    padding:40px;

    box-shadow:0 30px 60px rgba(0,0,0,.25);

}

.hero-card h2{

    font-size:1.8rem;

    margin-bottom:18px;

}

.hero-card p{

    opacity:.92;

    margin-bottom:25px;

}

.hero-card ul{

    list-style:none;

    padding:0;

    margin:0 0 30px;

}

.hero-card li{

    padding:10px 0;

    border-bottom:1px solid rgba(255,255,255,.12);

}

.hero-card__link{

    color:#7be37f;

    font-weight:700;

    text-decoration:none;

}

.hero-card__map{

    position:relative;

    width:100%;

    border-radius:var(--radius-md);

    overflow:hidden;

    margin-bottom:16px;

}

.hero-card__map img{

    width:100%;

    height:auto;

    display:block;

}

.hero-card__overlay{

    position:absolute;

    inset:0;

    width:100%;

    height:100%;

}

.hero-scroll{

    position:absolute;

    bottom:40px;

    left:50%;

    transform:translateX(-50%);

    z-index:20;

    width:42px;

    height:70px;

    border-radius:40px;

    border:2px solid rgba(255,255,255,.35);

}

.hero-scroll span{

    position:absolute;

    top:12px;

    left:50%;

    width:6px;

    height:14px;

    background:#fff;

    border-radius:20px;

    transform:translateX(-50%);

    animation:scrollMouse 2s infinite;

}

@keyframes scrollMouse{

    0%{
        opacity:1;
        transform:translate(-50%,0);
    }

    100%{
        opacity:0;
        transform:translate(-50%,24px);
    }

}

/* ===========================
   TABLETTE
=========================== */

@media(max-width:992px){

.hero .container{

grid-template-columns:1fr;

gap:50px;

padding:90px 0;

}

.hero__card{

justify-content:flex-start;

}

.hero__features{

grid-template-columns:1fr;

}

}

/* ===========================
   MOBILE
=========================== */

@media(max-width:768px){

.hero{

min-height:auto;

}

.hero h1{

font-size:2.5rem;

}

.hero__description{

font-size:1rem;

line-height:1.7;

}

.hero .btn{

width:100%;

min-width:100%;

}

.hero-card{

padding:28px;

}

}
