/*==============================================================
    HERO.CSS
    PART 1
    Hero Foundation
==============================================================*/

/*==============================================================
HERO SECTION
==============================================================*/

.hero{

    position:relative;

    width:100%;

    height:auto;

    min-height:100vh;

    background:#071B2B;

    isolation:isolate;

}


/*==============================================================
BACKGROUND VIDEO
==============================================================*/

.hero-video{

    position:absolute;

    inset:0;

    width:100%;

    height:100%;

    object-fit:cover;

    object-position:center;

    z-index:1;

    pointer-events:none;

}


/*==============================================================
VIDEO OVERLAY
==============================================================*/

.hero-overlay{

    position:absolute;

    inset:0;

    background:rgba(0,0,0,.35);

    z-index:2;

    pointer-events:none;

}

.hero-overlay::before{

    content:"";

    position:absolute;

    inset:0;

    background:
        radial-gradient(
            circle at top right,
            rgba(212,175,55,.20),
            transparent 45%
        );

    pointer-events:none;

}

.hero-overlay::after{

    content:"";

    position:absolute;

    inset:0;

    background:
        linear-gradient(
            90deg,
            rgba(0,0,0,.45),
            transparent,
            rgba(0,0,0,.20)
        );

    pointer-events:none;

}


/*==============================================================
SWIPER CONTAINER
==============================================================*/

.heroSwiper{

    position:relative;

    width:100%;

    height:100%;
    
    position:relative;

    z-index:50;

}

.heroSwiper .swiper-wrapper{

    height:100%;

}

.heroSwiper .swiper-slide{

    display:flex;

    align-items:center;

    justify-content:center;

    position:relative;

}


/*==============================================================
SLIDE IMAGE
==============================================================*/

.hero-image{

    position:absolute;

    inset:0;

    z-index:1;

}

.hero-image img{

    width:100%;

    height:100%;

    object-fit:cover;

    object-position:center;

}


/*==============================================================
HERO CONTAINER
==============================================================*/

.hero .container{

    position:relative;

    display:flex;

    align-items:center;

    z-index:20;
    
    /* Inherit the active slide's hit testing; keep CTA links clickable. */
    pointer-events:inherit;

}


/*==============================================================
HERO CONTENT
==============================================================*/

.hero-content{

    position:relative;

    max-width:720px;

    color:#fff;

    z-index:30;

}

.heroSwiper .swiper-button-next,
.heroSwiper .swiper-button-prev,
.heroSwiper .swiper-pagination{

    z-index:100;

}

.hero-content>*{

    position:relative;

    z-index:30;

}


/*==============================================================
SUBTITLE
==============================================================*/

.hero-subtitle{

    display:inline-flex;

    align-items:center;

    gap:12px;

    margin-bottom:20px;

    color:#D4AF37;

    font-size:15px;

    font-weight:700;

    letter-spacing:2px;

    text-transform:uppercase;

}

.hero-subtitle::before{

    content:"";

    width:55px;

    height:2px;

    background:#D4AF37;

}


/*==============================================================
TITLE
==============================================================*/

.hero-title{

    margin:0;

    font-size:4.5rem;

    line-height:1.08;

    font-weight:800;

    color:#fff;

}

.hero-title span{

    color:#D4AF37;

}


/*==============================================================
DESCRIPTION
==============================================================*/

.hero-description{

    margin-top:28px;

    margin-bottom:38px;

    max-width:620px;

    font-size:18px;

    line-height:1.9;

    color:rgba(255,255,255,.88);

}


/*==============================================================
BUTTON GROUP
==============================================================*/

.hero-buttons{

    display:flex;

    flex-wrap:wrap;

    gap:18px;

    margin-top:35px;

}


/*==============================================================
PRIMARY BUTTON
==============================================================*/

.hero-btn{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:16px 34px;

    border-radius:50px;

    background:#D4AF37;

    color:#081C2D;

    font-weight:700;

    text-decoration:none;

    transition:.35s ease;

}

.hero-btn:hover{

    background:#fff;

    transform:translateY(-3px);

}


/*==============================================================
SECONDARY BUTTON
==============================================================*/

.hero-btn-outline{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:16px 34px;

    border-radius:50px;

    border:2px solid #fff;

    color:#fff;

    text-decoration:none;

    transition:.35s ease;

}

.hero-btn-outline:hover{

    background:#fff;

    color:#081C2D;

}


/*==============================================================
SCROLL INDICATOR
==============================================================*/

.hero-scroll{

    position:absolute;

    bottom:35px;

    left:50%;

    transform:translateX(-50%);

    z-index:40;

    color:#fff;

    text-align:center;

}

.hero-scroll span{

    display:block;

    margin-top:10px;

    font-size:12px;

    letter-spacing:3px;

    text-transform:uppercase;

}

.hero-scroll i{

    animation:heroScroll 2s infinite;

}

@keyframes heroScroll{

    0%{

        transform:translateY(0);

        opacity:1;

    }

    50%{

        transform:translateY(10px);

    }

    100%{

        transform:translateY(20px);

        opacity:0;

    }

}
/*==============================================================
    HERO.CSS
    PART 2
    Swiper Navigation • Pagination • Hero Statistics
==============================================================*/


/*==============================================================
SWIPER NAVIGATION
==============================================================*/

.heroSwiper .swiper-button-next,
.heroSwiper .swiper-button-prev{

    width:65px;

    height:65px;

    border-radius:50%;

    background:rgba(255,255,255,.12);

    backdrop-filter:blur(15px);

    -webkit-backdrop-filter:blur(15px);

    border:1px solid rgba(255,255,255,.18);

    color:#fff;

    transition:all .35s ease;

    z-index:100;

}

.heroSwiper .swiper-button-next:hover,
.heroSwiper .swiper-button-prev:hover{

    background:#D4AF37;

    color:#081C2D;

    transform:translateY(-5px);

    box-shadow:0 18px 35px rgba(212,175,55,.35);

}

.heroSwiper .swiper-button-next::after,
.heroSwiper .swiper-button-prev::after{

    font-size:18px;

    font-weight:700;

}


/*==============================================================
SWIPER PAGINATION
==============================================================*/

.heroSwiper .swiper-pagination{

    bottom:45px !important;

    z-index:100;

    pointer-events:none;

}

.heroSwiper .swiper-pagination-bullet{

    pointer-events:auto;

    width:14px;

    height:14px;

    background:rgba(255,255,255,.45);

    opacity:1;

    margin:0 8px !important;

    transition:.35s;

}

.heroSwiper .swiper-pagination-bullet-active{

    width:38px;

    border-radius:30px;

    background:#D4AF37;

}


/*==============================================================
HERO STATS
==============================================================*/

.hero-stats{

    display:flex;

    flex-wrap:wrap;

    gap:25px;

    margin-top:55px;

}

.hero-stat{

    min-width:170px;

    padding:18px 24px;

    border-radius:16px;

    background:rgba(255,255,255,.08);

    backdrop-filter:blur(18px);

    border:1px solid rgba(255,255,255,.12);

}

.hero-stat h3{

    margin:0;

    color:#D4AF37;

    font-size:2.2rem;

    font-weight:800;

}

.hero-stat p{

    margin-top:8px;

    color:rgba(255,255,255,.82);

    font-size:15px;

}


/*==============================================================
GLASS INFO CARD
==============================================================*/

.hero-card{

    position:absolute;

    right:80px;

    bottom:100px;

    width:340px;

    padding:28px;

    border-radius:22px;

    background:rgba(255,255,255,.08);

    backdrop-filter:blur(18px);

    border:1px solid rgba(255,255,255,.15);

    color:#fff;

    z-index:30;

}

.hero-card h4{

    margin-bottom:15px;

    font-size:1.4rem;

}

.hero-card p{

    color:rgba(255,255,255,.80);

    line-height:1.8;

}


/*==============================================================
FLOATING BADGES
==============================================================*/

.hero-badge{

    position:absolute;

    display:flex;

    align-items:center;

    gap:12px;

    padding:14px 20px;

    border-radius:50px;

    background:#ffffff;

    color:#081C2D;

    font-weight:700;

    box-shadow:0 15px 40px rgba(0,0,0,.18);

    z-index:35;

}

.hero-badge i{

    color:#D4AF37;

}

.hero-badge.badge-one{

    top:22%;

    right:7%;

}

.hero-badge.badge-two{

    bottom:26%;

    left:7%;

}


/*==============================================================
SOCIAL LINKS
==============================================================*/

.hero-social{

    position:absolute;

    left:45px;

    top:50%;

    transform:translateY(-50%);

    display:flex;

    flex-direction:column;

    gap:15px;

    z-index:40;

}

.hero-social a{

    width:48px;

    height:48px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:50%;

    background:rgba(255,255,255,.12);

    color:#fff;

    transition:.35s;

    text-decoration:none;

}

.hero-social a:hover{

    background:#D4AF37;

    color:#081C2D;

    transform:translateY(-5px);

}


/*==============================================================
SLIDE CONTENT ANIMATION
==============================================================*/

.heroSwiper .swiper-slide-active .hero-subtitle{

    animation:slideUp .8s ease both;

}

.heroSwiper .swiper-slide-active .hero-title{

    animation:slideUp .9s ease both;

    animation-delay:.15s;

}

.heroSwiper .swiper-slide-active .hero-description{

    animation:slideUp 1s ease both;

    animation-delay:.30s;

}

.heroSwiper .swiper-slide-active .hero-buttons{

    animation:slideUp 1.1s ease both;

    animation-delay:.45s;

}

.heroSwiper .swiper-slide-active .hero-stats{

    animation:slideUp 1.2s ease both;

    animation-delay:.60s;

}

@keyframes slideUp{

    from{

        opacity:0;

        transform:translateY(45px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}


/*==============================================================
BACKGROUND ZOOM
==============================================================*/

.heroSwiper .swiper-slide-active .hero-image img{

    animation:heroZoom 8s linear forwards;

}

@keyframes heroZoom{

    from{

        transform:scale(1);

    }

    to{

        transform:scale(1.12);

    }

}


/*==============================================================
GRADIENT LIGHT
==============================================================*/

.hero-light{

    position:absolute;

    top:-250px;

    right:-250px;

    width:650px;

    height:650px;

    border-radius:50%;

    background:radial-gradient(

        rgba(212,175,55,.25),

        transparent 70%

    );

    filter:blur(60px);

    z-index:2;

    pointer-events:none;

}


/*==============================================================
PIPELINE DECORATION
==============================================================*/

.hero-pipeline{

    position:absolute;

    bottom:0;

    left:0;

    width:100%;

    height:6px;

    background:linear-gradient(

        90deg,

        transparent,

        #D4AF37,

        transparent

    );

    z-index:25;

    animation:pipelineFlow 5s linear infinite;

}

@keyframes pipelineFlow{

    from{

        background-position:0 0;

    }

    to{

        background-position:1200px 0;

    }

}


/*==============================================================
MOUSE PARALLAX LAYER
==============================================================*/

.hero-parallax{

    position:absolute;

    inset:0;

    pointer-events:none;

    z-index:3;

}
/*==============================================================
    HERO.CSS
    PART 3
    Responsive • Accessibility • Performance
==============================================================*/


/*==============================================================
HERO CONTACT CARD
==============================================================*/

.hero-contact{

    position:absolute;

    right:60px;

    top:120px;

    width:300px;

    padding:25px;

    border-radius:20px;

    background:rgba(255,255,255,.08);

    backdrop-filter:blur(20px);

    border:1px solid rgba(255,255,255,.15);

    color:#fff;

    z-index:30;

}

.hero-contact h4{

    margin-bottom:15px;

    font-size:1.3rem;

}

.hero-contact ul{

    list-style:none;

    padding:0;

    margin:0;

}

.hero-contact li{

    display:flex;

    align-items:center;

    gap:12px;

    margin-bottom:15px;

}

.hero-contact i{

    color:#D4AF37;

    width:20px;

}


/*==============================================================
SLIDE TRANSITION
==============================================================*/

.heroSwiper .swiper-slide{

    overflow:hidden;

}

.heroSwiper .swiper-slide img{

    transition:transform 8s linear;

}

.heroSwiper .swiper-slide-active img{

    transform:scale(1.08);

}


/*==============================================================
HERO SHAPES
==============================================================*/

.hero-shape{

    position:absolute;

    border-radius:50%;

    filter:blur(60px);

    pointer-events:none;

}

.hero-shape.one{

    width:320px;

    height:320px;

    left:-120px;

    top:15%;

    background:rgba(212,175,55,.15);

}

.hero-shape.two{

    width:420px;

    height:420px;

    right:-180px;

    bottom:-120px;

    background:rgba(0,153,255,.12);

}


/*==============================================================
SCROLL INDICATOR
==============================================================*/

.hero-scroll{

    animation:fadeInUp 1.5s ease;

}

.hero-scroll .mouse{

    width:28px;

    height:48px;

    border:2px solid #fff;

    border-radius:20px;

    margin:auto;

    position:relative;

}

.hero-scroll .mouse::before{

    content:"";

    width:6px;

    height:10px;

    border-radius:10px;

    background:#D4AF37;

    position:absolute;

    left:50%;

    top:8px;

    transform:translateX(-50%);

    animation:scrollWheel 2s infinite;

}

@keyframes scrollWheel{

    0%{

        opacity:1;

        transform:translate(-50%,0);

    }

    100%{

        opacity:0;

        transform:translate(-50%,18px);

    }

}


/*==============================================================
RESPONSIVE
==============================================================*/

@media(max-width:1200px){

.hero-title{

    font-size:3.7rem;

}

.hero-card,
.hero-contact{

    display:none;

}

}

@media(max-width:992px){

.hero{

    min-height:90vh;

}

.hero .container{

    justify-content:center;

    text-align:center;

}

.hero-content{

    max-width:100%;

}

.hero-title{

    font-size:3rem;

}

.hero-description{

    margin-left:auto;

    margin-right:auto;

}

.hero-buttons{

    justify-content:center;

}

.hero-stats{

    justify-content:center;

}

.hero-social{

    display:none;

}

.hero-badge{

    display:none;

}

.heroSwiper .swiper-button-next,
.heroSwiper .swiper-button-prev{

    width:52px;

    height:52px;

}

}

@media(max-width:768px){

.hero{

    min-height:100vh;

}

.hero-title{

    font-size:2.4rem;

}

.hero-description{

    font-size:16px;

    line-height:1.7;

}

.hero-subtitle{

    font-size:13px;

}

.hero-buttons{

    flex-direction:column;

    width:100%;

}

.hero-btn,
.hero-btn-outline{

    width:100%;

}

.hero-stats{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:15px;

}

.hero-stat{

    min-width:auto;

}

.heroSwiper .swiper-button-next,
.heroSwiper .swiper-button-prev{

    display:none;

}

.heroSwiper .swiper-pagination{

    bottom:20px !important;

}

}

@media(max-width:576px){

.hero{

    min-height:95vh;

}

.hero-title{

    font-size:2rem;

}

.hero-description{

    font-size:15px;

}

.hero-stats{

    grid-template-columns:1fr;

}

.hero-scroll{

    display:none;

}

}


/*==============================================================
ACCESSIBILITY
==============================================================*/

.hero a:focus-visible,
.hero button:focus-visible{

    outline:3px solid #D4AF37;

    outline-offset:4px;

}


/*==============================================================
REDUCED MOTION
==============================================================*/

@media(prefers-reduced-motion:reduce){

.hero *,
.hero *::before,
.hero *::after{

    animation:none !important;

    transition:none !important;

}

}


/*==============================================================
PERFORMANCE
==============================================================*/

.hero img,
.hero video{

    will-change:transform;

    backface-visibility:hidden;

    transform:translateZ(0);

}

.heroSwiper{

    contain:layout style paint;

}


/*==============================================================
UTILITY CLASSES
==============================================================*/

.hero-hidden{

    display:none;

}

.hero-center{

    text-align:center;

}

.hero-full{

    width:100%;

}

.hero-relative{

    position:relative;

}

.hero-absolute{

    position:absolute;

}


/*==============================================================
END OF HERO.CSS
==============================================================*/

/* Reserve space below the content for the slider controls. */
.heroSwiper .swiper-slide > .container{
    padding-top:30px;
    padding-bottom:110px;
}
