/* home.css — Homepage-specific: hero, solution grid, product stack, stats, workflow */

/* Homepage hero extends base hero with taller height */
.hero-home .display-title { margin-bottom: var(--space-md); }
.hero-home .lead {
    font-size: 1.05rem;
    color: rgba(255, 255, 255, .88);
    max-width: 620px
}

.hero-home .hero-eyebrow {
    color: #b7d3f5
}

.hero-home .hero-actions { margin-top: 1.75rem !important; }
.hero-home .hero-meta { margin-top: 2.25rem !important; }

/* Stats strip */
.stats-strip { border-top: var(--border-default); border-bottom: var(--border-default); }
.stats-strip .stat-flat { text-align: center; }

/* Solution grid section */
.solution-grid { margin-top: var(--space-md); }
.solution-grid .col-lg-4 { display: flex; }

/* Command workflow section */
.workflow-section .process-card { position: relative; }

    .workflow-section .process-card::after {
        content: "";
        position: absolute;
        top: 50%;
        right: -17px;
        transform: translateY(-50%);
        width: 34px;
        height: 34px;
        border-radius: 50%;
        background-color: #fff;
        border: 1px solid rgba(3, 70, 148, .22);
        box-shadow: 0 6px 14px rgba(3, 70, 148, .12);
        background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23034694' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'><polyline points='9 6 15 12 9 18'/></svg>");
        background-repeat: no-repeat;
        background-position: center;
        background-size: 14px 14px;
        z-index: 5;
        transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
    }

.workflow-section .process-card:hover::after {
    transform: translateY(-50%) translateX(2px);
    border-color: rgba(3, 70, 148, .4);
    box-shadow: 0 8px 18px rgba(3, 70, 148, .16);
}

.workflow-section .col-lg-3:last-child .process-card::after { display: none; }

/* Product stack cards */
.product-card { transition: transform 0.2s ease, box-shadow 0.2s ease; }
.product-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 22px 50px rgba(3, 70, 148, 0.1);
}
.product-card i { margin-bottom: var(--space-md); display: block; }

/* Industry focus (homepage) */
.home-industry-focus .badge-soft { transition: background 0.2s ease; }
.home-industry-focus .badge-soft:hover { background: var(--color-tint-9); }

/* Align the contained image flush to the left so it lines up with the layout */
.home-industry-focus .image-panel img {
    object-position: left center;
}

@media (max-width: 991px) {
    .workflow-section .process-card::after { display: none; }

    .image-panel-tall {
        min-height: 320px;
    }
}

/* Read More toggle */
.btn-read-more {
    display: inline-flex;
    align-items: center;
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--color-primary);
    cursor: pointer;
    margin-bottom: 1rem;
    transition: color 0.2s ease, opacity 0.3s ease;
}

.btn-read-more:hover {
    color: var(--color-dark);
}

.btn-read-more i {
    transition: transform 0.25s ease;
}

.btn-read-more.is-expanded i {
    transform: rotate(90deg);
}

.read-more-content {
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    transform: translateY(-10px);
    transition: max-height 0.5s ease,
                opacity 0.35s ease 0.05s,
                transform 0.35s ease 0.05s;
}

.read-more-content.is-visible {
    opacity: 1;
    transform: translateY(0);
}

/* Image panel that matches content height */
.image-panel-match {
    position: relative;
    width: 100%;
    min-height: 360px;
    background: #f6f9fc;
    overflow: hidden;
    border: var(--border-default);
    box-shadow: var(--shadow-lg);
    border-radius: var(--radius-image);
}

.image-panel-match img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

@media (max-width: 575.98px) {
    .image-panel-tall {
        min-height: 240px;
    }
    .image-panel-match {
        min-height: 220px;
    }
}
