/* Responsive Styles */

@media (max-width: 1199.98px) {
    .featured-slide { grid-template-columns: 1fr; }
    .process-timeline { flex-wrap: wrap; justify-content: center; }
    .process-timeline::before { display: none; }
    .process-step { flex: 0 0 calc(33.333% - 1rem); margin-bottom: 2rem; }
}

@media (max-width: 991.98px) {
    section { padding: 4.5rem 0; }
    .hero { min-height: auto; }
    .hero .row { min-height: auto !important; }
    .hero-visual { margin-top: 2.5rem; text-align: center; }
    .hero-visual-wrap { min-height: 380px; padding: 0 0.5rem; margin: 0 auto; }
    .hero-profile-frame { max-width: 300px; }
    .hero-logo-badge { margin-top: -1.5rem; }
    .hero-float-card { display: none; }
    .process-step { flex: 0 0 calc(50% - 1rem); }
    .floating-cta { display: none !important; }
    body { padding-bottom: 70px; }
}

@media (max-width: 767.98px) {
    body { font-size: 16px; }
    section { padding: 3.5rem 0; }
    .hero-content {text-align:center;}
    .hero-title { font-size: 1.85rem; }
    .hero-lead { font-size: 1.05rem; }
    .hero-cta { display: flex; flex-direction: column; }
    .hero-cta .btn-cta { width: 100%; margin-right: 0 !important; text-align: center; }
    .hero-trust { flex-direction: column; gap: 0.65rem; }
    .trust-grid { grid-template-columns: 1fr 1fr; gap: 1rem; }
    .trust-item { font-size: 0.75rem; }
    .portfolio-filters { gap: 0.35rem; }
    .filter-btn { padding: 0.4rem 0.85rem; font-size: 0.8rem; }
    .process-step { flex: 0 0 100%; }
    .review-card { padding: 1.75rem; }
    .contact-form { padding: 1.5rem; }
    .watch-cta { display: flex; flex-wrap: wrap; }
    .watch-cta .btn-cta { width: 100%; margin-right: 0 !important; }
    .final-cta-buttons .btn-cta { width: 100%; margin-right: 0 !important; }
    .hero-gradient-orb { width: 300px; height: 300px; opacity: 0.5; }
    .why-me {text-align: center;}
    .why-icon {margin-left: auto;margin-right: auto;}
    .credibility-block {padding: 2rem 1.5rem;}
    .perf-card {text-align: center;}
    .swiper-button-prev, .swiper-button-next {display: none;}
    .contact .col-lg-5 {text-align: center;}
    .contact-details a {justify-content: center;}

    /* Footer — mobile stacked layout */
    .footer-top {
        text-align: center;
        --bs-gutter-y: 0;
    }
    .footer-col {
        padding: 2rem 0;
        border-bottom: 1px solid var(--color-border);
    }
    .footer-col:last-child {
        border-bottom: none;
        padding-bottom: 0;
    }
    .footer-col-brand {
        padding-top: 0;
    }
    .footer-logo {
        display: block;
        margin-left: auto;
        margin-right: auto;
    }
    .footer-desc {
        margin-left: auto;
        margin-right: auto;
        max-width: 420px;
    }
    .footer-heading {
        margin-bottom: 1rem;
    }
    .footer-links {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 0.35rem;
    }
    .footer-links li {
        margin-bottom: 0;
    }
    .footer-social {
        justify-content: center;
    }
    .footer-cta-text {
        margin-left: auto;
        margin-right: auto;
        max-width: 360px;
    }
    .footer-cta-btn {
        max-width: 320px;
        margin-left: auto;
        margin-right: auto;
    }
    .footer-bottom {
        text-align: center;
        margin-top: 2rem;
    }
}

@media (max-width: 575.98px) {
    .trust-grid { grid-template-columns: 1fr; }
    .navbar-brand img { height: 36px; }
    .skill-chip { font-size: 0.8rem; padding: 0.4rem 0.85rem; }
}

@media (prefers-reduced-motion: reduce) {
    .hero-profile, .hero-float-card, .hero-gradient-orb { animation: none !important; }
    .preloader-bar span { animation: none; width: 100%; }
    .particles-bg,
    .cursor-follower { display: none !important; }
}

@media (hover: none), (pointer: coarse) {
    .particles-bg,
    .cursor-follower { display: none !important; }
    body.custom-cursor,
    body.custom-cursor a,
    body.custom-cursor button,
    body.custom-cursor input,
    body.custom-cursor textarea,
    body.custom-cursor select,
    body.custom-cursor label {
        cursor: auto;
    }
}

@media (max-width: 767.98px) {
    .particles-bg,
    .cursor-follower { display: none !important; }
}
