.hero {
  min-height: 88vh; display: flex; align-items: center; justify-content: center;
  padding: 80px 24px 60px; text-align: center;
}
.hero-inner { max-width: 720px; }
.hero-title { margin: 16px 0 20px; }
.hero-sub { font-size: 1.08rem; color: var(--text-mid); max-width: 560px; margin: 0 auto 36px; line-height: 1.8; }
.hero-actions { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; margin-bottom: 28px; }
.hero-trust { display: flex; gap: 24px; justify-content: center; flex-wrap: wrap; color: var(--muted); font-size: .85rem; font-family: var(--font-head); font-weight: 600; }

.services-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 22px; }
.service-card { padding: 36px 30px; display: flex; flex-direction: column; }
.service-icon { font-size: 2.2rem; margin-bottom: 16px; }
.service-card h3 { margin-bottom: 10px; }
.service-card p { flex: 1; }

.about-section { background: rgba(255,255,255,0.20); border-top: 1px solid rgba(255,255,255,0.55); border-bottom: 1px solid rgba(255,255,255,0.55); padding: 60px 0; }
.about-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; align-items: center; }
@media(max-width:768px) { .about-grid { grid-template-columns: 1fr; } }
.about-text { padding: 40px; }
.about-image-wrap { display: flex; justify-content: center; }
.about-image-placeholder { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 60px 40px; width: 100%; max-width: 340px; text-align: center; }

.blog-preview-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 20px; }
.blog-preview-card { text-decoration: none; color: inherit; display: flex; flex-direction: column; overflow: hidden; transition: all .22s; }
.blog-preview-card:hover { transform: translateY(-4px); box-shadow: 0 16px 48px rgba(26,92,84,0.16); }
.blog-preview-card img, .blog-preview-placeholder { width: 100%; height: 180px; object-fit: cover; border-radius: var(--r-lg) var(--r-lg) 0 0; }
.blog-preview-placeholder { background: linear-gradient(135deg, rgba(58,173,160,0.2), rgba(42,138,126,0.1)); }
.blog-preview-body { padding: 20px 22px; flex: 1; }
.blog-preview-date { font-family: var(--font-head); font-size: .72rem; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase; color: var(--muted); margin-bottom: 8px; }
.blog-preview-body h4 { margin-bottom: 8px; line-height: 1.4; }
.blog-preview-body p { font-size: .88rem; color: var(--muted); line-height: 1.6; }
