/* ================= HERO ================= */

.hero{
height:500px;
background:url("../images/iot banner.gif") center/cover no-repeat;
position:relative;
display:flex;
align-items:center;
justify-content:center;
text-align:center;
overflow:hidden;
}

.hero::after{
content:"";
position:absolute;
inset:0;
background:rgba(0,0,0,0.25);
}

.hero-content{
position:relative;
color:#fff;
z-index:2;
animation:fadeUp 1s ease;
}

.hero-content h1{
font-size:44px;
font-weight:700;
margin-bottom:10px;
}

.breadcrumb{
font-size:14px;
opacity:0.9;
}

/* ================= INTRO ================= */

.intro{
padding:60px 0;
}

.intro-row{
display:flex;
align-items:center;
gap:60px;
flex-wrap:wrap;
}

.intro-img{
flex:1;
text-align:center;
animation:fadeLeft 1s ease;
}

.intro-img img{
width:100%;
max-width:400px;
transition:transform .4s ease;
}

.intro-img img:hover{
transform:scale(1.05) rotate(2deg);
}

.intro-text{
flex:1;
max-width:550px;
animation:fadeRight 1s ease;
}

.intro-text h2{
font-size:28px;
font-weight:600;
margin-bottom:15px;
}

.intro-text p{
font-size:14px;
margin-bottom:12px;
text-align:justify;
line-height:1.8;
color:#555;
}

/* ================= FEATURES ================= */

.features{
padding:50px 0 70px;
}

.feature-line{
position:relative;
display:flex;
justify-content:space-between;
gap:30px;
flex-wrap:wrap;
}

.feature-line::before{
content:"";
position:absolute;
top:28px;
left:5%;
right:5%;
height:2px;
background:#cfcfcf;
z-index:-1;
}

.feature{
flex:1;
min-width:260px;
max-width:320px;
text-align:left;
padding:15px;
border-radius:14px;
transition:.4s;
position:relative;
overflow:hidden;
animation:fadeUp 1s ease;
}

/* shine effect */
.feature::before{
content:"";
position:absolute;
inset:0;
background:linear-gradient(120deg,transparent,rgba(255,255,255,0.5),transparent);
transform:translateX(-100%);
transition:.6s;
}

.feature:hover::before{
transform:translateX(100%);
}

.feature:hover{
transform:translateY(-10px);
box-shadow:0 15px 30px rgba(0,0,0,0.1);
background:#f9fbff;
}

.feature-icon{
width:55px;
height:55px;
background:#B0CDEE;
border-radius:12px;
display:flex;
align-items:center;
justify-content:center;
margin-bottom:12px;
transition:.3s;
}

.feature:hover .feature-icon{
background:#4f91ee;
box-shadow:0 0 12px #4f91ee;
}

.feature-icon img{
width:35px;
}

.feature h4{
font-size:15px;
margin-bottom:8px;
font-weight:600;
}

.feature p{
font-size:13px;
color:#555;
line-height:1.6;
}

/* ================= ANIMATIONS ================= */

@keyframes fadeUp{
from{
opacity:0;
transform:translateY(40px);
}
to{
opacity:1;
transform:translateY(0);
}
}

@keyframes fadeLeft{
from{
opacity:0;
transform:translateX(-60px);
}
to{
opacity:1;
transform:translateX(0);
}
}

@keyframes fadeRight{
from{
opacity:0;
transform:translateX(60px);
}
to{
opacity:1;
transform:translateX(0);
}
}

/* ================= RESPONSIVE ================= */

/* tablets */
@media(max-width:992px){

.hero{
height:400px;
}

.hero-content h1{
font-size:34px;
}

.intro-row{
flex-direction:column;
text-align:center;
}

.intro-text{
max-width:100%;
}

.feature-line{
justify-content:center;
}

}

/* mobiles */
@media(max-width:768px){

.hero{
height:350px;
}

.hero-content h1{
font-size:28px;
}

/* 🔥 FIX: center icons + content */
.feature{
text-align:center;
}

.feature-icon{
margin: 0 auto 12px;
}

/* remove line */
.feature-line::before{
display:none;
}

}

/* small mobiles */
@media(max-width:576px){

.hero{
height:300px;
}

.hero-content h1{
font-size:24px;
}

.breadcrumb{
font-size:12px;
}

.intro-text h2{
font-size:22px;
}

}