/*==================================================
    MPMAHES CONSULTANCY WEBSITE
    Batch 1
==================================================*/

/*==============================
ROOT VARIABLES
==============================*/

:root{

--primary:#3b82f6;
--secondary:#2563eb;
--accent:#06b6d4;
--success:#22c55e;
--warning:#f59e0b;

--dark:#050816;
--dark2:#0b1120;
--card:rgba(255,255,255,.08);

--white:#ffffff;
--text:#d6dce5;
--muted:#94a3b8;

--border:rgba(255,255,255,.15);

--radius:20px;

--shadow:0 15px 45px rgba(0,0,0,.35);

--transition:.35s ease;

}

/*==============================
RESET
==============================*/

*{

margin:0;
padding:0;
box-sizing:border-box;

}

html{

scroll-behavior:smooth;

}

body{

font-family:'Poppins',sans-serif;

background:var(--dark);

color:var(--white);

overflow-x:hidden;

line-height:1.7;

}

/*==============================
SCROLLBAR
==============================*/

::-webkit-scrollbar{

width:10px;

}

::-webkit-scrollbar-track{

background:#07101f;

}

::-webkit-scrollbar-thumb{

background:linear-gradient(var(--primary),var(--accent));

border-radius:30px;

}

/*==============================
GLOBAL
==============================*/

img{

max-width:100%;

display:block;

}

a{

text-decoration:none;

color:inherit;

}

section{

padding:100px 8%;

position:relative;

}

.section-title{

text-align:center;

margin-bottom:60px;

}

.section-title h2{

font-size:2.5rem;

font-weight:700;

margin-bottom:15px;

}

.section-title p{

color:var(--muted);

max-width:650px;

margin:auto;

}

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

.background-image{

position:fixed;

top:0;
left:0;

width:100%;
height:100%;

background:url("../images/hero.jpg") center center/cover no-repeat;

z-index:-3;

transform:scale(1.08);

}

.background-overlay{

position:fixed;

top:0;
left:0;

width:100%;
height:100%;

background:

linear-gradient(

180deg,

rgba(5,8,22,.55),

rgba(5,8,22,.90)

);

backdrop-filter:blur(3px);

z-index:-2;

}

/*==============================
FLOATING SHAPES
==============================*/

.floating-shapes{

position:fixed;

width:100%;
height:100%;

overflow:hidden;

pointer-events:none;

z-index:-1;

}

.floating-shapes span{

position:absolute;

display:block;

border-radius:50%;

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

animation:float 18s linear infinite;

backdrop-filter:blur(8px);

}

.floating-shapes span:nth-child(1){

width:180px;
height:180px;

left:8%;
top:15%;

animation-duration:22s;

}

.floating-shapes span:nth-child(2){

width:120px;
height:120px;

right:10%;
top:22%;

}

.floating-shapes span:nth-child(3){

width:220px;
height:220px;

bottom:12%;
left:15%;

animation-duration:30s;

}

.floating-shapes span:nth-child(4){

width:150px;
height:150px;

bottom:18%;
right:12%;

}

/*==============================
NAVBAR
==============================*/

.navbar{

position:fixed;

top:0;
left:0;

width:100%;

padding:18px 8%;

display:flex;

align-items:center;

justify-content:space-between;

background:rgba(5,8,22,.55);

backdrop-filter:blur(18px);

border-bottom:1px solid var(--border);

z-index:999;

transition:.4s;

}

.logo{

display:flex;

align-items:center;

gap:10px;

font-size:1.4rem;

font-weight:700;

}

.logo i{

color:var(--accent);

font-size:1.8rem;

}

nav ul{

display:flex;

gap:35px;

list-style:none;

}

nav a{

font-weight:500;

transition:.3s;

position:relative;

}

nav a:hover{

color:var(--accent);

}

nav a::after{

content:"";

position:absolute;

left:0;
bottom:-8px;

width:0;

height:2px;

background:var(--accent);

transition:.3s;

}

nav a:hover::after{

width:100%;

}

/*==============================
BUTTONS
==============================*/

.btn-primary,

.btn-outline{

display:inline-flex;

align-items:center;

justify-content:center;

gap:8px;

padding:14px 28px;

border-radius:50px;

font-weight:600;

transition:var(--transition);

cursor:pointer;

}

.btn-primary{

background:linear-gradient(135deg,var(--primary),var(--accent));

color:#fff;

box-shadow:0 10px 30px rgba(59,130,246,.35);

}

.btn-primary:hover{

transform:translateY(-4px);

box-shadow:0 20px 40px rgba(59,130,246,.45);

}

.btn-outline{

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

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

backdrop-filter:blur(10px);

}

.btn-outline:hover{

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

transform:translateY(-4px);

}

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

.hero{

min-height:100vh;

display:flex;

align-items:center;

justify-content:space-between;

gap:70px;

padding-top:140px;

}

.hero-content{

max-width:650px;

}

.hero h5{

letter-spacing:4px;

color:var(--accent);

margin-bottom:18px;

text-transform:uppercase;

}

.hero h1{

font-size:4rem;

line-height:1.2;

margin-bottom:25px;

font-weight:800;

}

.hero h1 span{

background:linear-gradient(90deg,#fff,var(--accent));

-webkit-background-clip:text;

-webkit-text-fill-color:transparent;

}

.hero p{

font-size:1.1rem;

color:var(--text);

margin-bottom:35px;

max-width:580px;

}

.hero-buttons{

display:flex;

gap:20px;

flex-wrap:wrap;

}

/*==============================
PROMO CARDS
==============================*/

.promo-container{

display:grid;

grid-template-columns:repeat(3,1fr);

gap:25px;

width:520px;

}

.promo-card{

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

backdrop-filter:blur(16px);

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

border-radius:22px;

padding:28px;

transition:.35s;

box-shadow:var(--shadow);

cursor:pointer;

animation:floatCard 5s ease-in-out infinite;

}

.promo-card:nth-child(2){

animation-delay:1s;

}

.promo-card:nth-child(3){

animation-delay:2s;

}

.promo-card:hover{

transform:translateY(-12px) scale(1.03);

border-color:var(--accent);

}

.badge{

display:inline-block;

padding:8px 16px;

border-radius:50px;

background:rgba(6,182,212,.15);

color:var(--accent);

font-size:.85rem;

margin-bottom:20px;

}

.promo-card h3{

margin-bottom:10px;

font-size:1.2rem;

}

.promo-card p{

color:var(--muted);

}

/*==============================
ANIMATIONS
==============================*/

@keyframes float{

0%{

transform:translateY(0) rotate(0);

}

50%{

transform:translateY(-40px) rotate(180deg);

}

100%{

transform:translateY(0) rotate(360deg);

}

}

@keyframes floatCard{

0%,100%{

transform:translateY(0);

}

50%{

transform:translateY(-15px);

}

}

/*==============================
RESPONSIVE
==============================*/

@media(max-width:1100px){

.hero{

flex-direction:column;

text-align:center;

}

.hero-content{

max-width:100%;

}

.hero-buttons{

justify-content:center;

}

.promo-container{

width:100%;

grid-template-columns:repeat(auto-fit,minmax(250px,1fr));

}

}

@media(max-width:768px){

.navbar{

padding:18px 5%;

}

nav{

display:none;

}

.hero h1{

font-size:2.8rem;

}

.section-title h2{

font-size:2rem;

}

section{

padding:80px 5%;

}

.promo-container{

grid-template-columns:1fr;

}

}

/*==================================================
    PRODUCTS SECTION
==================================================*/

.products{

position:relative;

}

.products-grid{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(360px,1fr));

gap:35px;

align-items:start;

}

/*==================================================
    WEBSITE CARD
==================================================*/

.website-card{

position:relative;

overflow:hidden;

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

backdrop-filter:blur(20px);

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

border-radius:24px;

transition:.4s;

box-shadow:0 20px 45px rgba(0,0,0,.35);

}

.website-card:hover{

transform:translateY(-12px);

border-color:var(--accent);

box-shadow:0 25px 60px rgba(6,182,212,.25);

}

.website-card::before{

content:"";

position:absolute;

top:-100%;

left:-100%;

width:250%;

height:250%;

background:

linear-gradient(

45deg,

transparent,

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

transparent

);

transform:rotate(30deg);

transition:.8s;

}

.website-card:hover::before{

left:100%;

top:100%;

}

/*==================================================
    CARD IMAGE
==================================================*/

.website-image{

position:relative;

height:240px;

overflow:hidden;

}

.website-image img{

width:100%;

height:100%;

object-fit:cover;

transition:.5s;

}

.website-card:hover img{

transform:scale(1.08);

}

.card-badge{

position:absolute;

top:18px;

left:18px;

padding:8px 16px;

background:linear-gradient(135deg,var(--primary),var(--accent));

border-radius:40px;

font-size:.82rem;

font-weight:600;

color:#fff;

box-shadow:0 10px 20px rgba(0,0,0,.3);

}

/*==================================================
    CARD CONTENT
==================================================*/

.website-content{

padding:25px;

}

.category{

display:inline-block;

padding:6px 14px;

border-radius:40px;

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

color:var(--accent);

font-size:.8rem;

margin-bottom:15px;

}

.website-content h3{

font-size:1.5rem;

margin-bottom:15px;

}

.website-content p{

color:var(--muted);

margin-bottom:25px;

}

/*==================================================
    VIDEO
==================================================*/

.video-container{

overflow:hidden;

border-radius:18px;

margin-bottom:25px;

background:#000;

box-shadow:0 15px 30px rgba(0,0,0,.3);

}

.video-container video,

.video-container iframe{

width:100%;

height:240px;

border:none;

display:block;

background:#000;

}

/*==================================================
    PRICE
==================================================*/

.price{

font-size:2rem;

font-weight:700;

color:var(--accent);

margin-bottom:20px;

}

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

.feature-list{

display:grid;

grid-template-columns:repeat(2,1fr);

gap:12px;

margin-bottom:30px;

}

.feature-list span{

display:flex;

align-items:center;

gap:10px;

padding:12px;

border-radius:12px;

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

font-size:.92rem;

}

.feature-list i{

color:var(--accent);

}

/*==================================================
    BUTTONS
==================================================*/

.card-actions{

display:flex;

gap:15px;

flex-wrap:wrap;

}

.card-actions a{

flex:1;

text-align:center;

}

/*==================================================
    CATEGORY FILTER
==================================================*/

.categories{

padding-top:50px;

}

.category-grid{

display:flex;

justify-content:center;

gap:20px;

flex-wrap:wrap;

}

.category-card{

width:150px;

height:140px;

border:none;

cursor:pointer;

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

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

border-radius:22px;

backdrop-filter:blur(18px);

display:flex;

flex-direction:column;

align-items:center;

justify-content:center;

transition:.35s;

color:#fff;

}

.category-card i{

font-size:2rem;

margin-bottom:15px;

color:var(--accent);

}

.category-card:hover,

.category-card.active{

background:linear-gradient(135deg,var(--primary),var(--accent));

transform:translateY(-10px);

}

.category-card:hover i,

.category-card.active i{

color:#fff;

}

/*==================================================
    STATISTICS
==================================================*/

.statistics{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(220px,1fr));

gap:30px;

}

.stat-card{

padding:40px 20px;

text-align:center;

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

border-radius:24px;

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

backdrop-filter:blur(18px);

transition:.35s;

}

.stat-card:hover{

transform:translateY(-10px);

border-color:var(--accent);

}

.stat-card h2{

font-size:3rem;

color:var(--accent);

margin-bottom:10px;

}

.stat-card p{

color:var(--muted);

font-size:1rem;

}

/*==================================================
    RESPONSIVE
==================================================*/

@media(max-width:992px){

.products-grid{

grid-template-columns:1fr;

}

.feature-list{

grid-template-columns:1fr;

}

}

@media(max-width:768px){

.website-image{

height:200px;

}

.video-container video,

.video-container iframe{

height:210px;

}

.website-content{

padding:20px;

}

.card-actions{

flex-direction:column;

}

.category-card{

width:120px;

height:120px;

}

.stat-card h2{

font-size:2.4rem;

}

}

/*==================================================
    TIMELINE
==================================================*/

.timeline-wrapper{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(220px,1fr));

gap:30px;

margin-top:50px;

}

.timeline-item{

position:relative;

padding:35px 25px;

text-align:center;

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

backdrop-filter:blur(18px);

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

border-radius:22px;

transition:.4s;

overflow:hidden;

}

.timeline-item:hover{

transform:translateY(-12px);

border-color:var(--accent);

}

.number{

width:70px;

height:70px;

margin:auto auto 20px;

display:flex;

align-items:center;

justify-content:center;

border-radius:50%;

font-size:1.5rem;

font-weight:700;

background:linear-gradient(135deg,var(--primary),var(--accent));

color:#fff;

box-shadow:0 15px 35px rgba(0,0,0,.3);

}

.timeline-item h3{

margin-bottom:15px;

}

.timeline-item p{

color:var(--muted);

}

/*==================================================
    WHY US
==================================================*/

.why-grid{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(260px,1fr));

gap:30px;

}

.why-card{

padding:40px 30px;

text-align:center;

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

border-radius:22px;

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

backdrop-filter:blur(18px);

transition:.35s;

}

.why-card:hover{

transform:translateY(-10px);

border-color:var(--accent);

}

.why-card i{

font-size:3rem;

margin-bottom:20px;

color:var(--accent);

}

.why-card h3{

margin-bottom:15px;

}

.why-card p{

color:var(--muted);

}

/*==================================================
    TESTIMONIALS
==================================================*/

.testimonial-slider{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(320px,1fr));

gap:30px;

}

.testimonial-card{

padding:35px;

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

border-radius:22px;

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

backdrop-filter:blur(18px);

transition:.35s;

}

.testimonial-card:hover{

transform:translateY(-10px);

}

.testimonial-card p{

font-style:italic;

margin-bottom:25px;

color:var(--text);

}

.testimonial-card h4{

color:var(--accent);

}

/*==================================================
    CONTACT CTA
==================================================*/

.contact-banner{

display:flex;

justify-content:space-between;

align-items:center;

gap:40px;

padding:50px;

background:linear-gradient(135deg,

rgba(37,99,235,.25),

rgba(6,182,212,.20));

border-radius:28px;

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

backdrop-filter:blur(20px);

}

.banner-left h2{

font-size:2.3rem;

margin-bottom:15px;

}

.banner-left p{

color:var(--muted);

max-width:650px;

}

.banner-right{

display:flex;

gap:20px;

flex-wrap:wrap;

}

/*==================================================
    VIDEO MODAL
==================================================*/

.video-modal{

position:fixed;

top:0;

left:0;

width:100%;

height:100%;

background:rgba(0,0,0,.85);

display:none;

align-items:center;

justify-content:center;

padding:40px;

z-index:99999;

}

.video-box{

position:relative;

width:min(1000px,95%);

background:#111827;

border-radius:20px;

overflow:hidden;

}

.video-box iframe,

.video-box video{

width:100%;

height:560px;

border:none;

display:block;

}

#closeVideo{

position:absolute;

top:15px;

right:15px;

width:45px;

height:45px;

border:none;

border-radius:50%;

cursor:pointer;

background:#ef4444;

color:#fff;

font-size:1.2rem;

}

/*==================================================
    FLOATING BUTTONS
==================================================*/

.floating-buttons{

position:fixed;

right:25px;

bottom:30px;

display:flex;

flex-direction:column;

gap:15px;

z-index:999;

}

.floating-buttons a{

width:60px;

height:60px;

display:flex;

align-items:center;

justify-content:center;

border-radius:50%;

background:linear-gradient(135deg,var(--primary),var(--accent));

color:#fff;

font-size:1.4rem;

box-shadow:0 15px 35px rgba(0,0,0,.3);

transition:.3s;

}

.floating-buttons a:hover{

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

}

/*==================================================
    SCROLL PROGRESS
==================================================*/

#scrollProgress{

position:fixed;

top:0;

left:0;

height:4px;

width:0;

background:linear-gradient(90deg,

var(--primary),

var(--accent));

z-index:999999;

}

/*==================================================
    FOOTER
==================================================*/

footer{

padding:60px 8%;

text-align:center;

background:rgba(0,0,0,.35);

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

margin-top:80px;

}

footer p{

color:var(--muted);

}

/*==================================================
    SCROLL REVEAL
==================================================*/

.reveal{

opacity:0;

transform:translateY(70px);

transition:1s;

}

.reveal.active{

opacity:1;

transform:translateY(0);

}

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

.website-card,

.promo-card,

.stat-card,

.why-card,

.timeline-item,

.testimonial-card{

position:relative;

}

.website-card::after,

.promo-card::after,

.stat-card::after,

.why-card::after,

.timeline-item::after,

.testimonial-card::after{

content:"";

position:absolute;

inset:0;

border-radius:inherit;

padding:1px;

background:

linear-gradient(

135deg,

rgba(255,255,255,.15),

transparent,

rgba(6,182,212,.25)

);

-webkit-mask:

linear-gradient(#fff 0 0) content-box,

linear-gradient(#fff 0 0);

-webkit-mask-composite:xor;

mask-composite:exclude;

pointer-events:none;

}

/*==================================================
    PARALLAX
==================================================*/

.background-image{

will-change:transform;

transition:transform .2s linear;

}

/*==================================================
    RESPONSIVE
==================================================*/

@media(max-width:992px){

.contact-banner{

flex-direction:column;

text-align:center;

}

.banner-right{

justify-content:center;

}

.video-box iframe,

.video-box video{

height:420px;

}

}

@media(max-width:768px){

.banner-left h2{

font-size:1.9rem;

}

.video-box iframe,

.video-box video{

height:240px;

}

.floating-buttons{

right:15px;

bottom:20px;

}

.floating-buttons a{

width:55px;

height:55px;

}

footer{

padding:40px 5%;

}

}

/*==================================================
    PREMIUM ANIMATIONS
==================================================*/

@keyframes pulseGlow{

0%{

box-shadow:0 0 0 rgba(6,182,212,0);

}

50%{

box-shadow:0 0 35px rgba(6,182,212,.35);

}

100%{

box-shadow:0 0 0 rgba(6,182,212,0);

}

}

.btn-primary{

animation:pulseGlow 3s infinite;

}

.website-card:hover,

.promo-card:hover{

animation:pulseGlow 1.5s infinite;

}

/* Portfolio Popup */

.portfolio-popup{

position:fixed;

inset:0;

background:rgba(0,0,0,.65);

display:none;

align-items:center;

justify-content:center;

z-index:99999;

padding:20px;

backdrop-filter:blur(6px);

}

.popup-card{

max-width:430px;

width:100%;

background:#111827;

border-radius:20px;

padding:30px;

text-align:center;

position:relative;

box-shadow:0 20px 60px rgba(0,0,0,.5);

animation:popupUp .5s ease;

}

.popup-avatar img{

width:120px;

height:120px;

border-radius:50%;

object-fit:cover;

margin-bottom:20px;

border:4px solid var(--accent);

}

.popup-content h3{

margin-bottom:15px;

}

.popup-content p{

margin-bottom:15px;

color:#cbd5e1;

}

.popup-buttons{

display:flex;

gap:15px;

justify-content:center;

flex-wrap:wrap;

margin-top:20px;

}

.popup-close{

position:absolute;

top:12px;

right:15px;

border:none;

background:none;

color:#fff;

font-size:30px;

cursor:pointer;

}

@keyframes popupUp{

from{

opacity:0;

transform:translateY(40px) scale(.9);

}

to{

opacity:1;

transform:translateY(0) scale(1);

}

}