/* === css/responsive.css === */
@media (max-width: 1024px) {
    #hero {
        grid-template-columns: 1fr;
        text-align: center;
        gap: 40px;
        padding-top: 60px;
        min-height: auto;
    }
    #hero .hero-text {
        align-items: center;
        order: 1;
    }
    #hero .hero-text .section-subtitle {
        max-width: 480px;
        margin-left: auto;
        margin-right: auto;
    }
    #hero .hero-phone {
        order: 2;
    }
    .features-grid {
        gap: 20px;
    }
    .steps-row {
        justify-content: center;
    }
}

@media (max-width: 768px) {
    .section {
        padding: 60px 0;
        padding-inline: 20px;
    }
    .features-grid {
        grid-template-columns: 1fr;
        gap: 18px;
    }
    .feature-card {
        padding: 28px 24px;
    }
    .steps-row {
        flex-direction: column;
        align-items: center;
    }
    .step {
        max-width: 400px;
        width: 100%;
    }
    .cta-card-inner {
        padding: 40px 24px;
    }
    .section-title {
        font-size: clamp(1.6rem, 4vw, 2.4rem);
    }
    .section-subtitle {
        font-size: 0.95rem;
    }

    /* Tablet phone (keep ratio, scaled down) */
    .phone-wrapper {
        width: 240px;
        height: 548px;   /* 240 * (640/280) = 548.57 */
        border-radius: 22px;
    }
    .phone-wrapper::before {
        top: 14px;
        width: 7px;
        height: 7px;
    }
    .phone-wrapper::after {
        inset: 7px;
        border-radius: 15px;
    }
}

@media (max-width: 480px) {
    .section {
        padding: 50px 0;
        padding-inline: 16px;
    }
    #hero {
        padding-top: 40px;
        gap: 30px;
    }

    /* Mobile phone (keep ratio, scaled down) */
    .phone-wrapper {
        width: 200px;
        height: 457px;   /* 200 * (640/280) = 457.14 */
        border-radius: 20px;
        border-width: 2px;
    }
    .phone-wrapper::before {
        top: 12px;
        width: 6px;
        height: 6px;
    }
    .phone-wrapper::after {
        inset: 6px;
        border-radius: 14px;
    }

    .features-grid {
        grid-template-columns: 1fr;
        gap: 14px;
    }
    .feature-card {
        padding: 24px 20px;
    }
    .feature-card .card-icon {
        font-size: 2rem;
        margin-bottom: 12px;
    }
    .feature-card .card-title {
        font-size: 1.05rem;
    }
    .feature-card .card-desc {
        font-size: 0.88rem;
    }
    .step {
        padding: 20px 16px;
    }
    .step-number {
        font-size: 2.5rem;
    }
    .btn-download {
        width: 100%;
        justify-content: center;
        padding: 16px 28px;
        font-size: 1rem;
    }
    .cta-card {
        border-radius: 18px;
        padding: 2px;
    }
    .cta-card-inner {
        padding: 32px 18px;
        border-radius: 16px;
    }
    .section-eyebrow {
        font-size: 0.7rem;
    }
    .download-meta {
        font-size: 0.72rem;
    }
}