* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: 'Inter', sans-serif;
    background: #F8FAFC;
    color: #1e293b;
    line-height: 1.6;
}

.container {
    width: min(1200px, 92%);
    margin: auto;
}

header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    background: white;
    box-shadow: 0 5px 20px rgba(0, 0, 0, .08);
    z-index: 999;
}

nav {
    height: 80px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.logo {
    font-size: 28px;
    font-weight: 800;
    color: #0F172A;
}

.menu {
    display: flex;
    gap: 35px;
}

.menu a {
    text-decoration: none;
    color: #334155;
    font-weight: 600;
}

.cta {
    background: #22C55E;
    color: white;
    padding: 14px 26px;
    border-radius: 8px;
    text-decoration: none;
    font-weight: 700;
    transition: .3s;
}

.cta:hover {
    background: #16a34a;
}


a.link {
    text-decoration: none;
    color: #334155;
}

.hero {

    padding-top: 150px;
    padding-bottom: 90px;

    background: linear-gradient(rgba(15, 23, 42, .22), rgba(15, 23, 42, .72)), url("/img/photo.jpg");

    background-size: cover;
    background-position: center;

    color: white;
}

.hero-grid {

    display: grid;
    grid-template-columns: 1.2fr .8fr;
    gap: 60px;
    align-items: center;

}

.hero h1 {

    font-size: 58px;
    line-height: 1.1;
    margin-bottom: 25px;

}

.hero p {

    font-size: 20px;
    opacity: .9;
    margin-bottom: 40px;

}

.hero-form {

    background: white;
    padding: 35px;
    border-radius: 16px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, .25);

}

.hero-form h3 {

    color: #0F172A;
    margin-bottom: 25px;

}

.hero-form input,
.hero-form select,
.hero-form textarea {

    width: 100%;
    padding: 15px;
    margin-bottom: 15px;

    border: 1px solid #dbe4ee;
    border-radius: 10px;

    font-size: 15px;

}

.hero-form button {

    width: 100%;
    padding: 16px;

    background: #22C55E;
    color: white;

    border: none;

    border-radius: 10px;

    font-size: 18px;
    font-weight: bold;

    cursor: pointer;

}

section {

    padding: 90px 0;

}

.section-title {

    text-align: center;
    font-size: 42px;
    margin-bottom: 20px;

}

.section-sub {

    text-align: center;
    color: #64748B;
    margin-bottom: 60px;

}

.features {

    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 30px;

}

.card {

    background: white;
    padding: 35px;
    border-radius: 15px;
    text-align: center;
    box-shadow: 0 10px 35px rgba(0, 0, 0, .05);
    transition: .3s;

}

.card:hover {

    transform: translateY(-8px);

}

.card i {

    font-size: 42px;
    color: #22C55E;
    margin-bottom: 20px;

}

.steps {

    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 25px;

}

.step {

    text-align: center;

}

.number {

    width: 70px;
    height: 70px;

    margin: auto;

    border-radius: 50%;

    background: #22C55E;

    display: flex;
    justify-content: center;
    align-items: center;

    font-size: 26px;
    font-weight: bold;
    color: white;

    margin-bottom: 15px;

}

.properties {

    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 30px;

}

.property {

    background: white;
    border-radius: 15px;
    padding: 40px;
    text-align: center;
    box-shadow: 0 10px 30px rgba(0, 0, 0, .05);

}

.stats {

    background: #0F172A;
    color: white;

}

.stats-grid {

    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;

}

.stat {

    text-align: center;

}

.stat h2 {

    font-size: 54px;
    color: #22C55E;

}

.reviews {

    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 30px;

}

.review {

    background: white;
    padding: 35px;
    border-radius: 15px;

    box-shadow: 0 10px 30px rgba(0, 0, 0, .05);

}

.contact {

    background: white;

}

footer {

    background: #0F172A;
    color: white;
    padding: 30px;

    text-align: center;

}

.success-box{
    background:#f0fdf4;
    border:1px solid #22c55e;
    border-radius:12px;
    padding:35px;
    text-align:center;
    color:#16a34a;
}

.success-box h2{
    color:#16a34a;
    margin-bottom:10px;
}



@media(max-width:900px) {

    .hero-grid {

        grid-template-columns: 1fr;

    }

    .hero h1 {

        font-size: 42px;

    }

    .steps {

        grid-template-columns: 1fr;

    }

    .stats-grid {

        grid-template-columns: repeat(2, 1fr);

    }

    .menu {

        display: none;

    }

}

.gallery{

    padding:120px 0;

    background:white;

    overflow:hidden;

}

.housesSwiper{

    width:100%;

    padding:60px 0;

}

.housesSwiper .swiper-slide{

    transition:.4s;

    transform:scale(.75);

    opacity:.45;

}

.housesSwiper .swiper-slide-active{

    transform:scale(1);

    opacity:1;

}

.housesSwiper img{

    width:100%;

    height:550px;

    object-fit:cover;

    border-radius:26px;

    box-shadow:0 20px 60px rgba(0,0,0,.18);

}

.swiper-button-next,
.swiper-button-prev{

    color:#22C55E;

    width:60px;
    height:60px;

}

.swiper-button-next::after,
.swiper-button-prev::after{

    font-size:32px;

    font-weight:bold;

}

@media(max-width:900px){

    .housesSwiper img{

        height:280px;

    }

}