:root{

    --lzi-primary:#1d4f91;
    --lzi-primary-dark:#143b6d;
    --lzi-text:#344054;
    --lzi-heading:#16345f;
    --lzi-radius:28px;
    --lzi-shadow:0 18px 40px rgba(20,59,109,.08);

}

*,
*::before,
*::after{

    box-sizing:border-box;

}

body{

    margin:0;
    background:#fff;

}

.lzi-container{

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

}

/* --------------------------------------------------
   HERO
--------------------------------------------------- */

.lzi-hero{

    position:relative;
    width:100%;
    height:760px;

    background:url("../img/hero.jpg") center center/cover no-repeat;

}

.lzi-hero-fade{

    position:absolute;
    left:0;
    right:0;
    bottom:0;

    height:120px;

    background:linear-gradient(
        to bottom,
        rgba(255,255,255,0) 0%,
        rgba(255,255,255,.45) 45%,
        rgba(255,255,255,.92) 82%,
        #ffffff 100%
    );

}

/* --------------------------------------------------
   SECTIONS
--------------------------------------------------- */

.lzi-welcome{
    padding:30px 0 35px;
}

.lzi-cards{
    padding:35px 0 40px;
}

.lzi-booking{
    padding:20px 0 90px;
}

.lzi-section-header{

    text-align:center;
    margin-bottom:60px;

}

.lzi-eyebrow{

    display:inline-block;
    color:var(--lzi-primary);
    font-size:.95rem;
    font-weight:700;
    letter-spacing:.08em;
    text-transform:uppercase;
    margin-bottom:16px;

}

h1,
h2{

    margin:0;
    color:var(--lzi-heading);
    line-height:1.2;
    font-weight:700;

}

h2{

    font-size:clamp(2.2rem,4vw,3.3rem);

}

p{

    color:var(--lzi-text);
    line-height:1.9;
    font-size:1.08rem;

}



.lzi-welcome .lzi-section-header{
    margin-bottom:48px;
}

.lzi-welcome h2{
    color:#16345f;
}

.lzi-welcome-content{
    max-width:920px;
    margin:0 auto;
}

.lzi-welcome-content p{
    font-size:1.12rem;
    line-height:1.95;
}

.lzi-button{

    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:16px 34px;
    border-radius:999px;
    background:var(--lzi-primary);
    color:#fff;
    text-decoration:none;
    font-weight:700;
    transition:.3s;

}

.lzi-button:hover{

    background:var(--lzi-primary-dark);

}

.lzi-booking-box{

    max-width:820px;
    margin:auto;
    background:#fff;
    border-radius:28px;
    box-shadow:var(--lzi-shadow);
    padding:70px;
    text-align:center;

}

@media(max-width:900px){

    .lzi-hero{

        height:420px;

    }

    .lzi-booking-box{

        padding:40px 28px;

    }

}