/* ===========================================
   Bundeli Innovations
   Main Stylesheet
=========================================== */

:root{

--primary:#2563EB;
--secondary:#0F172A;
--card:#1E293B;
--white:#ffffff;
--text:#CBD5E1;
--border:#334155;
--success:#22C55E;
--shadow:0 10px 30px rgba(0,0,0,.15);

}

*{

margin:0;
padding:0;
box-sizing:border-box;

}

html{

scroll-behavior:smooth;

}

body{

font-family:'Outfit',sans-serif;
background:var(--secondary);
color:var(--white);
line-height:1.7;
overflow-x:hidden;

}

img{

width:100%;
display:block;

}

a{

text-decoration:none;

}

ul{

list-style:none;

}

.container{

width:90%;
max-width:1200px;
margin:auto;

}

/* =========================
   Header
========================= */

header{

position:fixed;
top:0;
left:0;
width:100%;
z-index:999;
background:rgba(15,23,42,.9);
backdrop-filter:blur(12px);
border-bottom:1px solid rgba(255,255,255,.05);

}

nav{

display:flex;
justify-content:space-between;
align-items:center;
padding:18px 0;

}

.logo{

display:flex;
align-items:center;
gap:12px;
font-size:22px;
font-weight:700;
color:white;

}

.logo img{

width:48px;

}

nav ul{

display:flex;
gap:35px;

}

nav ul li a{

color:#fff;
font-weight:500;
transition:.3s;

}

nav ul li a:hover,
nav ul li a.active{

color:var(--primary);

}

.nav-btn{

background:var(--primary);
padding:12px 24px;
border-radius:50px;
color:#fff;
font-weight:600;
transition:.3s;

}

.nav-btn:hover{

transform:translateY(-3px);

}

/* =========================
Buttons
========================= */

.btn{

display:inline-block;
padding:15px 32px;
background:var(--primary);
color:white;
border-radius:50px;
font-weight:600;
transition:.3s;

}

.btn:hover{

transform:translateY(-5px);
box-shadow:var(--shadow);

}

.btn-outline{

display:inline-block;
padding:15px 32px;
border:2px solid var(--primary);
color:white;
border-radius:50px;
margin-left:15px;
transition:.3s;

}

.btn-outline:hover{

background:var(--primary);

}

/* =========================
Hero
========================= */

.hero{

padding:180px 0 100px;

}

.hero-grid{

display:grid;
grid-template-columns:1fr 1fr;
align-items:center;
gap:70px;

}

.hero h5{

color:#60A5FA;
letter-spacing:2px;
margin-bottom:15px;

}

.hero h1{

font-size:64px;
line-height:1.1;
margin-bottom:25px;

}

.hero h1 span{

color:var(--primary);

}

.hero p{

color:var(--text);
font-size:18px;
margin-bottom:35px;

}

.hero-buttons{

display:flex;
align-items:center;
margin-bottom:40px;

}

.hero-stats{

display:flex;
gap:50px;

}

.hero-stats h2{

font-size:34px;
color:var(--primary);

}

.hero-stats p{

font-size:15px;
margin:0;
color:#94A3B8;

}

.hero-image img{

animation:float 5s ease infinite;

}

/* =========================
Section
========================= */

section{

padding:90px 0;

}

.section-title{

text-align:center;
margin-bottom:60px;

}

.section-title h5{

color:#60A5FA;
letter-spacing:2px;
margin-bottom:12px;

}

.section-title h2{

font-size:42px;
margin-bottom:15px;

}

.section-title p{

max-width:700px;
margin:auto;
color:#94A3B8;

}

/* ===========================================
   ABOUT SECTION
=========================================== */

.about{

background:#111827;

}

.about-grid{

display:grid;
grid-template-columns:1fr 1fr;
gap:70px;
align-items:center;

}

.about-image img{

border-radius:20px;
box-shadow:var(--shadow);

}

.about-content h3{

font-size:38px;
margin-bottom:20px;

}

.about-content p{

color:var(--text);
margin-bottom:20px;

}

.about-features{

display:grid;
grid-template-columns:repeat(2,1fr);
gap:20px;
margin:35px 0;

}

.about-features div{

display:flex;
align-items:center;
gap:12px;
background:var(--card);
padding:18px;
border-radius:15px;
border:1px solid var(--border);

}

.about-features i{

font-size:22px;
color:var(--primary);

}

/* ===========================================
   CARDS
=========================================== */

.about-card,
.research-card,
.process-card,
.future-card,
.timeline-card,
.stat-box{

background:var(--card);
padding:30px;
border-radius:18px;
border:1px solid var(--border);
transition:.35s;

}

.about-card:hover,
.research-card:hover,
.process-card:hover,
.future-card:hover,
.timeline-card:hover,
.stat-box:hover{

transform:translateY(-8px);
border-color:var(--primary);
box-shadow:var(--shadow);

}

.about-card i,
.research-card i{

font-size:42px;
color:var(--primary);
margin-bottom:18px;

}

.about-card h3,
.research-card h3{

margin-bottom:15px;

}

.about-card p,
.research-card p{

color:var(--text);

}

/* ===========================================
   GRID LAYOUTS
=========================================== */

.about-grid,
.research-grid,
.process-grid,
.future-grid,
.timeline-grid,
.stats-grid{

display:grid;
gap:30px;

}

.research-grid{

grid-template-columns:repeat(3,1fr);

}

.process-grid{

grid-template-columns:repeat(4,1fr);

}

.future-grid{

grid-template-columns:repeat(3,1fr);

}

.timeline-grid{

grid-template-columns:repeat(4,1fr);

}

.stats-grid{

grid-template-columns:repeat(4,1fr);

text-align:center;

}

/* ===========================================
   STATS
=========================================== */

.stats{

background:#111827;

}

.stat-box h2{

font-size:50px;
color:var(--primary);
margin-bottom:10px;

}

.stat-box p{

color:var(--text);

}

/* ===========================================
   FOUNDER
=========================================== */

.founder{

padding:100px 0;

}

.founder-grid{

display:grid;
grid-template-columns:1fr 1fr;
gap:70px;
align-items:center;

}

.founder-image img{

border-radius:20px;
box-shadow:var(--shadow);

}

.founder-content h5{

color:#60A5FA;
margin-bottom:10px;

}

.founder-content h2{

font-size:44px;
margin-bottom:20px;

}

.founder-content p{

color:var(--text);
margin-bottom:18px;

}

.founder-content blockquote{

margin-top:25px;
padding:20px;
border-left:4px solid var(--primary);
background:#111827;
border-radius:12px;
font-style:italic;

}

/* ===========================================
   TIMELINE
=========================================== */

.timeline{

background:#111827;

}

.timeline-card{

text-align:center;

}

.timeline-card h3{

font-size:32px;
color:var(--primary);
margin-bottom:15px;

}

.timeline-card p{

color:var(--text);

}

/* ===========================================
   INNOVATION PAGE
=========================================== */

.innovation-section{

padding:100px 0;

}

.innovation-layout{

display:grid;
grid-template-columns:1fr 1fr;
gap:70px;
align-items:center;

}

.innovation-layout.reverse{

grid-template-columns:1fr 1fr;

}

.innovation-image img{

border-radius:20px;
box-shadow:var(--shadow);

}

.innovation-info h2{

font-size:42px;
margin-bottom:20px;

}

.innovation-info p{

color:var(--text);
margin-bottom:20px;

}

.innovation-info ul{

margin-bottom:25px;

}

.innovation-info ul li{

margin:12px 0;
color:var(--text);

}

.status{

display:inline-block;
padding:10px 18px;
border-radius:50px;
font-size:14px;
font-weight:600;

}

.status.completed{

background:#22C55E;
color:#fff;

}

.status.development{

background:#F59E0B;
color:#fff;

}

.status.research{

background:#2563EB;
color:#fff;

}

/* ===========================================
   GALLERY
=========================================== */

.gallery-page{

padding:80px 0;

}

.category-buttons{

display:flex;
justify-content:center;
flex-wrap:wrap;
gap:15px;
margin-bottom:50px;

}

.category-buttons button{

padding:12px 25px;
background:var(--card);
border:none;
border-radius:40px;
color:#fff;
cursor:pointer;
transition:.3s;

}

.category-buttons button:hover,
.category-buttons button.active{

background:var(--primary);

}

.gallery-grid{

display:grid;
grid-template-columns:repeat(4,1fr);
gap:25px;

}

.gallery-item{

background:var(--card);
border-radius:20px;
overflow:hidden;
transition:.35s;

}

.gallery-item:hover{

transform:translateY(-8px);
box-shadow:var(--shadow);

}

.gallery-item img{

height:260px;
object-fit:cover;

}

.gallery-info{

padding:20px;

}

.gallery-info h3{

margin-bottom:10px;

}

.gallery-info p{

color:var(--text);

}

/* ===========================================
   CONTACT PAGE
=========================================== */

.contact-page{

padding:90px 0;

}

.contact-grid{

display:grid;
grid-template-columns:1fr 1fr;
gap:60px;

}

.contact-info h2{

font-size:40px;
margin-bottom:20px;

}

.contact-info p{

color:var(--text);

}

.contact-item{

display:flex;
align-items:flex-start;
gap:18px;
margin:30px 0;

}

.contact-item i{

font-size:26px;
color:var(--primary);

}

.contact-item h3{

margin-bottom:6px;

}

.contact-form{

background:var(--card);
padding:40px;
border-radius:20px;
border:1px solid var(--border);

}

.contact-form input,
.contact-form textarea{

width:100%;
padding:16px;
margin-bottom:20px;
border:none;
border-radius:12px;
background:#0F172A;
color:#fff;
font-size:16px;

}

.contact-form input:focus,
.contact-form textarea:focus{

outline:2px solid var(--primary);

}

/* ===========================================
   MAP
=========================================== */

.map-box{

overflow:hidden;
border-radius:20px;
box-shadow:var(--shadow);

}

/* ===========================================
   SOCIAL
=========================================== */

.social-grid{

display:grid;
grid-template-columns:repeat(4,1fr);
gap:25px;

}

.social-card{

background:var(--card);
padding:35px;
border-radius:20px;
text-align:center;
transition:.3s;
color:white;

}

.social-card:hover{

transform:translateY(-8px);
background:var(--primary);

}

.social-card i{

font-size:40px;
margin-bottom:18px;

}

/* ===========================================
   FOOTER
=========================================== */

footer{

background:#020617;
padding:70px 0 25px;

}

.footer-grid{

display:grid;
grid-template-columns:2fr 1fr 1fr 1fr;
gap:40px;

}

.footer-logo{

width:70px;
margin-bottom:20px;

}

.footer-grid h3,
.footer-grid h4{

margin-bottom:18px;

}

.footer-grid p,
.footer-grid li{

color:#94A3B8;
margin-bottom:10px;

}

.footer-grid ul li a{

color:#94A3B8;
transition:.3s;

}

.footer-grid ul li a:hover{

color:var(--primary);

}

.social-icons{

display:flex;
gap:15px;
margin-top:20px;

}

.social-icons a{

width:45px;
height:45px;
display:flex;
justify-content:center;
align-items:center;
border-radius:50%;
background:var(--card);
color:#fff;
transition:.3s;

}

.social-icons a:hover{

background:var(--primary);

}

footer hr{

margin:45px 0 20px;
border:none;
border-top:1px solid #334155;

}

.copyright{

text-align:center;
color:#94A3B8;

}

/* ===========================================
   UTILITIES
=========================================== */

.light{

background:#111827;

}

.text-center{

text-align:center;

}

.mt-50{

margin-top:50px;

}

.mb-50{

margin-bottom:50px;

}

/* ===========================================
   ANIMATIONS
=========================================== */

@keyframes float{

0%{
transform:translateY(0px);
}

50%{
transform:translateY(-15px);
}

100%{
transform:translateY(0px);
}

}

@keyframes fadeUp{

0%{
opacity:0;
transform:translateY(40px);
}

100%{
opacity:1;
transform:translateY(0);
}

}

@keyframes zoom{

0%{
transform:scale(.95);
opacity:0;
}

100%{
transform:scale(1);
opacity:1;
}

}

/* ===========================================
   SCROLL ANIMATION
=========================================== */

.fade-up{

animation:fadeUp .8s ease forwards;

}

.zoom{

animation:zoom .8s ease forwards;

}

/* ===========================================
   HOVER EFFECTS
=========================================== */

img{

transition:.4s;

}

img:hover{

transform:scale(1.03);

}

button,
.btn,
.nav-btn{

cursor:pointer;

}

button:hover{

transform:translateY(-3px);

}

.gallery-item img:hover{

transform:scale(1.08);

}

/* ===========================================
   GLASS EFFECT
=========================================== */

.glass{

background:rgba(255,255,255,.08);

backdrop-filter:blur(12px);

border:1px solid rgba(255,255,255,.1);

}

/* ===========================================
   SHADOWS
=========================================== */

.shadow{

box-shadow:0 15px 35px rgba(0,0,0,.25);

}

/* ===========================================
   BORDER RADIUS
=========================================== */

.radius{

border-radius:20px;

}

/* ===========================================
   SPACING HELPERS
=========================================== */

.pt-100{

padding-top:100px;

}

.pb-100{

padding-bottom:100px;

}

.py-100{

padding:100px 0;

}

.mt-100{

margin-top:100px;

}

.mb-100{

margin-bottom:100px;

}

/* ===========================================
   RESPONSIVE
=========================================== */

@media(max-width:992px){

.hero-grid,
.about-grid,
.founder-grid,
.innovation-layout,
.contact-grid{

grid-template-columns:1fr;

gap:40px;

}

.footer-grid{

grid-template-columns:1fr 1fr;

}

.gallery-grid{

grid-template-columns:repeat(2,1fr);

}

.research-grid{

grid-template-columns:repeat(2,1fr);

}

.process-grid{

grid-template-columns:repeat(2,1fr);

}

.timeline-grid{

grid-template-columns:repeat(2,1fr);

}

.stats-grid{

grid-template-columns:repeat(2,1fr);

}

.social-grid{

grid-template-columns:repeat(2,1fr);

}

.hero{

text-align:center;

}

.hero-buttons{

justify-content:center;

}

.hero-stats{

justify-content:center;

}

}

@media(max-width:768px){

nav{

flex-direction:column;

gap:20px;

}

nav ul{

flex-wrap:wrap;

justify-content:center;

gap:18px;

}

.hero{

padding:150px 0 70px;

}

.hero h1{

font-size:42px;

}

.section-title h2{

font-size:34px;

}

.gallery-grid,
.research-grid,
.future-grid,
.timeline-grid,
.stats-grid,
.social-grid,
.process-grid{

grid-template-columns:1fr;

}

.footer-grid{

grid-template-columns:1fr;

text-align:center;

}

.social-icons{

justify-content:center;

}

.about-features{

grid-template-columns:1fr;

}

.hero-buttons{

flex-direction:column;
gap:15px;

}

.btn-outline{

margin-left:0;

}

}

@media(max-width:480px){

.container{

width:92%;

}

.hero h1{

font-size:34px;

}

.hero p{

font-size:16px;

}

.section-title h2{

font-size:28px;

}

.about-content h3,
.innovation-info h2,
.contact-info h2{

font-size:30px;

}

.stat-box h2{

font-size:38px;

}

.logo span{

font-size:18px;

}

.nav-btn{

display:none;

}

}

.lightbox{
position:fixed;
top:0;
left:0;
width:100%;
height:100%;
background:rgba(0,0,0,.85);
display:flex;
justify-content:center;
align-items:center;
z-index:9999;
}

.lightbox-content{
position:relative;
max-width:90%;
max-height:90%;
}

.lightbox-content img{
max-width:100%;
max-height:80vh;
border-radius:15px;
}

.close-lightbox{
position:absolute;
top:-15px;
right:-15px;
width:40px;
height:40px;
background:#2563EB;
color:#fff;
display:flex;
justify-content:center;
align-items:center;
border-radius:50%;
cursor:pointer;
font-size:22px;
}

.scroll-top{
position:fixed;
right:25px;
bottom:25px;
width:50px;
height:50px;
border:none;
border-radius:50%;
background:#2563EB;
color:#fff;
font-size:20px;
cursor:pointer;
opacity:0;
visibility:hidden;
transition:.3s;
z-index:999;
}

.scroll-top.show{
opacity:1;
visibility:visible;
}

/* ===========================================
   END OF FILE
=========================================== */