/* ==========================================================
   NemuTrip Hero Section
   FINAL V10
   Theme : NemuTrip
========================================================== */

/* ==========================================================
   Variables
========================================================== */

:root{

    --hero-primary:#0D6EFD;
    --hero-secondary:#1E293B;
    --hero-accent:#F59E0B;

    --hero-heading:#FFFFFF;
    --hero-text:rgba(255,255,255,.88);

    --hero-radius:24px;

    --hero-transition:.35s ease;

}

/* ==========================================================
   Hero Section
========================================================== */

.hero-section{

    position:relative;

    overflow:hidden;

    min-height:88vh;

    display:flex;

    align-items:center;

    padding:125px 0 60px;

    color:#FFFFFF;

}

/* ==========================================================
   Container
========================================================== */

.hero-section .container{

    position:relative;

    z-index:5;

}

/* ==========================================================
   Images
========================================================== */

.hero-section img{

    max-width:100%;

    display:block;

}

/* ==========================================================
   Links
========================================================== */

.hero-section a{

    text-decoration:none;

    transition:var(--hero-transition);

}

/* ==========================================================
   Global
========================================================== */

.hero-section *{

    box-sizing:border-box;

}

/* ==========================================================
   Hero Background
========================================================== */

.hero-background{

    position:absolute;

    inset:0;

    z-index:1;

    overflow:hidden;

}

.hero-bg-image{

    position:absolute;

    inset:0;

    width:100%;

    height:100%;

    object-fit:cover;

    object-position:center;

    transform:scale(1.03);

}

/* ==========================================================
   Dark Overlay
========================================================== */

.hero-overlay{

    position:absolute;

    inset:0;

    background:

        linear-gradient(

            90deg,

            rgba(6,22,45,.80) 0%,

            rgba(8,36,78,.65) 45%,

            rgba(13,110,253,.28) 100%

        );

}

/* ==========================================================
   Premium Gradient
========================================================== */

.hero-gradient{

    position:absolute;

    inset:0;

    background:

        radial-gradient(

            circle at 20% 30%,

            rgba(13,110,253,.22),

            transparent 45%

        ),

        radial-gradient(

            circle at 85% 15%,

            rgba(245,158,11,.12),

            transparent 35%

        ),

        radial-gradient(

            circle at 75% 85%,

            rgba(59,130,246,.18),

            transparent 45%

        );

}

/* ==========================================================
   Content Layer
========================================================== */

.hero-content{

    position:relative;

    z-index:10;

    max-width:700px;

}

/* ==========================================================
   Hero Spacing
========================================================== */

.hero-section .row{

    min-height:78vh;

    align-items:center;

}

/* ==========================================================
   Hero Badge
========================================================== */

.hero-badge{

    display:inline-flex;

    align-items:center;

    gap:12px;

    padding:12px 24px;

    margin-bottom:38px;

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

    border-radius:999px;

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

    backdrop-filter:blur(14px);

    color:#FFFFFF;

    font-size:.82rem;

    font-weight:700;

    letter-spacing:2px;

    text-transform:uppercase;

}

.hero-badge i{

    color:var(--hero-accent);

    font-size:1rem;

}

/* ==========================================================
   Hero Title
========================================================== */

.hero-title{

    margin:0;

    color:var(--hero-heading);

    font-size:clamp(3rem,6vw,5.5rem);

    font-weight:800;

    line-height:1.08;

    letter-spacing:-2px;

}

.hero-title span{

    display:block;

    margin-top:12px;

    color:#FFFFFF;

}

/* ==========================================================
   Hero Description
========================================================== */

.hero-description{

    max-width:640px;

    margin:28px 0 0;

    color:var(--hero-text);

    font-size:1.15rem;

    line-height:1.8;

}

/* ==========================================================
   Hero Actions
========================================================== */

.hero-actions{

    display:flex;

    align-items:center;

    gap:20px;

    flex-wrap:wrap;

    margin-top:42px;

}

/* ==========================================================
   Hero Primary Button
========================================================== */

.btn-hero-primary{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    gap:12px;

    padding:20px 40px;

    border-radius:18px;

    background:linear-gradient(
        135deg,
        var(--hero-primary),
        #3B82F6
    );

    color:#FFFFFF;

    font-size:1rem;

    font-weight:700;

    box-shadow:
        0 18px 40px rgba(13,110,253,.30);

    transition:all .35s ease;

}

.btn-hero-primary:hover{

    color:#FFFFFF;

    transform:translateY(-4px);

    box-shadow:
        0 24px 50px rgba(13,110,253,.40);

}

.btn-hero-primary i{

    transition:transform .30s ease;

}

.btn-hero-primary:hover i{

    transform:translateX(6px);

}

/* ==========================================================
   Hero Secondary Button
========================================================== */

.btn-hero-secondary{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    gap:12px;

    padding:20px 40px;

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

    border-radius:18px;

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

    backdrop-filter:blur(12px);

    color:#FFFFFF;

    font-size:1rem;

    font-weight:700;

    transition:all .35s ease;

}

.btn-hero-secondary:hover{

    background:#FFFFFF;

    color:var(--hero-primary);

    transform:translateY(-4px);

}

.btn-hero-secondary i{

    transition:transform .30s ease;

}

.btn-hero-secondary:hover i{

    transform:translateX(6px);

}

/* ==========================================================
   Hero Features
========================================================== */

.hero-features{

    display:flex;

    align-items:stretch;

    gap:22px;

    margin-top:55px;

    flex-wrap:wrap;

}

/* ==========================================================
   Feature Item
========================================================== */

.hero-feature-item{

    flex:1;

    min-width:210px;

    display:flex;

    align-items:center;

    gap:18px;

    padding:22px 24px;

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

    border-radius:22px;

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

    backdrop-filter:blur(24px);

    transition:all .35s ease;

}

.hero-feature-item:hover{

    transform:translateY(-8px);

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

    border-color:rgba(255,255,255,.22);

    box-shadow:

        0 22px 45px rgba(0,0,0,.18);

}

/* ==========================================================
   Feature Icon
========================================================== */

.hero-feature-icon{

    width:64px;

    height:64px;

    flex-shrink:0;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:18px;

    background:linear-gradient(

        135deg,

        var(--hero-primary),

        #3B82F6

    );

    color:#FFFFFF;

    font-size:1.6rem;

    box-shadow:

        0 12px 28px rgba(13,110,253,.35);

    transition:all .35s ease;

}

.hero-feature-item:hover .hero-feature-icon{

    transform:rotate(-8deg) scale(1.08);

}

/* ==========================================================
   Feature Content
========================================================== */

.hero-feature-content{

    flex:1;

}

.hero-feature-title{

    margin:0 0 6px;

    color:#FFFFFF;

    font-size:1.05rem;

    font-weight:700;

    line-height:1.3;

}

.hero-feature-description{

    margin:0;

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

    font-size:.92rem;

    line-height:1.6;

}

/* ==========================================================
   Hero Decorative Shapes
========================================================== */

.hero-shape{

    position:absolute;

    border-radius:50%;

    pointer-events:none;

    z-index:2;

}

/* ==========================================================
   Shape 1
========================================================== */

.hero-shape-1{

    width:380px;

    height:380px;

    top:-180px;

    right:-140px;

    background:

        radial-gradient(

            circle,

            rgba(13,110,253,.28),

            transparent 72%

        );

    filter:blur(20px);

}

/* ==========================================================
   Shape 2
========================================================== */

.hero-shape-2{

    width:260px;

    height:260px;

    bottom:-100px;

    left:-80px;

    background:

        radial-gradient(

            circle,

            rgba(245,158,11,.16),

            transparent 72%

        );

    filter:blur(18px);

}

/* ==========================================================
   Shape 3
========================================================== */

.hero-shape-3{

    width:160px;

    height:160px;

    top:24%;

    right:18%;

    background:

        radial-gradient(

            circle,

            rgba(255,255,255,.08),

            transparent 70%

        );

}

/* ==========================================================
   Hero Grid Pattern
========================================================== */

.hero-grid{

    position:absolute;

    inset:0;

    z-index:1;

    opacity:.08;

    pointer-events:none;

    background-image:

        linear-gradient(

            rgba(255,255,255,.12) 1px,

            transparent 1px

        ),

        linear-gradient(

            90deg,

            rgba(255,255,255,.12) 1px,

            transparent 1px

        );

    background-size:48px 48px;

}

/* ==========================================================
   Hero Glow
========================================================== */

.hero-glow{

    position:absolute;

    left:50%;

    bottom:-220px;

    transform:translateX(-50%);

    width:900px;

    height:420px;

    border-radius:50%;

    background:

        radial-gradient(

            ellipse,

            rgba(13,110,253,.24),

            transparent 72%

        );

    filter:blur(50px);

    pointer-events:none;

    z-index:1;

}

/* ==========================================================
   Enterprise Responsive
========================================================== */

/* ==========================================================
   Large Desktop
========================================================== */

@media (max-width:1400px){

    .hero-section{

        padding:130px 0 70px;

    }

}

/* ==========================================================
   Laptop
========================================================== */

@media (max-width:1199px){

    .hero-section{

        min-height:92vh;

        padding:120px 0 60px;

    }

    .hero-content{

        max-width:680px;

    }

    .hero-title{

        font-size:4.5rem;

    }

    .hero-features{

        gap:18px;

    }

}

/* ==========================================================
   Tablet
========================================================== */

@media (max-width:991px){

    .hero-section{

        min-height:auto;

        padding:120px 0 80px;

    }

    .hero-section .row{

        min-height:auto;

    }

    .hero-content{

        max-width:100%;

        text-align:center;

    }

    .hero-description{

        margin-left:auto;

        margin-right:auto;

    }

    .hero-actions{

        justify-content:center;

    }

    .hero-features{

        justify-content:center;

        margin-top:55px;

    }

    .hero-feature-item{

        flex:0 0 calc(50% - 12px);

    }

}

/* ==========================================================
   Mobile
========================================================== */

@media (max-width:767px){

    .hero-section{

        padding:110px 0 70px;

    }

    .hero-title{

        font-size:3rem;

        letter-spacing:-1px;

    }

    .hero-description{

        font-size:1rem;

        line-height:1.8;

    }

    .hero-actions{

        flex-direction:column;

        align-items:stretch;

        gap:16px;

    }

    .btn-hero-primary,

    .btn-hero-secondary{

        width:100%;

    }

    .hero-features{

        flex-direction:column;

        gap:18px;

    }

    .hero-feature-item{

        flex:1 1 100%;

        min-width:100%;

    }

}

/* ==========================================================
   Small Mobile
========================================================== */

@media (max-width:480px){

    .hero-section{

        padding:100px 0 60px;

    }

    .hero-badge{

        font-size:.70rem;

        padding:10px 18px;

        letter-spacing:1px;

    }

    .hero-title{

        font-size:2.4rem;

    }

    .hero-feature-item{

        padding:18px;

    }

    .hero-feature-icon{

        width:56px;

        height:56px;

        font-size:1.35rem;

    }

}

/* ==========================================================
   Premium Animation
========================================================== */

/* ==========================================================
   Hero Fade In
========================================================== */

.hero-content{

    animation:heroFadeUp .9s ease both;

}

@keyframes heroFadeUp{

    from{

        opacity:0;

        transform:translateY(40px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}

/* ==========================================================
   Background Zoom
========================================================== */

.hero-bg-image{

    animation:heroZoom 14s ease-in-out infinite alternate;

}

@keyframes heroZoom{

    from{

        transform:scale(1.03);

    }

    to{

        transform:scale(1.08);

    }

}

/* ==========================================================
   Floating Shapes
========================================================== */

.hero-shape-1{

    animation:floatOne 9s ease-in-out infinite;

}

.hero-shape-2{

    animation:floatTwo 11s ease-in-out infinite;

}

.hero-shape-3{

    animation:floatThree 7s ease-in-out infinite;

}

@keyframes floatOne{

    0%,100%{

        transform:translateY(0);

    }

    50%{

        transform:translateY(-25px);

    }

}

@keyframes floatTwo{

    0%,100%{

        transform:translateX(0);

    }

    50%{

        transform:translateX(20px);

    }

}

@keyframes floatThree{

    0%,100%{

        transform:translateY(0) scale(1);

    }

    50%{

        transform:translateY(-18px) scale(1.08);

    }

}

/* ==========================================================
   Hero Buttons
========================================================== */

.btn-hero-primary,
.btn-hero-secondary{

    position:relative;

    overflow:hidden;

}

.btn-hero-primary::before,
.btn-hero-secondary::before{

    content:"";

    position:absolute;

    top:0;

    left:-120%;

    width:60%;

    height:100%;

    background:

        linear-gradient(

            90deg,

            transparent,

            rgba(255,255,255,.35),

            transparent

        );

    transform:skewX(-25deg);

    transition:left .8s ease;

}

.btn-hero-primary:hover::before,
.btn-hero-secondary:hover::before{

    left:160%;

}

/* ==========================================================
   Feature Cards
========================================================== */

.hero-feature-item{

    will-change:transform;

}

.hero-feature-item:hover{

    transition:

        transform .35s ease,

        box-shadow .35s ease,

        border-color .35s ease;

}

.hero-feature-item:hover .hero-feature-title{

    color:#FFFFFF;

}

.hero-feature-item:hover .hero-feature-description{

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

}

/* ==========================================================
   FINAL V10
   Motion + Premium Polish
========================================================== */

/* ==========================================================
   Smooth Rendering
========================================================== */

.hero-section{

    -webkit-font-smoothing:antialiased;

    -moz-osx-font-smoothing:grayscale;

    text-rendering:optimizeLegibility;

}

/* ==========================================================
   Performance
========================================================== */

.hero-bg-image,
.hero-feature-item,
.btn-hero-primary,
.btn-hero-secondary{

    will-change:transform;

    backface-visibility:hidden;

}

/* ==========================================================
   Focus Accessibility
========================================================== */

.btn-hero-primary:focus-visible,
.btn-hero-secondary:focus-visible{

    outline:3px solid rgba(255,255,255,.35);

    outline-offset:4px;

}

/* ==========================================================
   Selection
========================================================== */

.hero-section ::selection{

    background:var(--hero-primary);

    color:#FFFFFF;

}

/* ==========================================================
   Prevent Layout Shift
========================================================== */

.hero-bg-image{

    height:100%;

    width:100%;

}

.hero-feature-icon{

    flex-shrink:0;

}

/* ==========================================================
   Improve Layering
========================================================== */

.hero-background{

    z-index:1;

}

.hero-content{

    z-index:5;

}

.hero-grid,
.hero-glow{

    pointer-events:none;

}

/* ==========================================================
   Glass Effect
========================================================== */

.hero-feature-item,
.hero-badge{

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

    box-shadow:

        0 12px 40px rgba(0,0,0,.12);

}

/* ==========================================================
   Button Shadow
========================================================== */

.btn-hero-primary{

    box-shadow:

        0 18px 45px rgba(13,110,253,.35);

}

.btn-hero-primary:hover{

    box-shadow:

        0 24px 55px rgba(13,110,253,.45);

}

.btn-hero-secondary:hover{

    box-shadow:

        0 20px 45px rgba(0,0,0,.15);

}

/* ==========================================================
   Final Polish
========================================================== */

.hero-title,
.hero-description,
.hero-feature-title{

    text-wrap:balance;

}

.hero-section *{

    -webkit-tap-highlight-color:transparent;

}

/* ==========================================================
   End Hero Section
   FINAL V10
========================================================== */