/* Hero Banner */
.mf-hero { position: relative; width: 100%; height: 60vh; min-height: 400px; max-height: 650px; background-size: cover; background-position: center top; border-radius: var(--mf-radius-xl); overflow: hidden; display: flex; align-items: flex-end; margin-bottom: var(--mf-space-3xl); border: 1px solid rgba(255,255,255,0.08); box-shadow: 0 12px 36px rgba(0,0,0,0.5); }
.hero-gradient { position: absolute; inset: 0; background: linear-gradient(to top, var(--mf-bg) 0%, rgba(10,10,10,0.4) 50%, transparent 100%); }
.hero-content { position: relative; z-index: 2; padding: var(--mf-space-2xl); max-width: 650px; }
.hero-title { font-size: var(--mf-font-size-4xl); font-weight: var(--mf-font-weight-extrabold); margin-bottom: var(--mf-space-sm); text-shadow: 0 2px 10px rgba(0,0,0,0.5); line-height: var(--mf-line-height-tight); }
.hero-desc { font-size: var(--mf-font-size-base); color: var(--mf-text-secondary); margin-bottom: var(--mf-space-lg); line-height: var(--mf-line-height-relaxed); text-shadow: 0 1px 4px rgba(0,0,0,0.5); }
.hero-actions { display: flex; gap: var(--mf-space-md); flex-wrap: wrap; }
@media (max-width: 767px) {
    .mf-hero { height: 50vh; min-height: 300px; }
    .hero-title { font-size: var(--mf-font-size-2xl); }
    .hero-content { padding: var(--mf-space-lg); }
}
