/* =====================================================
   HERO
===================================================== */

.avi-hero{

    position:relative;

    min-height:100vh;

    display:flex;

    align-items:center;

    overflow:hidden;

    background:#8f1115;

    background-image:url("../images/hero.png");

    background-size:cover;

    background-position:center;

    background-repeat:no-repeat;

}

.avi-hero::before{

    content:"";

    position:absolute;

    inset:0;

    background:linear-gradient(
        90deg,
        rgba(80,0,0,.82),
        rgba(120,0,0,.55),
        rgba(120,0,0,.35)
    );

}

.avi-hero-overlay{

    position:absolute;

    inset:0;

    background:

    radial-gradient(circle at top right,
    rgba(255,210,90,.18),
    transparent 45%),

    radial-gradient(circle at bottom left,
    rgba(255,255,255,.05),
    transparent 55%);

}

.avi-hero .avi-container{

    position:relative;

    z-index:10;

}

.avi-hero-content{

    width:100%;
    max-width:980px;

    margin:0 auto;

    color:#fff;

    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;

    text-align:center;

    animation:aviFadeUp .8s ease;

}

.avi-hero-tag{

    display:inline-flex;

    align-items:center;

    gap:10px;

    padding:12px 24px;

    border-radius:50px;

    border:1px solid rgba(255,255,255,.2);

    background:rgba(255,255,255,.08);

    backdrop-filter:blur(8px);

    font-size:13px;

    font-weight:700;

    letter-spacing:2px;

    text-transform:uppercase;

}

.avi-hero-tag::before{

    content:"";

    width:8px;

    height:8px;

    border-radius:50%;

    background:#ffc83d;

}

.avi-hero h1{

    margin:35px 0;

    line-height:1.2;

}

.avi-hero h1 span{

    display:block;

    font-size:66px;

    font-weight:300;

    color:#fff;

}

.avi-hero h1 strong{

    display:block;

    margin-top:18px;

    font-size:92px;

    line-height:1.12;

    padding-bottom:12px;

    text-transform:uppercase;

    background:linear-gradient(
        180deg,
        #ffe27d,
        #ffbf18
    );

    -webkit-background-clip:text;
    -webkit-text-fill-color:transparent;

}

.avi-hero-divider{

    width:90px;

    height:5px;

    margin:35px auto;

    border-radius:50px;

    background:#ffc83d;

}

.avi-hero p{

    font-size:22px;

    line-height:1.8;

    max-width:700px;

    margin:auto;

    color:rgba(255,255,255,.92);

}
}

.avi-hero-buttons{

    display:flex;

    justify-content:center;

    align-items:center;

    gap:18px;

    margin-top:45px;

    flex-wrap:wrap;

}

.avi-btn-primary{

    display:flex;

    align-items:center;

    gap:10px;

    padding:18px 40px;

    border-radius:50px;

    background:#ffc83d;

    color:#611010;

    font-weight:700;

    transition:.35s;

}

.avi-btn-primary:hover{

    transform:translateY(-4px);

    box-shadow:0 20px 40px rgba(255,200,60,.3);

}

.avi-btn-outline{

    display:flex;

    align-items:center;

    gap:10px;

    padding:18px 40px;

    border-radius:50px;

    border:2px solid #fff;

    color:#fff;

    font-weight:700;

    transition:.35s;

}

.avi-btn-outline:hover{

    background:#fff;

    color:#8f1115;

}

.avi-hero-counter{

    display:flex;

    justify-content:center;

    align-items:center;

    gap:28px;

    flex-wrap:wrap;

    margin-top:70px;

}

.hero-counter-item{

    position:relative;

    width:230px;

    padding:35px 20px;

    text-align:center;

    border-radius:24px;

    background:rgba(255,255,255,.08);

    backdrop-filter:blur(16px);

    border:1px solid rgba(255,255,255,.15);

    overflow:hidden;

    transition:.45s ease;

    cursor:pointer;

    opacity:0;

    transform:translateY(60px);

    animation:heroCounter .9s forwards;

}
.hero-counter-item:nth-child(1){

    animation-delay:.2s;

}

.hero-counter-item:nth-child(2){

    animation-delay:.45s;

}

.hero-counter-item:nth-child(3){

    animation-delay:.7s;

}
.hero-counter-item strong{

    display:block;

    font-size:54px;

    color:#ffc83d;

    font-weight:900;

    transition:.35s;

}

.hero-counter-item span{

    display:block;

    margin-top:14px;

    color:#fff;

    font-size:17px;

    transition:.35s;

}
.hero-counter-item::before{

    content:"";

    position:absolute;

    top:-120%;

    left:-70%;

    width:55%;

    height:260%;

    transform:rotate(25deg);

    background:

        linear-gradient(

            transparent,

            rgba(255,255,255,.45),

            transparent

        );

    transition:.9s;

}
.hero-counter-item:hover{

    transform:translateY(-14px) scale(1.04);

    background:rgba(255,255,255,.15);

    box-shadow:

        0 30px 60px rgba(0,0,0,.28);

}
.hero-counter-item:hover::before{

    left:140%;

}
.hero-counter-item:hover strong{

    transform:scale(1.1);

    text-shadow:

        0 0 18px rgba(255,200,60,.9);

}
.hero-counter-item:hover span{

    letter-spacing:.6px;

}

.avi-scroll{

    position:absolute;

    bottom:35px;

    left:50%;

    transform:translateX(-50%);

    color:#fff;

    display:flex;

    flex-direction:column;

    align-items:center;

    gap:10px;

    animation:aviFloat 2.5s infinite;

}

.avi-scroll span{

    font-size:12px;

    letter-spacing:3px;

}

.avi-scroll i{

    font-size:26px;

}

/* =====================================================
   RESPONSIVE
===================================================== */

@media(max-width:991px){

    .avi-hero{

        min-height:auto;

        padding:120px 0 80px;

    }

    .avi-hero h1 span{

        font-size:48px;

    }

    .avi-hero h1 strong{

        font-size:66px;

    }

    .avi-hero p{

        font-size:18px;

    }

    .avi-hero-counter{

        grid-template-columns:1fr;

    }

}

@media(max-width:768px){

    .avi-hero-buttons{

        flex-direction:column;

    }

    .avi-btn-primary,

    .avi-btn-outline{

        justify-content:center;

    }

    .avi-hero h1 span{

        font-size:38px;

    }

    .avi-hero h1 strong{

        font-size:54px;

    }

}

@media(max-width:480px){

    .avi-hero{

        padding:90px 0 70px;

    }

    .avi-hero h1 span{

        font-size:30px;

    }

    .avi-hero h1 strong{

        font-size:42px;

    }

    .avi-hero p{

        font-size:16px;

    }

}
@keyframes heroCounter{

    from{

        opacity:0;

        transform:translateY(70px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}