/* Homepage-only additions on top of ez-theme.css */

.ez-hero {
    position: relative;
    overflow: hidden;
    padding: 150px 0 90px;
    background: linear-gradient(135deg, var(--ez-blue-dark) 0%, var(--ez-blue) 60%, #1279c4 100%);
    color: #fff;
}

.ez-hero-grid { display: flex; align-items: center; flex-wrap: wrap; gap: 40px; }
.ez-hero-copy { flex: 1 1 460px; min-width: 300px; }
.ez-hero-art { flex: 1 1 380px; min-width: 280px; text-align: center; }

.ez-hero h1 { font-size: 44px; line-height: 1.15; margin: 0 0 18px; color: #fff; }
.ez-hero h1 span { color: #ffd166; }

.ez-hero p.lead {
    font-size: 18px; line-height: 1.6; color: rgba(255,255,255,0.88);
    max-width: 480px; margin: 0 0 30px;
}

.ez-hero-ctas { display: flex; gap: 14px; flex-wrap: wrap; margin-bottom: 34px; }

.ez-hero-stats { display: flex; gap: 34px; flex-wrap: wrap; }
.ez-hero-stats div b { display: block; font-size: 24px; font-family: 'Poppins', sans-serif; font-weight: 700; }
.ez-hero-stats div span { font-size: 13px; color: rgba(255,255,255,0.75); }

.ez-hero-art svg { max-width: 420px; width: 100%; height: auto; }

/* The homepage's rate-check card overlaps the hero, unlike .ez-card elsewhere */
.ez-hero + .container .ez-rate-card {
    margin: -56px auto 80px;
}

@media (max-width: 767px) {
    .ez-hero { padding: 120px 0 60px; }
    .ez-hero h1 { font-size: 32px; }
    .ez-hero + .container .ez-rate-card { margin-top: -30px; }
}
