@charset "UTF-8";

/* ==========================================================================
   Dezign Experts — Responsive Rules
   File: assets/css/responsive.css
   ========================================================================== */

@media (max-width: 1199.98px) {
    :root {
        --header-height: 80px;
        --container-max: 1140px;
    }

    .primary-nav__list { gap: 1.15rem; }
    .primary-nav__link { font-size: .81rem; }

    .hero__inner {
        grid-template-columns: minmax(0,1.1fr) minmax(320px,.9fr);
    }

    .hero__meta { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .why-us__intro { grid-column: span 5; }
    .why-us__grid { grid-column: 6 / -1; }
    .technology-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
    .industries-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
    .estimate-shell { grid-template-columns: 220px minmax(0,1fr); }
    .estimate-shell__result { grid-column: 1 / -1; min-height: 220px; }
    .site-footer__grid { grid-template-columns: 1.35fr repeat(2,.7fr) 1fr; }
    .site-footer__grid > :nth-child(4) { display: none; }
}

@media (max-width: 991.98px) {
    :root {
        --gutter: 1.35rem;
        --section-space: clamp(4.5rem, 10vw, 7rem);
    }

    .primary-nav,
    .header-actions .btn { display: none; }
    .mobile-menu-toggle { display: inline-flex; }

    .hero { min-height: auto; }
    .hero__inner {
        min-height: 900px;
        grid-template-columns: 1fr;
        padding-top: calc(var(--header-height) + 85px);
    }
    .hero__visual {
        position: absolute;
        right: -180px;
        bottom: 30px;
        width: 600px;
        min-height: 600px;
        opacity: .42;
    }
    .hero__content { position: relative; z-index: 3; }
    .hero__background::after {
        background: linear-gradient(90deg,rgba(0,0,0,.95),rgba(0,0,0,.64) 70%,rgba(0,0,0,.38));
    }

    .trusted-strip__inner { grid-template-columns: 150px minmax(0,1fr); }
    .section-grid { grid-template-columns: 1fr; }
    .about-preview__content,
    .about-preview__media { grid-column: 1; }
    .about-preview__media { margin-top: var(--space-8); }

    .section-heading { align-items: flex-start; flex-direction: column; }
    .stats-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .stat:nth-child(3) { border-left: 0; border-top: 1px solid var(--color-border); }
    .stat:nth-child(4) { border-top: 1px solid var(--color-border); }

    .why-us__intro,
    .why-us__grid { grid-column: 1; position: static; }
    .why-us__grid { margin-top: var(--space-8); }

    .services-showcase__layout,
    .industries-layout,
    .testimonial-layout,
    .faq-layout,
    .story-layout,
    .service-overview,
    .contact-layout,
    .legal-layout,
    .project-content {
        grid-template-columns: 1fr;
    }

    .services-showcase__intro,
    .industries-layout__intro,
    .testimonial-layout__intro,
    .faq-layout__intro,
    .story-layout__media,
    .service-overview__intro,
    .contact-info,
    .legal-nav,
    .project-content__aside { position: static; }

    .service-row { grid-template-columns: 52px minmax(0,1fr) 52px; }
    .service-row__description { display: none; }

    .process-track {
        grid-template-columns: repeat(4,minmax(200px,1fr));
        row-gap: var(--space-10);
    }

    .estimate-shell { grid-template-columns: 1fr; }
    .estimate-fields { grid-template-columns: repeat(3,minmax(0,1fr)); }
    .estimate-shell__result { grid-column: auto; }

    .pricing-grid { grid-template-columns: 1fr; max-width: 680px; margin-inline: auto; }
    .pricing-card { min-height: auto; }

    .projects-grid > *,
    .projects-grid > *:nth-child(n),
    .portfolio-grid__item,
    .portfolio-grid__item--wide,
    .portfolio-grid__item--narrow { grid-column: span 6; }

    .industries-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
    .values-grid,
    .team-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .service-benefits { grid-template-columns: repeat(2,minmax(0,1fr)); }

    .case-study-highlight { grid-template-columns: 1fr; }
    .case-study-highlight__media { min-height: 430px; order: -1; }
    .related-services { grid-template-columns: repeat(2,minmax(0,1fr)); }

    .page-hero__inner { grid-template-columns: 1fr; }
    .page-hero__visual { min-height: 280px; }

    .site-footer__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .site-footer__grid > :nth-child(4) { display: block; }
    .site-footer__brand { grid-column: 1 / -1; }
    .site-footer__newsletter-grid { grid-template-columns: 1fr; }
}

@media (max-width: 767.98px) {
    :root {
        --header-height: 74px;
        --radius-xl: 24px;
    }

    h1 { font-size: clamp(2.7rem,13vw,4.5rem); }
    h2 { font-size: clamp(2.15rem,10vw,3.6rem); }

    .site-brand__logo { height: 38px; max-width: 195px; }
    .mobile-menu-toggle { width: 44px; height: 44px; }

    .hero__inner { min-height: 840px; padding-bottom: 110px; }
    .hero__actions { align-items: stretch; flex-direction: column; }
    .hero__actions .btn { width: 100%; }
    .hero__meta { grid-template-columns: 1fr; }
    .hero__meta-item:nth-child(n+3) { display: none; }
    .hero__visual { right: -260px; bottom: -20px; width: 570px; }
    .hero__scroll { display: none; }

    .trusted-strip__inner { grid-template-columns: 1fr; gap: 12px; padding-block: 22px; }
    .trusted-strip__label { text-align: center; }

    .grid-2,
    .grid-3,
    .grid-4,
    .why-us__grid,
    .form-grid,
    .service-features,
    .related-services,
    .metric-row { grid-template-columns: 1fr; }

    .stats-grid { grid-template-columns: 1fr; }
    .stat + .stat,
    .stat:nth-child(3),
    .stat:nth-child(4) { border-top: 1px solid var(--color-border); border-left: 0; }
    .stat { min-height: 140px; }

    .service-row {
        min-height: 125px;
        grid-template-columns: 38px minmax(0,1fr) 44px;
        gap: 12px;
    }
    .service-row__arrow { width: 42px; height: 42px; }

    .process-track {
        grid-template-columns: repeat(8,minmax(210px,1fr));
        overflow-x: auto;
        padding-bottom: 18px;
        scroll-snap-type: x mandatory;
    }
    .process-step { scroll-snap-align: start; }

    .estimate-fields { grid-template-columns: 1fr; }
    .estimate-field--wide,
    .estimate-field--full { grid-column: auto; }
    .checkbox-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }

    .projects-grid,
    .portfolio-grid { grid-template-columns: 1fr; }
    .projects-grid > *,
    .projects-grid > *:nth-child(n),
    .portfolio-grid__item,
    .portfolio-grid__item--wide,
    .portfolio-grid__item--narrow { grid-column: 1; }
    .project-feature { min-height: 420px; }

    .industries-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .industry-item { min-height: 140px; }

    .technology-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .technology-item { min-height: 112px; }

    .testimonial-card { min-height: 420px; }
    .testimonial-card__footer { align-items: flex-start; flex-direction: column; }
    .faq-item__answer { padding-right: 0; }

    .values-grid,
    .team-grid,
    .service-benefits { grid-template-columns: 1fr; }

    .company-timeline::before { left: 8px; }
    .company-timeline__item { grid-template-columns: 32px minmax(0,1fr); }
    .company-timeline__year { grid-column: 2; }
    .company-timeline__dot { grid-column: 1; grid-row: 1 / span 2; }
    .company-timeline__content { grid-column: 2; }

    .project-detail-hero__header,
    .project-content { grid-template-columns: 1fr; }
    .project-detail-hero__meta { grid-template-columns: 1fr; }
    .project-detail-hero__media { aspect-ratio: 4/3; }

    .site-footer__grid { grid-template-columns: 1fr; }
    .site-footer__brand { grid-column: auto; }
    .site-footer__bottom-inner { align-items: flex-start; flex-direction: column; padding-block: 22px; }
    .newsletter-form { grid-template-columns: 1fr; }
    .newsletter-form .btn { width: 100%; }
}

@media (max-width: 479.98px) {
    :root { --gutter: 1rem; }
    .hero__inner { min-height: 780px; }
    .hero__visual { opacity: .31; }
    .checkbox-grid { grid-template-columns: 1fr; }
    .industries-grid { grid-template-columns: 1fr 1fr; }
    .industry-item { padding: 16px; }
    .technology-grid { grid-template-columns: 1fr 1fr; }
    .cta-banner { min-height: 470px; }
    .back-to-top { right: 14px; bottom: 14px; width: 46px; height: 46px; }
}
