/* ==========================================================
   HERO.CSS
   Fradesign Global
   ========================================================== */

/* ==========================================================
   HERO
   ========================================================== */

.hero {

    padding-top: 140px;
    padding-bottom: 120px;

}

.hero .container {

    display: grid;

    grid-template-columns: 1.1fr .9fr;

    align-items: center;

    gap: var(--space-4xl);

}

/* ==========================================================
   HERO CONTENT
   ========================================================== */

.hero-content {

    max-width: 640px;

}

.hero .eyebrow {

    margin-bottom: var(--space-lg);

}

.hero h1 {

    margin-bottom: var(--space-lg);

}

.hero .lead {

    margin-bottom: var(--space-xl);

}

/* ==========================================================
   CTA
   ========================================================== */

.hero-ctas {

    display: flex;

    gap: var(--space-md);

    margin-top: var(--space-xl);

    flex-wrap: wrap;

}

/* ==========================================================
   TRUST LINE
   ========================================================== */

.trust-line {

    display: flex;

    flex-wrap: wrap;

    gap: var(--space-lg);

    margin-top: var(--space-2xl);

}

.trust-line span {

    display: inline-flex;

    align-items: center;

    gap: var(--space-xs);

    color: var(--color-text-light);

    font-size: var(--font-size-sm);

}

.trust-line span::before {

    content: "";

    width: 8px;

    height: 8px;

    border-radius: 50%;

    background: var(--color-primary);

}

/* ==========================================================
   HERO VISUAL
   ========================================================== */

.hero-visual {

    display: flex;

    justify-content: center;

    align-items: center;

}

.hero-image {

    width: 100%;

    max-width: 560px;

    border-radius: var(--radius-xl);

    overflow: hidden;

    box-shadow: var(--shadow-lg);

}

.hero-image img {

    width: 100%;

    display: block;

}

/* ==========================================================
   FLOATING CARD
   ========================================================== */

.hero-card {

    position: absolute;

    right: -30px;

    bottom: 30px;

    width: 220px;

    padding: var(--space-lg);

    background: var(--color-surface);

    border: 1px solid var(--color-border);

    border-radius: var(--radius-lg);

    box-shadow: var(--shadow-lg);

}

.hero-card strong {

    display: block;

    margin-bottom: var(--space-xs);

    color: var(--color-primary);

    font-size: var(--font-size-xl);

}

.hero-card p {

    margin: 0;

    font-size: var(--font-size-sm);

}

/* ==========================================================
   BACKGROUND SHAPE
   ========================================================== */

.hero::before {

    content: "";

    position: absolute;

    top: 0;

    right: 0;

    width: 520px;

    height: 520px;

    background: radial-gradient(
        circle,
        rgba(31,111,92,.08),
        transparent 70%
    );

    pointer-events: none;

    z-index: -1;

}

/* ==========================================================
   RESPONSIVE
   ========================================================== */

@media (max-width: 1024px) {

    .hero .container {

        grid-template-columns: 1fr;

        text-align: center;

    }

    .hero-content {

        max-width: 100%;

    }

    .hero-ctas {

        justify-content: center;

    }

    .trust-line {

        justify-content: center;

    }

    .hero-visual {

        order: -1;

    }

}

@media (max-width: 768px) {

    .hero {

        padding-top: 110px;

        padding-bottom: 72px;

    }

    .hero-card {

        position: static;

        width: 100%;

        margin-top: var(--space-lg);

    }

}

@media (max-width: 480px) {

    .hero-ctas {

        flex-direction: column;

    }

    .trust-line {

        flex-direction: column;

        align-items: center;

        gap: var(--space-sm);

    }

}