/* Homepage layout improvements: hero, cards, grids, spacing */
.container { max-width: 1180px; margin: 0 auto; padding: 0 20px; }
.hero-section { padding: 72px 0; background: linear-gradient(180deg,#fff 0%, #f7fbff 100%); }
.hero-title { font-size: 44px; line-height: 1.03; margin-bottom: 16px; color: #0b1220; font-weight: 800; }
.hero-subtitle { color: #475569; font-size: 16px; margin-bottom: 22px; max-width: 46rem; white-space: pre-wrap; }
.btn-primary-large { background: linear-gradient(90deg,#0ea5a4,#0b8f8b); color: #fff; padding: 12px 18px; border-radius: 12px; font-weight: 800; box-shadow: 0 10px 30px rgba(14,165,164,0.12); display: inline-block; }

.property-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.property-card img { width: 100%; height: 160px; object-fit: cover; border-radius: 12px; display: block; transition: transform .35s ease, box-shadow .35s ease; }
.property-card:hover img { transform: translateY(-6px); box-shadow: 0 14px 40px rgba(2,6,23,0.12); }
.investor-badge { background: rgba(2,6,23,0.7); color: #fff; padding: 6px 10px; border-radius: 10px; font-weight: 700; font-size: 12px; }

.investment-highlights-section { padding-top: 36px; }
.section-title { font-size: 28px; font-weight: 800; margin-bottom: 8px; color: #0b1220; }
.section-description { color: #64748b; font-size: 15px; }
.cta-card { border-radius: 12px; box-shadow: 0 10px 30px rgba(2,6,23,0.04); }

.image-grid-3 { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; }
.image-card img { width: 100%; height: 220px; object-fit: cover; border-radius: 12px; }

.stats-section { display:flex; gap:18px; margin-top: 28px; }
.stat-item { background: #fff; padding: 18px; border-radius: 10px; flex: 1; text-align: center; box-shadow: 0 8px 26px rgba(2,6,23,0.04); }
.stat-item h3 { margin: 0; font-size: 20px; }

.portfolio-title { font-size: 28px; font-weight: 800; }
.btn-browse { background: transparent; border: 2px solid #0ea5a4; color: #0ea5a4; padding: 8px 14px; border-radius: 10px; }

.card .btn { border-radius: 10px; padding: 10px; font-weight:700; }

/* marquee adjustments */
.marquee-container { gap: 48px; }

/* responsive */
@media (max-width: 991px) {
    .hero-title { font-size: 30px; }
    .property-grid { grid-template-columns: 1fr 1fr; }
    .image-grid-3 { grid-template-columns: 1fr; }
    .stats-section { flex-direction: column; }
}

/* subtle global link/button hover */
a.btn-primary-large:hover, .btn-browse:hover { transform: translateY(-3px); }

/* small utility to tighten spacing between major sections */
section { padding-bottom: 36px; }
