/*====================================
GOOGLE FONT
====================================*/

@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800&display=swap');

/*====================================
ROOT
====================================*/

:root{

--primary:#2F2E8F;
--secondary:#E10600;

--bg:#050816;
--card:#0F172A;

--white:#fff;
--text:#c8cfdb;

--border:rgba(255,255,255,.08);

--shadow:0 20px 60px rgba(0,0,0,.35);

--radius:18px;

}

/*====================================
RESET
====================================*/

*{

margin:0;
padding:0;
box-sizing:border-box;

}

html{

scroll-behavior:smooth;

}

body{

font-family:"Poppins",sans-serif;

background:var(--bg);

color:white;

overflow-x:hidden;

}

img{

display:block;

max-width:100%;

}

a{

text-decoration:none;

color:white;

}

ul{

list-style:none;

}

.container{

width:min(1200px,90%);

margin:auto;

}

/*====================================
BACKGROUND
====================================*/

.bg-grid{

position:fixed;

inset:0;

z-index:-5;

background-image:

linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),

linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);

background-size:60px 60px;

}

/*====================================
AURORA
====================================*/

.gradient{

position:fixed;

border-radius:50%;

filter:blur(120px);

opacity:.35;

z-index:-4;

animation:blob 12s infinite linear;

}

.gradient-1{

width:450px;

height:450px;

background:#2F2E8F;

top:-150px;

left:-150px;

}

.gradient-2{

width:350px;

height:350px;

background:#E10600;

bottom:-120px;

right:-120px;

animation-duration:16s;

}

.gradient-3{

width:280px;

height:280px;

background:#4F6BFF;

left:40%;

top:40%;

animation-duration:20s;

}

@keyframes blob{

0%{

transform:translate(0,0);

}

50%{

transform:translate(80px,-50px);

}

100%{

transform:translate(0,0);

}

}
/* =========================================
   ANNOUNCEMENT BAR
========================================= */

.announcement {

    width: 100%;

    padding: 10px 0;

    background:
        linear-gradient(
            90deg,
            var(--primary),
            var(--secondary)
        );

    text-align: center;

    font-size: 14px;

    font-weight: 500;

    position: relative;

    z-index: 10000;

    overflow: hidden;

    box-sizing: border-box;
}


.announcement-text {

    display: inline-block;

    white-space: nowrap;

    animation: moveText 15s linear infinite;

}


@keyframes moveText {

    0% {
        transform: translateX(100%);
    }

    100% {
        transform: translateX(-100%);
    }

}


/* =========================================
   HEADER
========================================= */

header {

    position: fixed;

    top: 40px;

    left: 0;

    width: 100%;

    z-index: 9999;

    transition: .4s;

    box-sizing: border-box;

}


/* =========================================
   NAVBAR
========================================= */

.navbar {

    width: min(1200px, 92%);

    margin: auto;

    display: flex;

    align-items: center;

    justify-content: space-between;

    padding: 18px 30px;

    border-radius: 70px;

    background: rgba(255, 255, 255, .05);

    border: 1px solid rgba(255, 255, 255, .08);

    backdrop-filter: blur(18px);

    -webkit-backdrop-filter: blur(18px);

    position: relative;

    box-sizing: border-box;

}


/* =========================================
   LOGO
========================================= */

.logo {

    display: flex;

    align-items: center;

    flex-shrink: 0;

    text-decoration: none;

}


.logo img {

    width: 170px;

    height: auto;

    display: block;

    border-radius: 10px;

}


/* =========================================
   NAV LINKS
========================================= */

.nav-links {

    display: flex;

    align-items: center;

    gap: 35px;

    list-style: none;

    margin: 0;

    padding: 0;

}


.nav-links li {

    list-style: none;

}


.nav-links a {

    position: relative;

    color: #d6dbe5;

    font-weight: 500;

    text-decoration: none;

    white-space: nowrap;

    transition: .35s;

}


.nav-links a:hover {

    color: white;

}


/* NAV LINK UNDERLINE */

.nav-links a::after {

    content: "";

    position: absolute;

    left: 0;

    bottom: -8px;

    width: 0;

    height: 2px;

    background: var(--secondary);

    transition: .35s;

}


.nav-links a:hover::after {

    width: 100%;

}


/* =========================================
   NAV RIGHT
========================================= */

.nav-right {

    display: flex;

    align-items: center;

    gap: 18px;

    flex-shrink: 0;

}


/* =========================================
   ENROLL BUTTON
========================================= */

.enroll-btn {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    padding: 12px 24px;

    border-radius: 50px;

    background:
        linear-gradient(
            135deg,
            var(--secondary),
            #ff4040
        );

    color: white;

    font-weight: 600;

    text-decoration: none;

    white-space: nowrap;

    transition: .4s;

    box-shadow:
        0 10px 30px rgba(225, 6, 0, .25);

}


.enroll-btn:hover {

    transform: translateY(-3px);

    box-shadow:
        0 15px 40px rgba(225, 6, 0, .4);

}


/* =========================================
   MOBILE MENU BUTTON
========================================= */

.menu-btn {

    display: none;

    align-items: center;

    justify-content: center;

    width: 38px;

    height: 38px;

    padding: 0;

    border: none;

    outline: none;

    background: transparent;

    color: white;

    font-size: 27px;

    cursor: pointer;

}


/* =========================================
   TABLET
========================================= */

@media (max-width: 1100px) {

    .navbar {

        width: 94%;

        padding: 16px 24px;

    }


    .logo img {

        width: 150px;

    }


    .nav-links {

        gap: 20px;

    }


    .nav-links a {

        font-size: 14px;

    }


    .nav-right {

        gap: 12px;

    }


    .enroll-btn {

        padding: 11px 20px;

        font-size: 14px;

    }

}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 800px) {

    /*
       Announcement ke neeche navbar
    */

    header {

        top: 40px;

    }


    .navbar {

        width: 92%;

        padding: 12px 18px;

        border-radius: 50px;

    }


    /* LOGO */

    .logo img {

        width: 125px;

    }


    /* HAMBURGER */

    .menu-btn {

        display: flex;

    }


    /* ENROLL HIDE */

    .enroll-btn {

        display: none;

    }


    .nav-right {

        gap: 0;

    }


    /* =====================================
       MOBILE NAVIGATION
    ===================================== */

    .nav-links {

        position: absolute;

        top: calc(100% + 12px);

        left: 0;

        width: 100%;

        display: flex;

        flex-direction: column;

        align-items: stretch;

        gap: 0;

        margin: 0;

        padding: 12px 0;

        background: rgba(15, 17, 35, .97);

        border: 1px solid rgba(255, 255, 255, .08);

        border-radius: 25px;

        backdrop-filter: blur(18px);

        -webkit-backdrop-filter: blur(18px);

        box-sizing: border-box;


        /* CLOSED */

        opacity: 0;

        visibility: hidden;

        pointer-events: none;

        transform: translateY(-10px);

        transition:

            opacity .3s ease,

            transform .3s ease,

            visibility .3s ease;

    }


    /* OPEN */

    .nav-links.active {

        opacity: 1;

        visibility: visible;

        pointer-events: auto;

        transform: translateY(0);

    }


    /* MENU ITEMS */

    .nav-links li {

        width: 100%;

    }


    .nav-links a {

        display: block;

        width: 100%;

        padding: 13px 20px;

        text-align: center;

        font-size: 15px;

        box-sizing: border-box;

    }


    /* MOBILE UNDERLINE REMOVE */

    .nav-links a::after {

        display: none;

    }

}


/* =========================================
   SMALL MOBILE
========================================= */

@media (max-width: 450px) {

    header {

        top: 38px;

    }


    .navbar {

        width: 92%;

        padding: 10px 15px;

    }


    .logo img {

        width: 115px;

    }


    .menu-btn {

        width: 32px;

        height: 32px;

        font-size: 25px;

    }


    .nav-links {

        top: calc(100% + 10px);

        border-radius: 22px;

    }


    .nav-links a {

        padding: 12px 15px;

        font-size: 14px;

    }

}


/* =========================================
   VERY SMALL MOBILE
========================================= */

@media (max-width: 350px) {

    .navbar {

        padding-left: 12px;

        padding-right: 12px;

    }


    .logo img {

        width: 105px;

    }


    .menu-btn {

        font-size: 23px;

    }

}

/*====================================
HERO SECTION
====================================*/

.hero{

min-height:100vh;

display:flex;

align-items:center;

padding:180px 0 120px;

position:relative;

overflow:hidden;

}

.hero .container{

display:grid;

grid-template-columns:1.1fr .9fr;

align-items:center;

gap:80px;

}

/*====================================
LEFT
====================================*/

.hero-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(255,255,255,.08);

backdrop-filter:blur(15px);

margin-bottom:25px;

color:#fff;

}

.hero-badge i{

color:var(--secondary);

}

.hero h1{

font-size:72px;

font-weight:800;

line-height:1.1;

margin-bottom:25px;

letter-spacing:-2px;

}

.hero h1 span{

background:linear-gradient(
90deg,
#4F6BFF,
#2F2E8F
);

-webkit-background-clip:text;
-webkit-text-fill-color:transparent;

}

.hero p{

font-size:18px;

line-height:1.9;

color:var(--text);

max-width:620px;

margin-bottom:40px;

}

.hero-buttons{

display:flex;

gap:20px;

margin-bottom:45px;

}

.hero-rating{

display:flex;

align-items:center;

gap:18px;

}

.stars{

display:flex;

gap:5px;

color:#FFD43B;

font-size:18px;

}

.hero-rating span{

color:var(--text);

}

/*====================================
RIGHT
====================================*/

.hero-right{

position:relative;

display:flex;

justify-content:center;

align-items:center;

}

.hero-card{

width:500px;

padding:25px;

background:rgba(255,255,255,.05);

border:1px solid rgba(255,255,255,.08);

border-radius:30px;

backdrop-filter:blur(20px);

box-shadow:var(--shadow);

animation:floatCard 6s ease-in-out infinite;

}

.hero-card img{

border-radius:20px;

width:100%;

}

.card-top{

display:flex;

justify-content:flex-end;

margin-bottom:15px;

}

.live{

padding:8px 18px;

border-radius:40px;

background:#E10600;

font-size:12px;

font-weight:600;

}

.card-content{

padding-top:20px;

}

.card-content h3{

font-size:28px;

margin-bottom:8px;

}

.card-content p{

color:var(--text);

}

/*====================================
FLOATING CARDS
====================================*/

.floating-card{

position:absolute;

padding:16px 22px;

border-radius:16px;

background:rgba(255,255,255,.08);

border:1px solid rgba(255,255,255,.08);

backdrop-filter:blur(20px);

display:flex;

align-items:center;

gap:12px;

font-size:14px;

box-shadow:var(--shadow);

animation:floating 5s ease-in-out infinite;

}

.floating-card i{

color:var(--secondary);

font-size:20px;

}

.one{

left:-60px;

top:60px;

}

.two{

right:-70px;

top:180px;

animation-delay:1s;

}

.three{

left:20px;

bottom:40px;

animation-delay:2s;

}

@keyframes floating{

0%,100%{

transform:translateY(0);

}

50%{

transform:translateY(-15px);

}

}

@keyframes floatCard{

0%,100%{

transform:translateY(0);

}

50%{

transform:translateY(-18px);

}

}

/*====================================
HERO STATS
====================================*/

.hero-stats{

display:grid;

grid-template-columns:repeat(4,1fr);

gap:25px;

margin-top:80px;

}

.stat-box{

padding:28px;

background:rgba(255,255,255,.05);

border:1px solid rgba(255,255,255,.08);

border-radius:20px;

text-align:center;

transition:.35s;

}

.stat-box:hover{

transform:translateY(-10px);

border-color:var(--primary);

}

.stat-box h2{

font-size:36px;

margin-bottom:10px;

}

.stat-box span{

color:var(--text);

}

/*====================================
TRUSTED
====================================*/

.trusted{

padding:80px 0;

}

.trusted-title{

text-align:center;

color:#8fa2c4;

margin-bottom:40px;

font-size:15px;

letter-spacing:2px;

text-transform:uppercase;

}

.trusted-wrapper{

display:grid;

grid-template-columns:repeat(5,1fr);

gap:20px;

}

.trusted-item{

padding:25px;

text-align:center;

background:rgba(255,255,255,.05);

border:1px solid rgba(255,255,255,.08);

border-radius:18px;

transition:.35s;

}

.trusted-item:hover{

background:var(--primary);

transform:translateY(-8px);

}

.trusted-item i{

font-size:28px;

margin-bottom:15px;

color:var(--secondary);

display:block;

}


/*====================================
SCROLL INDICATOR
====================================*/

.scroll-indicator{

position:absolute;

left:50%;

bottom:35px;

transform:translateX(-50%);

width:28px;

height:48px;

border:2px solid rgba(255,255,255,.4);

border-radius:50px;

display:flex;

justify-content:center;

align-items:flex-start;

padding-top:8px;

}

.scroll-indicator span{

width:5px;

height:10px;

background:#fff;

border-radius:20px;

animation:scrollDown 1.6s infinite;

}

@keyframes scrollDown{

0%{

opacity:1;

transform:translateY(0);

}

100%{

opacity:0;

transform:translateY(16px);

}

}

/*====================================
CURSOR GLOW
====================================*/

.cursor-glow{

position:fixed;

width:280px;

height:280px;

border-radius:50%;

background:radial-gradient(circle,
rgba(47,46,143,.25),
transparent 70%);

pointer-events:none;

left:0;

top:0;

transform:translate(-50%,-50%);

z-index:-1;

transition:.08s;

}

/*====================================
BUTTON SHINE
====================================*/

.btn{

position:relative;

overflow:hidden;

}

.btn::before{

content:"";

position:absolute;

left:-120%;

top:0;

width:80px;

height:100%;

background:rgba(255,255,255,.3);

transform:skewX(-25deg);

transition:.7s;

}

.btn:hover::before{

left:130%;

}

/*====================================
CARD HOVER
====================================*/

.hero-card{

transition:.45s;

}

.hero-card:hover{

transform:translateY(-12px);

box-shadow:

0 20px 80px rgba(47,46,143,.35);

}

.floating-card{

transition:.35s;

}

.floating-card:hover{

transform:translateY(-8px) scale(1.05);

}

/*====================================
GLASS EFFECT
====================================*/

.hero-card::before{

content:"";

position:absolute;

inset:0;

border-radius:30px;

padding:1px;

background:linear-gradient(
135deg,
rgba(255,255,255,.2),
transparent,
rgba(225,6,0,.3)
);

-webkit-mask:
linear-gradient(#fff 0 0) content-box,
linear-gradient(#fff 0 0);

-webkit-mask-composite:xor;

mask-composite:exclude;

}

/*====================================
SCROLLBAR
====================================*/

::-webkit-scrollbar{

width:10px;

}

::-webkit-scrollbar-track{

background:#050816;

}

::-webkit-scrollbar-thumb{

background:#2F2E8F;

border-radius:30px;

}

::-webkit-scrollbar-thumb:hover{

background:#E10600;

}

/*====================================
TEXT SELECTION
====================================*/

::selection{

background:#E10600;

color:white;

}

/*====================================
RESPONSIVE
====================================*/

@media(max-width:1200px){

.hero h1{

font-size:60px;

}

.hero-card{

width:430px;

}

}

/*========================*/

@media(max-width:992px){

.nav-links{

position:fixed;

top:95px;

right:-100%;

width:280px;

height:calc(100vh - 95px);

background:#07111f;

display:flex;

flex-direction:column;

padding:40px;

gap:30px;

transition:.4s;

}

.nav-links.active{

right:0;

}

.menu-btn{

display:block;

}

.enroll-btn{

display:none;

}

.hero .container{

grid-template-columns:1fr;

text-align:center;

}

.hero-right{

order:-1;

margin-bottom:70px;

}

.hero p{

margin:auto;

margin-bottom:40px;

}

.hero-buttons{

justify-content:center;

}

.hero-rating{

justify-content:center;

}

.hero-stats{

grid-template-columns:repeat(2,1fr);

}

.trusted-wrapper{

grid-template-columns:repeat(2,1fr);

}

.floating-card{

display:none;

}

}

/*========================*/

@media(max-width:768px){

.hero{

padding-top:160px;

}

.hero h1{

font-size:46px;

}

.hero p{

font-size:16px;

}

.hero-buttons{

flex-direction:column;

}

.btn{

width:100%;

}

.hero-card{

width:100%;

}

.hero-stats{

grid-template-columns:1fr;

}

.trusted-wrapper{

grid-template-columns:1fr;

}

.navbar{

padding:16px 22px;

}

.logo img{

width:145px;

}

}

/*========================*/

@media(max-width:480px){

.hero h1{

font-size:36px;

line-height:1.25;

}

.hero-badge{

font-size:13px;

}

.stat-box{

padding:22px;

}

.hero-card{

padding:18px;

border-radius:22px;

}

}

.progress-bar{

position:fixed;

top:0;

left:0;

height:4px;

width:0;

background:#E10600;

z-index:99999;

}

.hidden{

opacity:0;

transform:translateY(60px);

transition:.8s;

}

.show{

opacity:1;

transform:translateY(0);

}

.nav-links a.active{

color:#fff;

}

.nav-links a.active::after{

width:100%;

}


/*====================================
SECTION HEADING
====================================*/

.section-heading{

text-align:center;

margin-bottom:80px;

}

.section-tag{

display:inline-block;

padding:10px 22px;

background:rgba(255,255,255,.05);

border:1px solid rgba(255,255,255,.08);

border-radius:40px;

color:#E10600;

margin-bottom:20px;

font-weight:600;

}

.section-heading h2{

font-size:56px;

margin-bottom:20px;

}

.section-heading h2 span{

color:#4F6BFF;

}

.section-heading p{

max-width:700px;

margin:auto;

line-height:1.8;

color:#c5cad5;

}

/*====================================
ABOUT
====================================*/

.about{

padding:140px -1;

}

.about-grid{

display:grid;

grid-template-columns:1fr 1fr;

gap:80px;

align-items:center;

}

.about-image{

position:relative;

}

.about-image img{

border-radius:25px;

}

.experience{

position:absolute;

bottom:-30px;

right:-30px;

padding:30px;

background:#E10600;

border-radius:20px;

text-align:center;

}

.experience h2{

font-size:42px;

}

.about-card{

display:flex;

gap:25px;

align-items:flex-start;

padding:25px;

margin-bottom:25px;

background:rgba(255,255,255,.05);

border:1px solid rgba(255,255,255,.08);

border-radius:20px;

transition:.4s;

}

.about-card:hover{

transform:translateX(12px);

border-color:#2F2E8F;

}

.about-card .icon{

width:70px;

height:70px;

background:#2F2E8F;

border-radius:20px;

display:flex;

justify-content:center;

align-items:center;

font-size:28px;

color:#fff;

}

/*====================================
PROCESS
====================================*/

.process{

padding:140px 0;

}

.timeline{

display:flex;

justify-content:space-between;

align-items:center;

gap:20px;

}

.step{

flex:1;

padding:35px;

background:rgba(255,255,255,.05);

border:1px solid rgba(255,255,255,.08);

border-radius:25px;

text-align:center;

transition:.4s;

}

.step:hover{

transform:translateY(-12px);

}

.circle{

width:80px;

height:80px;

background:#E10600;

border-radius:50%;

margin:auto;

display:flex;

align-items:center;

justify-content:center;

font-size:28px;

font-weight:700;

margin-bottom:25px;

}

.line{

height:4px;

width:100px;

background:linear-gradient(90deg,#2F2E8F,#E10600);

border-radius:20px;

}

@media(max-width:991px){

.about-grid{

grid-template-columns:1fr;

}

.timeline{

flex-direction:column;

}

.line{

width:4px;

height:80px;

}

}

@media(max-width:768px){

.section-heading h2{

font-size:38px;

}

.experience{

position:static;

margin-top:20px;

}

.about-card{

flex-direction:column;

text-align:center;

}

}


/*====================================
COURSES
====================================*/

.courses{

padding:140px -1;

}

.course-grid{

display:grid;

grid-template-columns:repeat(4,1fr);

gap:35px;

}

.course-card{

position:relative;

padding:35px;

border-radius:24px;

background:rgba(255,255,255,.05);

border:1px solid rgba(255,255,255,.08);

backdrop-filter:blur(20px);

transition:.45s;

overflow:hidden;

}

.course-card::before{

content:"";

position:absolute;

left:0;

top:0;

width:100%;

height:5px;

background:linear-gradient(90deg,#2F2E8F,#E10600);

}

.course-card:hover{

transform:translateY(-12px);

box-shadow:0 25px 70px rgba(47,46,143,.25);

}

.course-top{

display:flex;

justify-content:space-between;

align-items:center;

margin-bottom:25px;

}

.course-icon{

width:70px;

height:70px;

background:#2F2E8F;

display:flex;

align-items:center;

justify-content:center;

border-radius:20px;

font-size:28px;

}

.course-price{

font-size:26px;

font-weight:700;

color:#fff;

}

.course-card h3{

font-size:30px;

margin-bottom:15px;

}

.course-card p{

color:#c5cad5;

line-height:1.8;

margin-bottom:25px;

}

.course-card ul{

margin-bottom:30px;

}

.course-card li{

margin:14px 0;

color:#d6dbe5;

}

.course-card li i{

color:#22c55e;

margin-right:10px;

}

.course-btn{

display:block;

text-align:center;

padding:16px;

border-radius:50px;

background:linear-gradient(135deg,#E10600,#ff4747);

font-weight:600;

transition:.4s;

}

.course-btn:hover{

transform:translateY(-4px);

}

.popular{

border:2px solid #E10600;

}

.popular-badge{

position:absolute;

right:-60px;

top:22px;

background:#E10600;

padding:8px 45px;

transform:rotate(45deg);

font-size:12px;

font-weight:700;

}

@media(max-width:991px){

.course-grid{

grid-template-columns:repeat(2,1fr);

}

}

@media(max-width:768px){

.course-grid{

grid-template-columns:1fr;

}

.course-card{

padding:28px;

}

}


/*==================================
PRICING
===================================*/

.pricing{

padding:140px 0;

}

.pricing-wrapper{

display:grid;

grid-template-columns:1.1fr .9fr;

gap:50px;

margin-top:70px;

}

.pricing-info{

padding:45px;

background:rgba(255,255,255,.05);

border:1px solid rgba(255,255,255,.08);

border-radius:30px;

backdrop-filter:blur(20px);

}

.price-badge{

display:inline-block;

padding:10px 22px;

background:#E10600;

border-radius:40px;

margin-bottom:25px;

font-size:14px;

}

.pricing-info h2{

font-size:72px;

margin-bottom:10px;

}

.pricing-info p{

color:#c5cad5;

margin-bottom:30px;

}

.pricing-info ul{

margin-bottom:40px;

}

.pricing-info li{

margin:18px 0;

display:flex;

align-items:center;

gap:15px;

}

.pricing-info li i{

color:#22c55e;

font-size:18px;

}

.price-btn{

display:inline-block;

padding:18px 35px;

background:linear-gradient(135deg,#E10600,#ff4747);

border-radius:50px;

font-weight:600;

transition:.4s;

}

.price-btn:hover{

transform:translateY(-5px);

}

.pricing-card{

position:relative;

padding:45px;

background:linear-gradient(145deg,#111827,#1E293B);

border-radius:30px;

border:1px solid rgba(255,255,255,.08);

}

.offer{

position:absolute;

top:20px;

right:20px;

background:#E10600;

padding:8px 18px;

border-radius:40px;

font-size:13px;

}

.pricing-card h3{

font-size:34px;

margin-bottom:20px;

}

.pricing-card p{

line-height:1.8;

color:#c5cad5;

margin-bottom:35px;

}

.pricing-features{

display:grid;

gap:20px;

margin-bottom:40px;

}

.pricing-features div{

padding:18px;

background:rgba(255,255,255,.05);

border-radius:15px;

transition:.3s;

}

.pricing-features div:hover{

background:#2F2E8F;

}

.outline-btn{

display:block;

text-align:center;

padding:18px;

border:2px solid #2F2E8F;

border-radius:50px;

transition:.4s;

}

.outline-btn:hover{

background:#2F2E8F;

}

@media(max-width:991px){

.pricing-wrapper{

grid-template-columns:1fr;

}

}

@media(max-width:768px){

.pricing-info{

padding:30px;

}

.pricing-info h2{

font-size:48px;

}

.pricing-card{

padding:30px;

}

}


/*==================================
PORTFOLIO
===================================*/

.portfolio{

padding:140px -1;

}

.portfolio-filter{

display:flex;

justify-content:center;

flex-wrap:wrap;

gap:15px;

margin:60px 0;

}

.portfolio-filter button{

padding:14px 26px;

border:none;

background:rgba(255,255,255,.06);

color:#fff;

border-radius:40px;

cursor:pointer;

transition:.35s;

}

.portfolio-filter button.active,

.portfolio-filter button:hover{

background:#E10600;

}

.portfolio-grid{

display:grid;

grid-template-columns:repeat(3,1fr);

gap:25px;

}

.portfolio-item{

position:relative;

overflow:hidden;

border-radius:22px;

cursor:pointer;

}

.portfolio-item img{

width:100%;

height:280px;

object-fit:cover;

transition:.5s;

display:block;

}

.overlay{

position:absolute;

left:0;

bottom:-100%;

width:100%;

padding:30px;

background:linear-gradient(to top,#050816,transparent);

transition:.45s;

}

.portfolio-item:hover img{

transform:scale(1.1);

}

.portfolio-item:hover .overlay{

bottom:0;

}

.overlay h3{

font-size:26px;

margin-bottom:10px;

}

.overlay p{

color:#ddd;

margin-bottom:20px;

}

.overlay a{

display:inline-block;

padding:10px 20px;

background:#E10600;

border-radius:40px;

}

@media(max-width:991px){

.portfolio-grid{

grid-template-columns:repeat(2,1fr);

}

}

@media(max-width:768px){

.portfolio-grid{

grid-template-columns:1fr;

}

}



/*==================================
TESTIMONIAL
===================================*/
/* ===========================
   Testimonials
=========================== */

.testimonials{
    padding:120px 0;
    overflow:hidden;
}

.testimonial-slider{
    max-width:900px;
    margin:auto;
    position:relative;
}

.testimonial-card{
    display:none;
    padding:45px;
    border-radius:25px;
    background:rgba(255,255,255,.05);
    border:1px solid rgba(255,255,255,.08);
    backdrop-filter:blur(20px);
    animation:fade .6s ease;
}

.testimonial-card.active{
    display:block;
}

.quote{
    font-size:45px;
    color:#E10600;
    margin-bottom:25px;
}

.testimonial-card p{
    color:#d7dbe3;
    font-size:18px;
    line-height:1.8;
    margin-bottom:35px;
}

.student{
    display:flex;
    align-items:center;
    gap:18px;
}

.student img{
    width:70px;
    height:70px;
    border-radius:50%;
    object-fit:cover;
    border:3px solid #E10600;
}

.student h4{
    color:#fff;
    font-size:20px;
    margin-bottom:5px;
}

.student span{
    color:#b7bcc8;
}

.testimonial-dots{
    display:flex;
    justify-content:center;
    gap:12px;
    margin-top:35px;
}

.dot{
    width:14px;
    height:14px;
    border-radius:50%;
    background:#2F2E8F;
    cursor:pointer;
    transition:.4s;
}

.dot.active{
    background:#E10600;
    transform:scale(1.3);
}

@keyframes fade{

from{
opacity:0;
transform:translateY(30px);
}

to{
opacity:1;
transform:translateY(0);
}

}

@media(max-width:768px){

.testimonial-card{
padding:30px;
}

.testimonial-card p{
font-size:16px;
}

.student{
flex-direction:column;
text-align:center;
}

}


/* FAQ */
.faq{
    padding:100px 0;
}

.faq-container{
    max-width:900px;
    margin:auto;
}

.faq-item{
    background:#1b1f2a;
    border-radius:12px;
    margin-bottom:15px;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.08);
}

.faq-question{
    width:100%;
    background:none;
    border:none;
    color:#fff;
    padding:20px;
    font-size:18px;
    font-weight:600;
    display:flex;
    justify-content:space-between;
    align-items:center;
    cursor:pointer;
}

.faq-question i{
    transition:.3s;
}

.faq-answer{
    display:none;
    padding:0 20px 20px;
    color:#c5cad5;
    line-height:1.8;
}

.faq-item.active .faq-answer{
    display:block;
}

.faq-item.active .faq-question i{
    transform:rotate(45deg);
}


/* Contact */

.contact{
padding:120px 0;
}

.contact-grid{
display:grid;
grid-template-columns:1fr 1fr;
gap:50px;
}

.contact-form form{
display:grid;
gap:20px;
}

.contact-form input,
.contact-form select,
.contact-form textarea{

padding:18px;
background:#111827;
border:1px solid rgba(255,255,255,.08);
color:#fff;
border-radius:12px;

}

/* CTA */

.final-cta{

padding:100px 0;
text-align:center;
background:linear-gradient(135deg,#2F2E8F,#111827);

}

.final-cta h2{

font-size:52px;
margin-bottom:20px;

}

.final-cta span{

color:#E10600;

}

/* Footer */
/* ===========================
   FOOTER
=========================== */

footer{

padding:90px 0 0;

background:#080B18;

border-top:1px solid rgba(255,255,255,.08);

}

.footer-grid{

display:grid;

grid-template-columns:repeat(4,1fr);

gap:40px;

}

.footer-logo{

width:180px;

margin-bottom:20px;

}

.footer-about p{

color:#c5cad5;

line-height:1.8;

}

.footer-grid h3{

font-size:22px;

margin-bottom:20px;

color:#fff;

}

.footer-grid a{

display:block;

margin:14px 0;

text-decoration:none;

color:#c5cad5;

transition:.35s;

}

.footer-grid a i{

margin-right:10px;

width:20px;

color:#E10600;

}

.footer-grid a:hover{

color:#fff;

transform:translateX(8px);

}

/* Copyright */

.copyright{

margin-top:60px;

padding:25px;

text-align:center;

border-top:1px solid rgba(255,255,255,.08);

font-size:15px;

color:#bfc5d1;

}

/* Developer */

.developer{

text-decoration:none;

font-weight:700;

color:#E10600;

transition:.35s;

position:relative;

}

.developer::after{

content:"";

position:absolute;

left:0;

bottom:-4px;

width:0;

height:2px;

background:#E10600;

transition:.35s;

}

.developer:hover{

color:#4F6BFF;

text-shadow:0 0 12px rgba(79,107,255,.6);

}

.developer:hover::after{

width:100%;

}

/* Responsive */

@media(max-width:992px){

.footer-grid{

grid-template-columns:repeat(2,1fr);

gap:35px;

}

}

@media(max-width:768px){

.footer-grid{

grid-template-columns:1fr;

text-align:center;

}

.footer-logo{

margin:auto auto 20px;

display:block;

}

.footer-grid a:hover{

transform:none;

}

}


/*==================================
PRELOADER
===================================*/


#preloader{

position:fixed;

top:0;
left:0;

width:100%;
height:100%;

background:#050816;

display:flex;

justify-content:center;

align-items:center;

z-index:999999;

transition:opacity .6s ease, visibility .6s ease;

}

.loader{

text-align:center;

}

.loader img{

width:180px;

animation:floatLogo 2s ease-in-out infinite;

margin-bottom:30px;

}

.loading-bar{

width:220px;

height:6px;

background:rgba(255,255,255,.15);

border-radius:50px;

overflow:hidden;

margin:auto;

}

.loading-bar span{

display:block;

width:0%;

height:100%;

background:linear-gradient(90deg,#2F2E8F,#E10600);

animation:loading 1.5s linear forwards;

}

/* Logo Animation */

@keyframes floatLogo{

0%,100%{

transform:translateY(0);

}

50%{

transform:translateY(-12px);

}

}

/* Progress Bar */

@keyframes loading{

0%{

width:0%;

}

100%{

width:100%;

}

}

/* Responsive */

@media(max-width:768px){

.loader img{

width:140px;

}

.loading-bar{

width:180px;

}

}

/*==================================
SCROLL TOP
===================================*/

#scrollTop{

position:fixed;

right:25px;

bottom:25px;

width:60px;

height:60px;

border:none;

background:#2F2E8F;

color:white;

border-radius:50%;

cursor:pointer;

display:none;

font-size:22px;

z-index:999;

transition:.35s;

}

#scrollTop:hover{

background:#E10600;

}


/* free consultation  */


.demo-section{
    padding:100px 0;
}

.demo-content{
    max-width:900px;
    margin:auto;
    background:#1b1f2a;
    padding:50px;
    border-radius:20px;
    text-align:center;
    border:1px solid rgba(255,255,255,.08);
}

.demo-tag{
    display:inline-block;
    padding:8px 18px;
    border-radius:30px;
    background:#E10600;
    color:#fff;
    font-size:14px;
    margin-bottom:20px;
}

.demo-content h2{
    color:#fff;
    font-size:40px;
    margin-bottom:20px;
}

.demo-content h2 span{
    color:#E10600;
}

.demo-content p{
    color:#c5cad5;
    line-height:1.8;
    margin-bottom:35px;
}

.demo-features{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:18px;
    margin-bottom:35px;
}

.demo-features div{
    background:rgba(255,255,255,.05);
    padding:18px;
    border-radius:12px;
    color:#fff;
}

.demo-features i{
    color:#E10600;
    margin-right:10px;
}

.btn-primary{
    display:inline-block;
    padding:15px 35px;
    background:#E10600;
    color:#fff;
    border-radius:8px;
    text-decoration:none;
    font-weight:600;
    transition:.3s;
}

.btn-primary:hover{
    background:#E10600;
}

@media(max-width:768px){
    .demo-content{
        padding:30px 20px;
    }

    .demo-content h2{
        font-size:30px;
    }

    .demo-features{
        grid-template-columns:1fr;
    }
}


/* form */
.final-cta{

    padding:100px 20px;

}

.final-cta h2{

    text-align:center;
    color:#fff;
    font-size:42px;

}

.final-cta h2 span{

    color:#E10600;

}

.final-cta p{

    text-align:center;
    color:#c5cad5;
    margin:20px auto 50px;
    max-width:700px;

}

.contact-wrapper{

    display:grid;
    grid-template-columns:1fr 1fr;
    gap:40px;

}

.contact-form{

    background:#1b1f2a;
    padding:35px;
    border-radius:15px;

}

.contact-form input,
.contact-form select,
.contact-form textarea{

    width:100%;
    padding:15px;
    margin-bottom:18px;
    border:none;
    border-radius:8px;
    outline:none;
    font-size:16px;
    background:#2a3042;
    color:#fff;

}

.contact-form textarea{

    resize:none;

}

.btn{

    width:100%;
    padding:16px;
    border:none;
    border-radius:8px;
    background:#E10600;
    color:#fff;
    cursor:pointer;
    font-size:17px;
    transition:.3s;

}

.btn:hover{

    background:#E10600;

}

.contact-map{

    border-radius:15px;
    overflow:hidden;

}

.contact-map iframe{

    width:100%;
    height:100%;
    min-height:500px;
    border:none;

}

/* Responsive */

@media(max-width:768px){

.contact-wrapper{

grid-template-columns:1fr;

}

.final-cta h2{

font-size:30px;

}

.contact-map iframe{

min-height:300px;

}

}

/*==============================
FLOATING BUTTONS
==============================*/

.whatsapp,
.call-btn{

position:fixed;

left:20px;

width:65px;

height:65px;

display:flex;

align-items:center;

justify-content:center;

border-radius:50%;

font-size:28px;

color:#fff;

text-decoration:none;

z-index:9999;

overflow:hidden;

animation:float 2.5s ease-in-out infinite;

transition:.35s;

}

/*-------------------
Gradient Border
--------------------*/

.whatsapp::before,
.call-btn::before{

content:"";

position:absolute;

inset:-3px;

border-radius:50%;

background:linear-gradient(
45deg,
#00ff88,
#00d4ff,
#7b2ff7,
#ff0080,
#00ff88
);

background-size:400% 400%;

animation:borderMove 5s linear infinite;

z-index:-2;

}

.whatsapp::after,
.call-btn::after{

content:"";

position:absolute;

inset:3px;

border-radius:50%;

z-index:-1;

}

/*-------------------
Button Colors
--------------------*/

.whatsapp{

bottom:20px;

}

.whatsapp::after{

background:#25D366;

}

.call-btn{

bottom:100px;

animation-delay:.5s;

}

.call-btn::after{

background:#E10600;

}

/*-------------------
Glow
--------------------*/

.whatsapp{

box-shadow:
0 0 15px rgba(37,211,102,.6),
0 0 35px rgba(37,211,102,.4);

}

.call-btn{

box-shadow:
0 0 15px rgba(225,6,0,.6),
0 0 35px rgba(225,6,0,.4);

}

/*-------------------
Hover
--------------------*/

.whatsapp:hover,
.call-btn:hover{

transform:translateY(-8px) scale(1.12) rotate(8deg);

box-shadow:
0 0 25px rgba(255,255,255,.4),
0 0 50px rgba(255,255,255,.2);

}

.whatsapp i,
.call-btn i{

z-index:2;

}

/*-------------------
Animations
--------------------*/

@keyframes float{

0%{

transform:translateY(0);

}

50%{

transform:translateY(-12px);

}

100%{

transform:translateY(0);

}

}

@keyframes borderMove{

0%{

background-position:0% 50%;

}

100%{

background-position:400% 50%;

}

}

/*-------------------
Responsive
--------------------*/

@media(max-width:768px){

.whatsapp,
.call-btn{

width:58px;

height:58px;

font-size:24px;

left:15px;

}

.call-btn{

bottom:88px;

}

.whatsapp{

bottom:15px;

}

}