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

.page-hero{

    position:relative;

    overflow:hidden;

    isolation:isolate;

    background:linear-gradient(135deg,#08111f 0%,#0b1629 45%,#101d35 100%);

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

}

.page-hero .container{

    position:relative;

    z-index:5;

}

.page-hero-wrapper{

    display:grid;

    grid-template-columns:1.15fr .85fr;

    align-items:center;

    gap:80px;

    min-height:500px;

    padding:140px 0 70px;

}

.page-hero-content{

    position:relative;

    z-index:2;

}

.page-hero-visual{

    position:relative;

    display:flex;

    justify-content:center;

    align-items:center;

    min-height:520px;

}

/*==================================================
BACKGROUND
==================================================*/

.page-hero-bg{

    position:absolute;

    inset:0;

    z-index:0;

}

.page-hero-bg::before{

    content:"";

    position:absolute;

    width:700px;

    height:700px;

    right:-220px;

    top:-220px;

    border-radius:50%;

    background:radial-gradient(circle,
    rgba(14,165,233,.22),
    transparent 70%);

    filter:blur(60px);

}

.page-hero-bg::after{

    content:"";

    position:absolute;

    width:500px;

    height:500px;

    left:-180px;

    bottom:-180px;

    border-radius:50%;

    background:radial-gradient(circle,
    rgba(37,99,235,.15),
    transparent 70%);

    filter:blur(50px);

}

/*==================================================
GRID
==================================================*/

.page-hero-grid{

    position:absolute;

    inset:0;

    opacity:.04;

    background-image:

    linear-gradient(rgba(255,255,255,.18) 1px,transparent 1px),

    linear-gradient(90deg,rgba(255,255,255,.18) 1px,transparent 1px);

    background-size:45px 45px;

    mask-image:linear-gradient(to bottom,
    rgba(0,0,0,1),
    transparent);

}

/*==================================================
GLOW
==================================================*/

.page-hero-glow{

    position:absolute;

    width:450px;

    height:450px;

    right:8%;

    top:50%;

    transform:translateY(-50%);

    border-radius:50%;

    background:radial-gradient(circle,
    rgba(56,189,248,.18),
    transparent 70%);

    filter:blur(70px);

    animation:heroGlow 8s ease-in-out infinite;

}

@keyframes heroGlow{

    0%,100%{

        transform:translateY(-50%) scale(1);

    }

    50%{

        transform:translateY(-50%) scale(1.08);

    }

}

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

.hero-image{

    position:relative;

    z-index:5;

}

.hero-image img{

    width:100%;

    max-width:420px;

    display:block;

    object-fit:contain;

    filter:

    drop-shadow(0 25px 45px rgba(0,0,0,.45))

    drop-shadow(0 0 35px rgba(56,189,248,.18));

}

/*==================================================
DECORATIVE SHAPES
==================================================*/

.hero-shape{

    position:absolute;

    border-radius:50%;

    border:1px solid rgba(56,189,248,.15);

}

.hero-shape-1{

    width:360px;

    height:360px;

    animation:rotateOne 18s linear infinite;

}

.hero-shape-2{

    width:250px;

    height:250px;

    border-style:dashed;

    animation:rotateTwo 12s linear infinite reverse;

}

@keyframes rotateOne{

    to{

        transform:rotate(360deg);

    }

}

@keyframes rotateTwo{

    to{

        transform:rotate(-360deg);

    }

}

/*==================================================
PAGE BADGE
==================================================*/

.page-badge{

    display:inline-flex;

    align-items:center;

    gap:10px;

    padding:12px 22px;

    border-radius:50px;

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

    border:1px solid rgba(56,189,248,.18);

    backdrop-filter:blur(18px);

    color:#38bdf8;

    font-size:.85rem;

    font-weight:700;

    letter-spacing:.18em;

    text-transform:uppercase;

    transition:.35s;

}

.page-badge:hover{

    border-color:#38bdf8;

    box-shadow:0 0 30px rgba(56,189,248,.18);

}

/*==================================================
PAGE TITLE
==================================================*/

.page-title{

    position:relative;

    margin:35px 0 25px;

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

    line-height:1.1;

    font-weight:800;

    letter-spacing:1px;

    color:#fff;

}

.page-title::before{

    content:"";

    position:absolute;

    left:-28px;

    top:12px;

    width:4px;

    height:75%;

    border-radius:20px;

    background:linear-gradient(

        #38bdf8,

        transparent

    );

}

.page-titles{

    position:relative;

    margin:35px 0 25px;

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

    line-height:1.1;

    font-weight:800;

    letter-spacing:1px;

    color:#fff;

}

.page-titles::before{

    content:"";

    position:absolute;

    left:-28px;

    top:12px;

    width:4px;

    height:75%;

    border-radius:20px;

    background:linear-gradient(

        #38bdf8,

        transparent

    );

}

/*==================================================
DESCRIPTION
==================================================*/

.page-description{

    max-width:620px;

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

    font-size:1.05rem;

    line-height:2;

    margin-bottom:35px;

}

/*==================================================
BREADCRUMB
==================================================*/

.page-breadcrumb{

    display:inline-flex;

    align-items:center;

    gap:14px;

    padding:14px 22px;

    border-radius:16px;

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

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

    backdrop-filter:blur(15px);

    margin-bottom:35px;

}

.page-breadcrumb a{

    display:flex;

    align-items:center;

    gap:8px;

    color:#38bdf8;

    text-decoration:none;

    transition:.35s;

}

.page-breadcrumb a:hover{

    color:#7dd3fc;

}

.page-breadcrumb .separator{

    font-size:.75rem;

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

}

.page-breadcrumb span{

    color:#fff;

    font-weight:500;

}

/*==================================================
FEATURES
==================================================*/

.page-features{

    display:flex;

    flex-wrap:wrap;

    gap:15px;

}

.feature-item{

    display:flex;

    align-items:center;

    gap:10px;

    padding:12px 18px;

    border-radius:50px;

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

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

    backdrop-filter:blur(14px);

    transition:.35s;

}

.feature-item:hover{

    transform:translateY(-3px);

    border-color:#38bdf8;

    box-shadow:0 10px 30px rgba(56,189,248,.15);

}

.feature-item i{

    width:28px;

    height:28px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:50%;

    background:rgba(56,189,248,.12);

    color:#38bdf8;

    font-size:.8rem;

}

.feature-item span{

    color:#fff;

    font-size:.9rem;

    font-weight:500;

}

/*==================================================
RIGHT VISUAL PREMIUM
==================================================*/

.hero-visual-bg{

    position:absolute;

    inset:15px;

    border-radius:34px;

    background:linear-gradient(
        145deg,
        rgba(255,255,255,.04),
        rgba(255,255,255,.01)
    );

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

    backdrop-filter:blur(25px);

    overflow:hidden;

}

.hero-visual-bg::before{

    content:"";

    position:absolute;

    width:320px;

    height:320px;

    right:-120px;

    top:-120px;

    border-radius:50%;

    background:radial-gradient(circle,
        rgba(56,189,248,.28),
        transparent 70%);

    filter:blur(40px);

}

.hero-visual-bg::after{

    content:"";

    position:absolute;

    inset:0;

    background:

    linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),

    linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);

    background-size:30px 30px;

    opacity:.25;

}

.hero-image{

    position:relative;

    z-index:10;

    display:flex;

    justify-content:center;

    align-items:flex-end;

    height:100%;

}

.hero-image img{

    width:100%;

    max-width:560px;
    
    max-height: 490px;

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

    filter:

        drop-shadow(0 30px 40px rgba(0,0,0,.45))

        drop-shadow(0 0 35px rgba(56,189,248,.15));

}

@keyframes guardFloat{

    0%,100%{

        transform:translateY(0);

    }

    50%{

        transform:translateY(-6x);

    }

}

.page-hero-visual::before{

    content:"";

    position:absolute;

    width:180px;

    height:180px;

    left:10%;

    top:15%;

    border-left:2px solid rgba(56,189,248,.25);

    border-top:2px solid rgba(56,189,248,.25);

}

.hero-visual-bg span{

    position:absolute;

    width:70px;

    height:70px;

    border:1px solid rgba(56,189,248,.12);

    clip-path:polygon(
        25% 6%,
        75% 6%,
        100% 50%,
        75% 94%,
        25% 94%,
        0 50%
    );

}

.hero-visual-bg span:nth-child(1){

    left:30px;

    top:35px;

}

.hero-visual-bg span:nth-child(2){

    right:40px;

    top:120px;

}

.hero-visual-bg span:nth-child(3){

    left:80px;

    bottom:50px;

}

/*==================================================
PAGE BACKGROUND TITLE
==================================================*/

.page-bg-title{

    position:absolute;

    top:-5px;

    left:20px;

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

    font-weight:900;

    text-transform:uppercase;

    letter-spacing:14px;

    color:#ffffff;

    opacity:.02;

    pointer-events:none;

    user-select:none;

    white-space:nowrap;

    z-index:-1;

}

/*==================================================
TOP LIGHT
==================================================*/

.page-hero::before{

    content:"";

    position:absolute;

    top:0;

    left:0;

    width:100%;

    height:1px;

    background:linear-gradient(
        90deg,
        transparent,
        rgba(56,189,248,.7),
        transparent
    );

}

.page-hero::after{

    content:"";

    position:absolute;

    inset:0;

    background:linear-gradient(
        180deg,
        rgba(255,255,255,.02),
        transparent 40%
    );

    pointer-events:none;

}

/*==================================================
BOTTOM LINE
==================================================*/

.hero-bottom-line{

    position:absolute;

    left:0;

    bottom:0;

    width:100%;

    height:2px;

    overflow:hidden;

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

}

.hero-bottom-line::before{

    content:"";

    position:absolute;

    width:30%;

    height:100%;

    background:linear-gradient(
        90deg,
        transparent,
        #38bdf8,
        transparent
    );

    animation:heroLine 5s linear infinite;

}

@keyframes heroLine{

    from{

        left:-30%;

    }

    to{

        left:100%;

    }

}

/*==================================================
SMALL GLOW DOTS
==================================================*/

.page-hero-content::after{

    content:"";

    position:absolute;

    width:8px;

    height:8px;

    border-radius:50%;

    background:#38bdf8;

    right:30px;

    top:25px;

    box-shadow:

    30px 40px #38bdf8,

    70px 80px #38bdf8,

    120px 20px #38bdf8;

    opacity:.35;

}

/*==================================================
FEATURE HOVER
==================================================*/

.feature-item{

    position:relative;

    overflow:hidden;

}

.feature-item::before{

    content:"";

    position:absolute;

    inset:0;

    background:linear-gradient(
        120deg,
        transparent,
        rgba(56,189,248,.15),
        transparent
    );

    transform:translateX(-130%);

    transition:.6s;

}

.feature-item:hover::before{

    transform:translateX(130%);

}

/*==================================================
SCROLL FADE
==================================================*/

.page-hero{

    animation:heroAppear .8s ease;

}

@keyframes heroAppear{

    from{

        opacity:0;

        transform:translateY(30px);

    }

    to{

        opacity:1;

        transform:none;

    }

}

/*==================================================
PAGE HERO RESPONSIVE
==================================================*/


/*==============================
TABLET
==============================*/

@media (max-width:1100px){

    .page-hero-wrapper{

        grid-template-columns:1fr;

        gap:40px;

        padding:80px 0 70px;

        text-align:center;

    }


    .page-hero-content{

        display:flex;

        flex-direction:column;

        align-items:center;

    }


    .page-title::before{

        display:none;

    }

    .page-titles::before{

        display:none;

    }


    .page-description{

        max-width:700px;

    }


    .page-features{

        justify-content:center;

    }


    .page-hero-visual{

        min-height:360px;

        order:2;

    }


    .hero-image img{

        max-width:360px;

    }


    .hero-visual-bg{

        inset:30px;

    }

}

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

@media (max-width:768px){


    .page-hero-wrapper{

        padding:60px 0 55px;

        gap:30px;

    }


    .page-badge{

        padding:10px 18px;

        font-size:.75rem;

    }


    .page-title{

        font-size:2.8rem;

        margin-top:22px;

    }

    .page-titles{

        font-size:2.8rem;

        margin-top:22px;

    }


    .page-description{

        font-size:.95rem;

        line-height:1.8;

        margin-bottom:28px;

    }


    .page-breadcrumb{

        width:100%;

        justify-content:center;

        flex-wrap:wrap;

        padding:12px 16px;

    }


    .page-features{

        gap:10px;

        width:100%;

        justify-content:center;

    }


    .feature-item{

        padding:10px 15px;

        font-size:.85rem;

    }


    .page-hero-visual{

        min-height:300px;

    }


    .hero-image img{

        max-width:300px;
        max-height: 220px;

    }


    .hero-visual-bg{

        inset:20px;

        border-radius:30px;

    }


    .hero-shape-1{

        width:280px;

        height:280px;

    }


    .hero-shape-2{

        width:190px;

        height:190px;

    }

}

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

@media (max-width:480px){


    .page-hero-wrapper{

        padding:45px 0 45px;

    }


    .page-title{

        font-size:2.3rem;

    }

    .page-titles{

        font-size:2.3rem;

    }

    .page-description{

        font-size:.9rem;

        padding:0 10px;

    }


    .page-breadcrumb{

        font-size:.85rem;

        gap:10px;

    }


    .page-features{

        flex-direction:column;

        align-items:center;

    }


    .feature-item{

        width:100%;

        max-width:280px;

        justify-content:center;

    }


    .page-hero-visual{

        min-height:250px;

    }


    .hero-image img{

        max-width:250px;

    }


    .hero-visual-bg{

        inset:15px;

    }


    .hero-shape-1{

        width:220px;

        height:220px;

    }


    .hero-shape-2{

        width:150px;

        height:150px;

    }


    .page-hero-grid{

        background-size:30px 30px;

    }


    .page-bg-title{

        display:none;

    }

}