/* Explain: Styles for page layout, process lines, and mobile responsiveness. - */
.process-line {
    position: relative;
}

@media (min-width: 1024px) {
    .process-line::before {
        content: "";
        position: absolute;
        left: 8%;
        right: 8%;
        top: 3.5rem;
        height: 1px;
        background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--primary-color) 62%, transparent), transparent);
    }

    .process-line > article {
        z-index: 1;
    }
}

@media (max-width: 640px) {
    .hero-cinematic h1 {
        text-wrap: balance;
    }

    .service-card,
    .project-card,
    .timeline-card {
        min-height: auto;
    }

    /* Mobile readability improvements */
    p {
        font-size: 1.05rem;
        line-height: 1.65;
    }

    .py-20 {
        padding-top: 3.5rem !important;
        padding-bottom: 3.5rem !important;
    }

    .mt-12, .mb-12 {
        margin-top: 2rem !important;
        margin-bottom: 2rem !important;
    }

    .mt-14 {
        margin-top: 2.5rem !important;
    }

    .text-4xl {
        font-size: 2rem !important;
        line-height: 1.25 !important;
    }
}
