*{
margin:0;
padding:0;
box-sizing:border-box;
}

body{
font-family:'Poppins',sans-serif;
color:#333;
background:#fff;
}

/* container */

.container{
width:90%;
max-width:1200px;
margin:auto;
}

/* NAVBAR */

.navbar{
position:fixed;
top:0;
left:0;
width:100%;
z-index:1000;

padding:16px 0;

transition:all 0.3s ease;

background:rgba(255,255,255,0.6);
backdrop-filter:blur(10px);
}

/* SCROLL EFFECT */

.navbar.scrolled{
background:rgba(255,255,255,0.9);
box-shadow:0 6px 25px rgba(0,0,0,0.08);
padding:12px 0;
}

/* CONTAINER */

.nav-container{
display:flex;
justify-content:space-between;
align-items:center;
}

/* LOGO */

.logo img{
height:35px;
}

/* NAV */

nav ul{
display:flex;
list-style:none;
}

nav ul li{
margin-left:30px;
}

/* LINKS */

nav ul li a{
position:relative; /* IMPORTANT FIX */
text-decoration:none;
color:#333;
font-weight:500;
transition:0.3s;
}

/* HOVER COLOR */

nav ul li a:hover{
color:#1F5F8E;
}

/* UNDERLINE */

nav ul li a::after{
content:"";
position:absolute;
left:0;
bottom:-6px;
width:0%;
height:2px;
background:#1F5F8E;
transition:0.3s;
}

/* HOVER UNDERLINE */

nav ul li a:hover::after{
width:100%;
}

/* ACTIVE LINK */

nav ul li a.active{
color:#1F5F8E;
}

nav ul li a.active::after{
width:100%;
}
/* HERO SECTION */
.hero{
height:100vh;
display:flex;
align-items:center;
position:relative;

background-image:url("../images/hero-bg.jpg");
background-size:cover;
background-position:center right;
background-repeat:no-repeat;
}
/* glass overlay */

.hero-overlay{
position:absolute;
top:0;
left:0;
width:100%;
height:100%;

background:linear-gradient(
90deg,
rgba(255,255,255,0.92) 28%,
rgba(255,255,255,0.65) 45%,
rgba(255,255,255,0.15) 65%,
rgba(255,255,255,0) 80%
);
}
/* content */

.hero-content{
position:relative;
max-width:520px;
margin-left:90px;
z-index:5;

animation:fadeUp 1.2s ease forwards;
}

.hero h1{
font-size:48px;
line-height:1.3;
color:#1F5F8E;
margin-bottom:20px;
}

.hero p{
font-size:16px;
line-height:1.7;
margin-bottom:30px;
color:#444;
}

/* buttons */

.hero-buttons{
display:flex;
gap:18px;
}

.btn{
padding:14px 30px;
border-radius:40px;
font-weight:500;
text-decoration:none;
transition:0.3s;
}

.primary{
background:#1F5F8E;
color:white;
}

.primary:hover{
transform:translateY(-3px);
box-shadow:0 10px 20px rgba(0,0,0,0.15);
}

.secondary{
background:#1E8E4A;
color:white;
}

.secondary:hover{
transform:translateY(-3px);
box-shadow:0 10px 20px rgba(0,0,0,0.15);
}

/* PRODUCTS */

/* SECTION */

.products{
padding:120px 0;
background:#f8fafc;
}

.section-title{
text-align:center;
font-size:34px;
margin-bottom:70px;
color:#1F5F8E;
}

/* GRID */

.product-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(320px,1fr));
gap:45px;
}

/* CARD */

.product-card{
background:white;
padding:45px;
border-radius:18px;

box-shadow:0 10px 30px rgba(0,0,0,0.05);

transition:all 0.4s ease;

position:relative;
overflow:hidden;
}

/* glow border */

.product-card::before{
content:"";
position:absolute;
top:0;
left:0;
width:100%;
height:3px;

background:linear-gradient(90deg,#1F5F8E,#1E8E4A);

opacity:0;
transition:0.4s;
}

/* hover effect */

.product-card:hover{
transform:translateY(-10px);
box-shadow:0 20px 45px rgba(0,0,0,0.12);
}

.product-card:hover::before{
opacity:1;
}

/* IMAGE */

.product-img1{
height:220px;

display:flex;
align-items:center;
justify-content:center;

margin-bottom:30px;
}

.product-img1 img{
max-height:200px;
max-width:100%;
object-fit:contain;

transition:0.35s;
}

.product-img2{
height:220px;

display:flex;
align-items:center;
justify-content:center;

margin-bottom:30px;
}

.product-img2 img{
max-height:200px;
max-width:100%;
object-fit:contain;

transition:0.35s;
}

/* subtle zoom */

.product-card:hover img{
transform:scale(1.05);
}

/* TEXT */

.product-card h3{
font-size:19px;
margin-bottom:12px;
}

.product-card p{
font-size:15px;
color:#555;
line-height:1.6;
margin-bottom:20px;
}

/* BUTTON */

.card-btn{
display:inline-block;
padding:14px 30px;

border-radius:30px;

background:#1F5F8E;
color:white;

text-decoration:none;
font-weight:500;

width:auto;            /* IMPORTANT */
}
.card-btn:hover{
background:#174a6d;
}
.about-section{

padding:120px 0;
background:white;

}

.about-grid{

display:grid;
grid-template-columns:1fr 1fr;
gap:70px;

align-items:start;

}

.about-content h2{

font-size:36px;
color:#1F5F8E;
margin-bottom:20px;

}

.about-content p{

font-size:16px;
line-height:1.7;
color:#555;
margin-bottom:20px;

}

.about-details{

display:flex;
flex-direction:column;
gap:30px;

}

.info-card{

background:#f8fafc;
padding:35px;

border-radius:14px;

box-shadow:0 8px 25px rgba(0,0,0,0.05);

transition:0.3s;

}

.info-card:hover{

transform:translateY(-5px);
box-shadow:0 15px 35px rgba(0,0,0,0.08);

}

.info-card h3{

color:#1F5F8E;
margin-bottom:15px;

}

.info-card p{

font-size:15px;
line-height:1.6;
color:#555;

}

.contact-section{
padding:120px 0;
background:linear-gradient(135deg,#f8fafc,#eef3f8);
}

.contact-title{
text-align:center;
font-size:36px;
color:#1F5F8E;
margin-bottom:60px;
}

.contact-wrapper{
display:grid;
grid-template-columns:1fr 1fr;
gap:60px;
align-items:center;
}

/* LEFT */

.contact-info{
font-size:16px;
color:#555;
}

.contact-desc{
margin-bottom:30px;
line-height:1.7;
}

.contact-item{
margin-bottom:15px;
font-weight:500;
}

/* CARD */

.contact-card{
background:rgba(255,255,255,0.7);
backdrop-filter:blur(12px);

padding:40px;
border-radius:18px;

box-shadow:0 20px 50px rgba(0,0,0,0.08);
}

/* INPUTS */

.input-group{
position:relative;
margin-bottom:25px;
}

.input-group input,
.input-group textarea{

width:100%;
padding:14px;
border:none;
outline:none;

border-bottom:2px solid #ddd;
background:transparent;

font-size:15px;
}

.input-group label{

position:absolute;
left:0;
top:12px;

color:#777;
font-size:14px;

transition:0.3s;
pointer-events:none;
}

/* floating effect */

.input-group input:focus + label,
.input-group input:valid + label,
.input-group textarea:focus + label,
.input-group textarea:valid + label{

top:-10px;
font-size:12px;
color:#1F5F8E;
}

/* BUTTON */

.send-btn{
position:relative;

background:#1F5F8E;
color:white;

padding:14px 28px;
border:none;
border-radius:30px;

cursor:pointer;
font-size:15px;

overflow:hidden;
transition:0.3s;
}

.send-btn:hover{
transform:translateY(-2px);
box-shadow:0 10px 25px rgba(0,0,0,0.2);
}

/* glow effect */

.btn-glow{
position:absolute;
top:0;
left:-100%;
width:100%;
height:100%;

background:linear-gradient(120deg,transparent,rgba(255,255,255,0.5),transparent);

transition:0.5s;
}

.send-btn:hover .btn-glow{
left:100%;
}
/* FOOTER */

footer{
background:#1F5F8E;
color:white;
padding:30px 0;
text-align:center;
}

/* ANIMATIONS */

@keyframes fadeUp{

0%{
opacity:0;
transform:translateY(30px);
}

100%{
opacity:1;
transform:translateY(0);
}

}
.particles{
position:absolute;
width:100%;
height:100%;
overflow:hidden;
z-index:2;
}

.particles::before,
.particles::after{
content:"";
position:absolute;
width:300px;
height:300px;

background:radial-gradient(circle, rgba(255,255,255,0.6), transparent);

animation:float 12s infinite linear;
}

.particles::before{
top:20%;
left:60%;
}

.particles::after{
top:60%;
left:75%;
animation-delay:5s;
}

@keyframes float{

0%{
transform:translateY(0px);
opacity:0.6;
}

50%{
transform:translateY(-80px);
opacity:1;
}

100%{
transform:translateY(0px);
opacity:0.6;
}

}

@keyframes fadeUp{

0%{
opacity:0;
transform:translateY(30px);
}

100%{
opacity:1;
transform:translateY(0);
}

}
html{
scroll-behavior:smooth;
}
section{
scroll-margin-top:100px;
}
.products-page{
padding:140px 0 80px;
background:#f8fafc;
}

.page-title{
text-align:center;
font-size:36px;
color:#1F5F8E;
margin-bottom:60px;
}
.product-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(320px,1fr));
gap:40px;
}

/* CARD */
.product-card{
background:white;
border-radius:18px;
padding:25px;

display:flex;
flex-direction:column;
justify-content:space-between;

height:100%;

box-shadow:0 10px 30px rgba(0,0,0,0.05);
transition:0.3s;
}

.product-card:hover{
transform:translateY(-8px);
box-shadow:0 20px 40px rgba(0,0,0,0.1);
}
/* IMAGE FIX */

.product-img{
height:240px;
display:flex;
align-items:center;
justify-content:center;

background:#f4f6f8;
border-radius:12px;

padding:20px;
margin-bottom:20px;
}

.product-img img{
width:100%;
height:100%;
object-fit:contain;
}

/* CONTENT */

.product-content{
padding:25px;
flex:1;
display:flex;
flex-direction:column;
justify-content:space-between;
}

.product-content h3{
margin-bottom:10px;
}

.product-content p{
font-size:14px;
color:#555;
margin-bottom:20px;
}

/* BUTTON */
.view-btn{
display:inline-block;

padding:10px 20px;
margin-top:15px;

background:#1F5F8E;
color:white;

border-radius:25px;
text-decoration:none;

font-size:14px;

align-self:flex-start;   /* IMPORTANT FIX */

transition:0.3s;
}

.view-btn:hover{
background:#174a6d;
}


/* PRODUCT PAGE  cleaner  */
/* ===============================
   PRODUCT PAGE (CLEAN PREMIUM)
================================ */

/* HERO */

.p-hero{
padding:140px 0 100px;
background:#f8fafc;
}

.p-hero-grid{
display:grid;
grid-template-columns:1fr 1fr;
gap:80px;
align-items:center;
}

/* IMAGE */

.p-img{
display:flex;
justify-content:center;
align-items:center;
}

.p-img img{
width:100%;
max-width:420px;

filter:drop-shadow(0 30px 50px rgba(0,0,0,0.2));

transition:0.4s ease;
}

.p-img img:hover{
transform:scale(1.05);
}

/* TEXT */

.p-content h1{
font-size:42px;
color:#1F5F8E;
margin-bottom:20px;
line-height:1.3;
}

.p-sub{
font-size:16px;
color:#555;
margin-bottom:25px;
line-height:1.7;
max-width:420px;
}

.p-features{
list-style:none;
padding:0;
}

.p-features li{
margin-bottom:10px;
font-weight:500;
color:#333;
}

/* ===============================
   FEATURE SECTIONS
================================ */

.p-section{
padding:120px 0;
}

.p-section:nth-child(even){
background:#f8fafc;
}

.p-flex{
display:grid;
grid-template-columns:1fr 1fr;
gap:70px;
align-items:center;
}

/* TEXT */

.p-text h2{
font-size:30px;
color:#1F5F8E;
margin-bottom:15px;
}

.p-text p{
font-size:15px;
color:#555;
line-height:1.7;
max-width:420px;
}

/* IMAGE */

.p-section .p-img img{
max-width:500px;
}

/* ===============================
   SPECIFICATIONS
================================ */

.p-spec{
padding:120px 0;
background:#ffffff;
text-align:center;
}

.p-spec h2{
font-size:32px;
color:#1F5F8E;
margin-bottom:40px;
}

.p-spec-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
gap:30px;
max-width:900px;
margin:auto;
}

.p-spec-grid div{
background:#f8fafc;
padding:25px;
border-radius:12px;

font-size:15px;

box-shadow:0 8px 20px rgba(0,0,0,0.05);

transition:0.3s;
}

.p-spec-grid div:hover{
transform:translateY(-5px);
box-shadow:0 15px 30px rgba(0,0,0,0.08);
}

/* ===============================
   ANIMATIONS (SUBTLE)
================================ */

.reveal{
opacity:0;
transform:translateY(40px);
transition:0.8s ease;
}

.reveal.active{
opacity:1;
transform:translateY(0);
}

/* ===============================
   RESPONSIVE
================================ */

@media(max-width:900px){

.p-hero-grid,
.p-flex{
grid-template-columns:1fr;
text-align:center;
}

.p-img img{
max-width:350px;
}

.p-text p,
.p-sub{
margin:auto;
}

}
/* PRODUCT PAGE */

/* HERO SECTION */
.p-hero{
position:relative;
padding:140px 0;
background:#f8fafc;
overflow:hidden; /* IMPORTANT */
}

