@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&display=swap');

*{
margin:0;
padding:0;
box-sizing:border-box;
font-family:Outfit,sans-serif;
}

html{

scroll-behavior:smooth;

}

body{

background:#f4f7fb;
color:#222;

}

header{

background:linear-gradient(130deg,#0f172a,#1e293b,#334155);
padding:40px 8%;
color:white;

}

.navbar{

display:flex;
justify-content:space-between;
align-items:center;

}

.logo{

font-size:28px;
font-weight:800;

}

.logo span{

color:#38bdf8;

}

ul{

display:flex;
gap:35px;
list-style:none;

}

ul a{

color:white;
text-decoration:none;

}

.btn{

padding:12px 24px;
background:#38bdf8;
border-radius:40px;
text-decoration:none;
color:white;

}

.hero{

display:grid;
grid-template-columns:1fr 1fr;
align-items:center;
gap:70px;
margin-top:70px;

}

.badge{

display:inline-flex;
gap:10px;
background:rgba(255,255,255,.12);
padding:10px 20px;
border-radius:30px;
margin-bottom:25px;

}

.hero h1{

font-size:60px;
line-height:1.1;
margin-bottom:20px;

}

.hero p{

opacity:.9;
line-height:1.8;

}

.hero-buttons{

display:flex;
gap:20px;
margin-top:40px;

}

.primary-btn,.secondary-btn{

padding:15px 30px;
border-radius:50px;
text-decoration:none;

}

.primary-btn{

background:#38bdf8;
color:white;

}

.secondary-btn{

border:2px solid white;
color:white;

}

.hero-right img,
.about-image img{

width:100%;
height:450px;
object-fit:cover;
border-radius:35px;
display:block;

}

.gallery-item img{

width:100%;
height:100%;
object-fit:cover;
border-radius:25px;
display:block;

}

.floating-cards{

display:grid;
grid-template-columns:repeat(3,1fr);
gap:30px;
margin:100px auto 80px;
padding:0 8%;

}

.floating-card{

background:white;
padding:40px;
border-radius:25px;
box-shadow:0 20px 50px rgba(0,0,0,.08);

}

.floating-card i{

font-size:45px;
color:#38bdf8;
margin-bottom:20px;

}

.about{

padding:80px 8%;
display:grid;
grid-template-columns:1fr 1fr;
gap:60px;
align-items:center;

}

.about span{

color:#38bdf8;
font-weight:700;

}

.about h2{

font-size:42px;
margin:20px 0;

}

.features{

display:grid;
grid-template-columns:repeat(2,1fr);
gap:20px;
margin-top:30px;

}

.features div{

background:white;
padding:20px;
border-radius:20px;
box-shadow:0 10px 30px rgba(0,0,0,.05);

}

.features i{

color:#38bdf8;
margin-right:10px;

}

.services{

padding:100px 8%;
background:white;

}

.title{

text-align:center;
margin-bottom:60px;

}

.title h2{

font-size:45px;

}

.service-grid{

display:grid;
grid-template-columns:repeat(3,1fr);
gap:30px;

}

.service-card{

background:#f8fafc;
padding:45px;
border-radius:25px;
transition:.3s;

}

.service-card:hover{

transform:translateY(-10px);

}

.service-card i{

font-size:50px;
color:#38bdf8;
margin-bottom:20px;

}

.gallery{

padding:100px 8%;

}

.gallery-grid{

display:grid;
grid-template-columns:repeat(4,1fr);
gap:25px;

}

.gallery-item{

height:280px;
border-radius:25px;
background:white;
overflow:hidden;
box-shadow:0 15px 40px rgba(0,0,0,.08);

}

.faq{

padding:100px 8%;
background:white;

}

.faq-list{

max-width:800px;
margin:0 auto;
display:flex;
flex-direction:column;
gap:15px;

}

.faq-item{

background:#f8fafc;
border-radius:20px;
overflow:hidden;
box-shadow:0 10px 30px rgba(0,0,0,.05);

}

.faq-item summary{

padding:25px 30px;
cursor:pointer;
font-size:18px;
font-weight:600;
list-style:none;
display:flex;
justify-content:space-between;
align-items:center;
transition:.3s;

}

.faq-item summary::-webkit-details-marker{

display:none;

}

.faq-item summary::after{

content:'\f078';
font-family:'Font Awesome 6 Free';
font-weight:900;
color:#38bdf8;
transition:.3s;

}

.faq-item[open] summary::after{

transform:rotate(180deg);

}

.faq-item p{

padding:0 30px 25px;
color:#555;
line-height:1.7;

}

.contact{

padding:100px 8%;

}

.contact-box{

background:linear-gradient(135deg,#0f172a,#1e293b);
padding:60px;
border-radius:30px;
color:white;

}

.info{

display:grid;
grid-template-columns:repeat(2,1fr);
gap:25px;
margin-top:40px;

}

.info i{

color:#38bdf8;
width:30px;

}

.contact-form-box{

background:white;
padding:60px;
border-radius:30px;
margin-top:40px;
box-shadow:0 20px 50px rgba(0,0,0,.08);

}

.contact-form-box h2{

margin-bottom:30px;

}

.form-row{

display:grid;
grid-template-columns:1fr 1fr;
gap:20px;
margin-bottom:20px;

}

.contact-form-box input,
.contact-form-box textarea{

width:100%;
padding:15px 20px;
border:1px solid #ddd;
border-radius:12px;
font-size:16px;
font-family:Outfit,sans-serif;
outline:none;
transition:.3s;

}

.contact-form-box input:focus,
.contact-form-box textarea:focus{

border-color:#38bdf8;
box-shadow:0 0 0 3px rgba(56,189,248,.15);

}

.contact-form-box textarea{

margin-bottom:20px;
resize:vertical;

}

.submit-btn{

padding:15px 35px;
background:#38bdf8;
color:white;
border:none;
border-radius:50px;
font-size:16px;
font-weight:600;
cursor:pointer;
transition:.3s;

}

.submit-btn:hover{

background:#0ea5e9;

}

footer{

padding:30px;
text-align:center;
background:#0f172a;
color:white;

}

@media(max-width:900px){

.hero,
.about,
.service-grid,
.gallery-grid,
.info,
.floating-cards,
.form-row{

grid-template-columns:1fr;

}

.hero h1{

font-size:42px;

}

.navbar{

flex-direction:column;
gap:25px;

}

ul{

flex-wrap:wrap;
justify-content:center;

}

}