/* =========================================
   MAHALAXMI INDUSTRIAL ASSOCIATION
   PREMIUM SKY BLUE THEME
========================================= */

@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800&display=swap');

:root{

--primary:#38BDF8;
--primary-dark:#0284C7;
--light-blue:#E0F7FF;
--section:#F5FBFF;
--white:#FFFFFF;
--text:#1E293B;
--gray:#64748B;
--shadow:0 15px 40px rgba(0,0,0,.08);

}

*{
margin:0;
padding:0;
box-sizing:border-box;
scroll-behavior:smooth;
}

html,
body{
width:100%;
max-width:100%;
overflow-x:hidden;
}

body{

font-family:'Poppins',sans-serif;
background:var(--white);
color:var(--text);

}

/* Scrollbar */

::-webkit-scrollbar{
width:10px;
}

::-webkit-scrollbar-track{
background:#eef8ff;
}

::-webkit-scrollbar-thumb{
background:var(--primary);
border-radius:20px;
}

/* ======================
NAVBAR
====================== */

.header{

position:fixed;
top:0;
left:0;

width:100%;

padding:18px 8%;

display:flex;
justify-content:space-between;
align-items:center;

background:rgba(255,255,255,.88);

backdrop-filter:blur(18px);

box-shadow:0 5px 25px rgba(0,0,0,.08);

z-index:999;

transition:.4s;

}

.logo h2{

font-size:32px;
font-weight:700;
color:var(--primary-dark);

}

.nav-links{

display:flex;
gap:35px;
list-style:none;
align-items:center;

}

.nav-links a{

text-decoration:none;
color:var(--text);

font-weight:600;

position:relative;

transition:.35s;

}

.nav-links a:hover{

color:var(--primary);

}

.nav-links a::after{

content:"";

position:absolute;

left:0;
bottom:-8px;

width:0;

height:3px;

background:var(--primary);

border-radius:50px;

transition:.35s;

}

.nav-links a:hover::after{

width:100%;

}

/* ======================
HAMBURGER (mobile menu icon)
====================== */

.hamburger{

display:none;

flex-direction:column;

justify-content:space-between;

width:30px;
height:22px;

cursor:pointer;

z-index:1001;

}

.hamburger span{

display:block;

width:100%;
height:3px;

background:var(--primary-dark);

border-radius:5px;

transition:.35s;

}

.hamburger.active span:nth-child(1){

transform:translateY(9.5px) rotate(45deg);

}

.hamburger.active span:nth-child(2){

opacity:0;

}

.hamburger.active span:nth-child(3){

transform:translateY(-9.5px) rotate(-45deg);

}

/* ======================
BUTTON
====================== */

.btn{

background:linear-gradient(135deg,#38BDF8,#0284C7);

color:white;

padding:16px 40px;

border:none;

border-radius:50px;

cursor:pointer;

font-size:17px;

font-weight:600;

transition:.4s;

box-shadow:0 12px 25px rgba(56,189,248,.30);

}

.btn:hover{

transform:translateY(-6px) scale(1.05);

box-shadow:0 18px 35px rgba(56,189,248,.45);

}

/* ======================
HERO
====================== */

.hero{

height:100vh;

display:flex;

justify-content:center;

align-items:center;

text-align:center;

padding:20px;

position:relative;

overflow:hidden;

background:
linear-gradient(135deg,
rgba(14,165,233,.80),
rgba(56,189,248,.70)),
url("../images/hero.jpg");

background-size:cover;

background-position:center;

}

/* Floating Background */

.hero::before{

content:"";

position:absolute;

width:450px;

height:450px;

background:rgba(255,255,255,.18);

border-radius:50%;

top:-120px;

left:-120px;

animation:floatOne 8s infinite alternate;

}

.hero::after{

content:"";

position:absolute;

width:320px;

height:320px;

background:rgba(255,255,255,.12);

border-radius:50%;

bottom:-80px;

right:-80px;

animation:floatTwo 10s infinite alternate;

}

.hero-content{

position:relative;

z-index:2;

color:white;

max-width:900px;

animation:fadeUp 1.2s ease;

}

.hero-content h1{

font-size:65px;

font-weight:700;

line-height:1.2;

margin-bottom:25px;

}

.hero-content p{

font-size:22px;

margin-bottom:40px;

line-height:1.8;

}

/* Animations */

@keyframes fadeUp{

from{

opacity:0;

transform:translateY(70px);

}

to{

opacity:1;

transform:translateY(0);

}

}

@keyframes floatOne{

from{

transform:translateY(0) translateX(0);

}

to{

transform:translateY(60px) translateX(40px);

}

}

@keyframes floatTwo{

from{

transform:translateY(0);

}

to{

transform:translateY(-40px);

}

}
/* =========================================
   ABOUT SECTION
========================================= */

.about{

padding:120px 10%;
display:flex;
align-items:center;
justify-content:center;
gap:70px;
background:linear-gradient(to bottom,#ffffff,#F5FBFF);

}

.about-image{

flex:1;

}

.about-image img{

width:100%;
border-radius:25px;
box-shadow:0 25px 50px rgba(0,0,0,.12);
transition:.5s;

}

.about-image img:hover{

transform:scale(1.04);

}

.about-content{

flex:1;

}

.about-content h4{

color:var(--primary);
font-size:18px;
letter-spacing:3px;
margin-bottom:18px;

}

.about-content h2{

font-size:46px;
color:var(--text);
margin-bottom:25px;

}

.about-content p{

font-size:17px;
line-height:2;
color:var(--gray);
margin-bottom:20px;

}

/* About page (about.html) body paragraph — centered per request */

.about-text{

margin:40px auto 0;
max-width:850px;
line-height:2;
font-size:17px;
text-align:center;

}

/* =========================================
SECTION TITLE
========================================= */

.section-title{

text-align:center;
margin-bottom:70px;

}

.section-title h4{

color:var(--primary);
letter-spacing:3px;
margin-bottom:15px;

}

.section-title h2{

font-size:46px;
margin-bottom:15px;
color:var(--text);

}

.section-title p{

max-width:700px;
margin:auto;
color:var(--gray);
line-height:1.8;

}

/* =========================================
VISION & MISSION
========================================= */

.vision-mission{

padding:110px 10%;
display:flex;
gap:35px;
background:#F5FBFF;

}

.card{

flex:1;

background:rgba(255,255,255,.7);

backdrop-filter:blur(20px);

padding:45px;

border-radius:25px;

box-shadow:var(--shadow);

transition:.45s;

text-align:center;

border:1px solid rgba(255,255,255,.6);

}

.card:hover{

transform:translateY(-12px);

box-shadow:0 30px 60px rgba(56,189,248,.18);

}

.card i{

font-size:60px;

color:var(--primary);

margin-bottom:25px;

}

.card h2{

margin-bottom:18px;

color:var(--text);

}

.card p{

line-height:1.9;

color:var(--gray);

}

/* =========================================
OBJECTIVES
========================================= */

.objectives{

padding:120px 10%;
background:white;

}

.objective-container{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(280px,1fr));

gap:35px;

}

.objective-card{

background:white;

padding:40px;

border-radius:22px;

box-shadow:var(--shadow);

transition:.45s;

text-align:center;

}

.objective-card:hover{

transform:translateY(-10px);

box-shadow:0 30px 55px rgba(56,189,248,.18);

}

.objective-card i{

font-size:55px;

margin-bottom:22px;

color:var(--primary);

}

.objective-card h3{

margin-bottom:15px;

color:var(--text);

}

.objective-card p{

line-height:1.8;

color:var(--gray);

}

/* =========================================
OFFICE BEARERS
========================================= */

.office{

padding:120px 10%;
background:#F5FBFF;

}

.office-container{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(260px,1fr));

gap:35px;

}

.office-card{

background:white;

padding:35px;

border-radius:22px;

text-align:center;

box-shadow:var(--shadow);

transition:.45s;

}

.office-card:hover{

transform:translateY(-12px);

}

.office-card img{

width:150px;

height:150px;

border-radius:50%;

object-fit:cover;

border:6px solid var(--primary);

margin-bottom:20px;

transition:.4s;

}

.office-card:hover img{

transform:scale(1.05);

}

.office-card h3{

font-size:22px;

margin-bottom:10px;

color:var(--text);

}

.office-card p{

color:var(--primary-dark);

font-weight:600;

}
/* =========================================
   CONTACT PAGE
========================================= */

.contact-page{

padding:140px 10% 100px;
background:linear-gradient(to bottom,#ffffff,#F5FBFF);

}

.contact-container{

display:grid;
grid-template-columns:repeat(auto-fit,minmax(min(100%,350px),1fr));
gap:50px;
margin-top:50px;

}

.contact-info{

background:white;
padding:45px;
border-radius:20px;
box-shadow:var(--shadow);
text-align:left;

}

.contact-info h3{

color:var(--primary-dark);
font-size:18px;
letter-spacing:1px;
text-transform:uppercase;
margin:25px 0 8px;
padding-bottom:8px;
border-bottom:2px solid var(--light-blue);

}

.contact-info h3:first-child{

margin-top:0;

}

.contact-info p{

color:var(--gray);
line-height:1.8;
font-size:16px;

}

.contact-info p a{

color:var(--gray);
text-decoration:none;
transition:.3s;

}

.contact-info p a:hover{

color:var(--primary-dark);

}

.contact-form{

background:white;
padding:40px;
border-radius:20px;
box-shadow:var(--shadow);

display:flex;
flex-direction:column;
gap:20px;

}

.contact-form input,
.contact-form textarea{

padding:18px;

border:2px solid #E2E8F0;

border-radius:12px;

font-size:16px;

font-family:'Poppins',sans-serif;

transition:.3s;

}

.contact-form input:focus,
.contact-form textarea:focus{

outline:none;

border-color:var(--primary);

box-shadow:0 0 15px rgba(56,189,248,.25);

}


.contact-info,
.contact-form{
width:100%;
min-width:0;
}

.contact-form input,
.contact-form textarea{
width:100%;
max-width:100%;
}

.footer{
width:100%;
max-width:100%;
overflow:hidden;
}

/* =========================================
FOOTER
========================================= */

.footer{

background:linear-gradient(135deg,#38BDF8,#0284C7);

color:white;

padding:80px 8% 0;

margin-top:40px;

}

.footer-container{

display:grid;

grid-template-columns:1.4fr 1fr 1.2fr;

gap:50px;

max-width:1200px;

margin:0 auto;

padding-bottom:50px;

border-bottom:1px solid rgba(255,255,255,.25);

}

.footer-col h2{

font-size:24px;

margin-bottom:16px;

}

.footer-col h3{

font-size:18px;

font-weight:600;

margin-bottom:20px;

letter-spacing:.5px;

text-transform:uppercase;

}

.footer-col p{

line-height:1.8;

opacity:.9;

font-size:15px;

margin-bottom:10px;

}

.footer-links{

list-style:none;

}

.footer-links li{

margin-bottom:12px;

}

.footer-links a{

color:white;

text-decoration:none;

opacity:.9;

font-size:15px;

transition:.3s;

position:relative;

}

.footer-links a:hover{

opacity:1;

padding-left:6px;

}

.footer-contact p a{

color:white;

text-decoration:none;

opacity:.9;

transition:.3s;

}

.footer-contact p a:hover{

opacity:1;

}

.footer-bottom{

text-align:center;

padding:25px 0;

font-size:14px;

opacity:.85;

}

/* =========================================
GENERAL HOVER EFFECTS
========================================= */

img{

transition:.5s;

}

img:hover{

transform:scale(1.02);

}

section{

animation:fadeSection .8s ease;

}

@keyframes fadeSection{

from{

opacity:0;
transform:translateY(40px);

}

to{

opacity:1;
transform:translateY(0);

}

}

/* =========================================
RESPONSIVE (base rules — overridden/extended
in responsive.css which loads after this file)
========================================= */

@media(max-width:768px){

.hero{

padding-top:120px;

}

.hero-content h1{

font-size:36px;

}

.section-title h2{

font-size:32px;

}

.about-content h2{

font-size:34px;


.contact-page{
padding:120px 20px 70px;
}

.contact-container{
grid-template-columns:1fr;
gap:30px;
margin-top:35px;
width:100%;
}

.contact-info,
.contact-form{
padding:25px 20px;
border-radius:16px;
}

.contact-info p,
.contact-info p a{
overflow-wrap:anywhere;
word-break:break-word;
}

.footer{
margin-top:20px;
padding:55px 20px 0;
width:100%;
}

.footer-container{
grid-template-columns:1fr;
gap:35px;
width:100%;
max-width:100%;
padding-bottom:35px;
text-align:center;
}

.footer-links{
padding:0;
}

.footer-bottom{
padding:20px 0;
}

}
.btn{

padding:14px 32px;

font-size:16px;

}

.office-card,
.objective-card,
.card{

padding:30px;

}

}
.btn{
    display:inline-block;
    text-decoration:none;
}