/* COMPONENTS */

.glass{
background:rgba(255,255,255,.12);
backdrop-filter:blur(15px);
border:1px solid rgba(255,255,255,.2);
border-radius:22px
}

.card-hover{
transition:.35s
}

.card-hover:hover{
transform:translateY(-10px);
box-shadow:0 20px 45px rgba(0,0,0,.12)
}

.badge{
display:inline-flex;
align-items:center;
padding:7px 18px;
border-radius:50px;
background:#e8f3f5;
color:var(--secondary);
font-size:13px;
font-weight:700
}


/* PAGE HERO */

.page-hero{
min-height:420px;
background:linear-gradient(120deg,#041d2a,var(--primary));
display:flex;
align-items:center;
justify-content:center;
text-align:center;
color:#fff;
padding-top:90px
}

.page-hero h1{
font-size:45px;
font-weight:900
}

.page-hero p{
max-width:700px;
margin:20px auto;
color:#dce7ea
}


/* SERVICE DETAIL */

.detail-grid{
display:grid;
grid-template-columns:1fr 1fr;
gap:45px;
align-items:center
}

.detail-image{
height:350px;
background:linear-gradient(135deg,var(--primary),var(--secondary));
border-radius:30px
}

.detail-content h2{
color:var(--primary);
font-size:35px;
margin-bottom:20px
}

.detail-content p{
color:#555;
margin-bottom:15px
}

.check-list li{
display:flex;
gap:12px;
align-items:center;
margin:12px 0;
color:#444
}

.check-list i{
color:var(--accent)
}


/* ICON BOX */

.icon-circle{
width:80px;
height:80px;
border-radius:50%;
background:#eaf3f5;
color:var(--primary);
display:flex;
align-items:center;
justify-content:center;
font-size:35px;
margin-bottom:20px
}


/* TEAM */

.team-grid{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:25px
}

.team-card{
background:#fff;
border-radius:22px;
overflow:hidden;
box-shadow:var(--shadow);
text-align:center;
transition:.3s
}

.team-card:hover{
transform:translateY(-8px)
}

.team-photo{
height:250px;
background:linear-gradient(135deg,#dbeafe,#ccfbf1)
}

.team-card h3{
color:var(--primary);
margin:20px 0 5px
}

.team-card span{
font-size:14px;
color:#777
}

.team-card p{
font-size:14px;
padding:15px;
color:#666
}


/* PROJECT */

.project-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:30px
}

.project-card{
background:#fff;
padding:30px;
border-radius:22px;
box-shadow:var(--shadow)
}

.project-card h3{
color:var(--primary);
margin-bottom:15px
}

.project-meta{
display:flex;
gap:10px;
flex-wrap:wrap
}

.project-meta span{
background:#edf6f7;
padding:5px 12px;
border-radius:20px;
font-size:12px;
color:var(--secondary)
}


/* FAQ */

.faq-item{
background:#fff;
border-radius:18px;
margin-bottom:15px;
padding:20px;
box-shadow:0 5px 20px rgba(0,0,0,.05)
}

.faq-title{
display:flex;
justify-content:space-between;
align-items:center;
cursor:pointer;
color:var(--primary);
font-weight:700
}

.faq-content{
display:none;
padding-top:15px;
color:#666
}

.faq-item.active .faq-content{
display:block
}


/* FORM */

.contact-grid{
display:grid;
grid-template-columns:1fr 1fr;
gap:40px
}

.form-box{
background:#fff;
padding:35px;
border-radius:25px;
box-shadow:var(--shadow)
}

.form-group{
margin-bottom:20px
}

.form-group label{
display:block;
margin-bottom:8px;
color:var(--primary);
font-weight:600
}

.form-control{
width:100%;
border:1px solid #ddd;
padding:14px;
border-radius:12px;
font-family:inherit
}

.form-control:focus{
outline:none;
border-color:var(--secondary)
}

textarea.form-control{
height:150px;
resize:none
}


/* DOWNLOAD */

.download-box{
background:linear-gradient(120deg,var(--primary),var(--secondary));
color:#fff;
padding:35px;
border-radius:25px;
display:flex;
justify-content:space-between;
align-items:center
}

.download-box a{
background:var(--accent);
padding:12px 25px;
border-radius:50px
}


/* SEARCH */

.search-box{
background:#fff;
padding:25px;
border-radius:20px;
box-shadow:var(--shadow);
display:flex;
gap:15px
}

.search-box input{
flex:1;
border:0;
background:#f4f7f8;
padding:15px;
border-radius:10px
}


/* SOCIAL */

.social{
display:flex;
gap:12px
}

.social a{
width:40px;
height:40px;
border-radius:50%;
display:flex;
align-items:center;
justify-content:center;
background:#fff;
color:var(--primary)
}


/* ANIMATION */

.fade-up{
opacity:0;
transform:translateY(40px);
transition:.7s
}

.fade-up.show{
opacity:1;
transform:none
}

.scale-in{
transform:scale(.8);
opacity:0;
transition:.7s
}

.scale-in.show{
transform:scale(1);
opacity:1
}


/* MOBILE */

@media(max-width:992px){

.detail-grid,
.contact-grid{
grid-template-columns:1fr
}

.team-grid{
grid-template-columns:repeat(2,1fr)
}

.project-grid{
grid-template-columns:repeat(2,1fr)
}

.download-box{
flex-direction:column;
gap:20px;
text-align:center
}

}


@media(max-width:600px){

.team-grid,
.project-grid{
grid-template-columns:1fr
}

.page-hero h1{
font-size:32px
}

.detail-content h2{
font-size:28px
}

}