@media (max-width: 1700px) {
  .design-testimonial-item {
    padding: 40px;
  }
}

@media (max-width: 1600px) {}

@media (max-width: 1500px) {
  .design-testimonial-item {
    padding: 30px;
  }

  .tp-header-menu>nav>ul>li>a {
    font-size: 16px;
  }

  .dgm-hero-title {
    /* font-size: 90px; */
    font-size: clamp(32px, 4.5vw, 72px);
  }

  .dgm-hero-funfact span {
    /* font-size: 50px; */
    font-size: clamp(28px, 3vw, 48px);
  }

  .dgm-hero-funfact p {
    font-size: 13px;
    white-space: nowrap;
  }

  .tp-section-title {
    font-size: 40px;
  }

  .it-feature-title {
    font-size: 20px;
  }

  .app-stack-title {
    font-size: 34px;
  }

  .crp-project-category a {
    margin-bottom: 5px;
  }

  /* FIX 2: Industries tab navigation wrap to prevent overflow */
  .tabs {
    display: flex;
    flex-wrap: wrap;
    overflow-x: visible;
    max-width: 100%;
    width: 100%;
    justify-content: center;
    padding-bottom: 0;
  }

  .tabs .tab {
    flex-shrink: 1;
    white-space: nowrap;
  }

  /* FIX 3: Industries section wrapper overflow control */
  .crp-about-area {
    overflow: hidden;
    max-width: 100%;
  }

  .tp-mobile-menu-active {
    margin-left: 30px;
  }
}

@media (max-width: 1400px) {
  .tp-header-menu>nav>ul>li {
    margin: 0px 10px;
  }

  .tp-header-menu {
    /* margin-left: 50px; */
    margin-left: 20px;
  }

  .who_we_col {
    flex: 0 0 100%;
    max-width: 100%;
    width: 96%;
    margin-left: 0;
    margin-right: 0;
  }

  .why_choose_col {
    margin-left: 0;
    margin-right: 0;
  }

  .who_we_col {
    height: 100%;
    margin-right: 0px;
    margin-top: 0px;
    padding: 0px 15px;
    background-color: transparent;
    border-radius: 30px;
  }

  .who_we_container {
    margin-right: 10px;
    margin-top: 30px;
    padding: 50px;
    background-color: #000;
    border-radius: 30px;
    height: 100%;
  }

  .tp-contact-us-info-area .col-xl-3 {
    max-width: 50%;
    flex: 0 0 50%;
  }

  .tp-contact-us-content:nth-child(2) {
    margin-bottom: 30px;
  }

  .tp-contact-us-info-area .col-xl-3:nth-child(3) {
    margin-top: -15.5%;
  }

  .tp-contact-us-info-area .col-xl-3:nth-child(4) {
    margin-top: 4%;
  }

  .our_work_portfolio_row .col-4 {
    flex: 0 0 100%;
    max-width: 100%;
    text-align: center;
  }

  .our_work_portfolio_row .col-8 {
    flex: 0 0 100%;
    max-width: 100%;
    text-align: center;
  }

  .our_work_portfolio_row .tags {
    justify-content: center;
    padding-bottom: 15px;
  }

  .our_work_tools_brand {
    justify-content: center;
  }

  .tp-perspective-main {
    margin-top: 30px;
    margin-bottom: 30px;
  }

  .tp-perspective-slider .tp-perspective-inner {
    height: 100%;
  }
}

@media (max-width: 1200px) {
  .pp-skill-tools-item {
    width: 200px;
    height: 200px;
  }

  .swiper-horizontal>.swiper-pagination-bullets,
  .swiper-pagination-bullets.swiper-pagination-horizontal,
  .swiper-pagination-custom,
  .swiper-pagination-fraction {
    bottom: -5px;
  }

  .tp-header-shop-wrap {
    padding-top: 5px;
    padding-bottom: 5px;
  }
}

@media (max-width: 1024px) {

  #ball,
  #magic-cursor {
    display: none;
  }
}

@media (max-width: 1000px) {
  .atropos-inner {
    height: 100%;
    width: 100%;
  }

  .app-stack-thumb-box .shape-2 {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .app-stack-thumb-box .shape-1 {
    z-index: 10;
  }

  .app-stack-warpper .row {
    flex-direction: column;
    display: block;
  }

  .app-stack-warpper .row .col-lg-6 {
    width: 100%;
    flex: 0 0 100%;
  }

  .app-stack-warpper .row .col-lg-6:last-child {
    padding-top: 60px;
  }

  .app-stack-title,
  .app-stack-number {
    text-align: center;
  }

  .dgm-hero-top {
    height: auto;
    padding-top: 5.3vh;
  }

  .app-stack-thumb-box .shape-1 {
    left: 0%;
  }

  .app-stack-thumb-box .shape-2 {
    right: 0%;
  }

  .personal-info {
    display: block;
  }

  .personal-info .input-field {
    margin-bottom: 8px;
  }

  .contact-form-reusable {
    padding: 20px 16px;
    border-radius: 12px;
  }

  .budget-options label {
    font-size: 13px;
    padding: 5px 10px;
  }

  .budget-options .other-input-field {
    width: 130px !important;
    font-size: 13px !important;
    padding: 5px 10px !important;
  }

  .contact-form-reusable .dgm-hero-subtitle {
    font-size: 17px;
  }

  .st-counter-wrapper .col-md {
    flex: 0 0 50%;
    max-width: 50%;
  }

  .st-counter-wrapper .col-md {
    flex: 0 0 50%;
    max-width: 50%;
  }

  .st-counter-wrapper .row [class*="col-"]:not(:nth-of-type(odd)) {
    border-right: 0px;
  }

  .tp-contact-us-info-area .col-xl-3:nth-child(3) {
    margin-top: 0;
  }

  .tp-contact-us-info-area .col-xl-3:nth-child(4) {
    margin-top: 0;
  }

  .tp-contact-us-info-area .col-xl-3 {
    max-width: 100%;
    flex: 0 0 100%;
    margin-top: 20px;
  }

  .pp-service-details-solution-ptb .col-lg-4 {
    max-width: 100%;
    flex: 0 0 100%;
  }

  .ar-funfact-area .col-lg-3 {
    max-width: 50%;
    flex: 0 0 50%;
    padding-top: 15px;
  }

  .it-testimonial-item .row {
    display: block;
  }

  .it-testimonial-item .col-lg-6 {
    max-width: 100%;
    flex: 0 0 100%;
    width: 100%;
  }

  .it-testimonial-item .col-lg-6 .design-testimonial-item {
    width: 100%;
    padding: 20px;
  }

  .tp-product-details-thumb-wrapper {
    display: flex;
    flex-direction: column-reverse;
  }

  .dgm-about-thumb-wrap {
    text-align: center;
  }

  .tp-product-details-nav-main-thumb .col-lg-6 {
    text-align: center;
    flex: 0 0 100%;
    max-width: 100%;
  }

  .expertise_tools_brand {
    justify-content: center;
  }

  .ar-funfact-item h4 {
    font-size: 60px;
  }

  .pp-service-details-overview-ptb .col-lg-6,
  .pp-service-details-overview .col-lg-6 {
    flex: 0 0 100%;
    max-width: 100%;
  }

  .service-faq-style .app-faq-wrap .ai-faq-accordion-wrap .accordion .accordion-items .accordion-header .accordion-buttons {
    font-size: 20px;
  }

  .dgm-step-area .col-lg-3 {
    flex: 0 0 50%;
    max-width: 50%;
  }

  .it-project-content,
  .it-project-thumb:hover,
  .it-project-thumb {
    padding-left: 15px;
    padding-right: 15px;
  }

  .pp-skill-tools .row {
    justify-content: center;
  }

  ul {
    padding-left: 15px;
  }

  .our_work_nav {
    justify-content: flex-start;
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
    scrollbar-color: #ce403d transparent;
    padding-bottom: 10px;
  }

  .our_work_nav::-webkit-scrollbar {
    height: 3px;
  }

  .our_work_nav::-webkit-scrollbar-thumb {
    background: #ce403d;
    border-radius: 3px;
  }

  .our_work_nav .tab {
    white-space: nowrap;
    flex-shrink: 0;
    padding: 10px 20px;
    font-size: 14px;
  }

  .tp-contact-form-ptb h3 {
    width: 100%;
    text-align: center;
  }

  .tp-work-item {
    padding: 15px;
  }

  .tp-service-4-process-video {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-15%, -50%);
    width: 100%;
  }

  .pp-skill-tools-item {
    width: 180px;
    height: 180px;
    margin-bottom: 15px;
    margin-top: 15px;
  }
}

@media (max-width: 768px) {
  .tp-section-title {
    font-size: 30px;
    text-align: center;
  }

  /* Reusable component text sizing for mobile */
  .dgm-hero-subtitle {
    font-size: 13px;
    line-height: 1.4;
  }

  /* our_work_v2 page text sizes to match other pages - target filter section subtitles and plain p tags */
  .our_work_nav+.tab-content .dgm-hero-subtitle,
  .tab-content p,
  .tab-pane p {
    font-size: 13px !important;
    line-height: 1.4 !important;
  }

  .crp-project-title {
    font-size: 16px;
  }

  .pp-skill-subtitle {
    font-size: 13px;
  }

  .custom-tab-btn p {
    font-size: 11px;
    white-space: normal;
    text-align: center;
    margin-left: 0;
    margin-top: 4px;
    margin-bottom: 0;
    line-height: 1.3;
  }

  .custom-tab-btn svg {
    width: 24px;
    height: 24px;
    flex-shrink: 0;
  }

  .custom-tab-btn {
    padding: 10px 5px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
  }

  .app-stack-content p {
    font-size: 13px;
  }

  .app-stack-title {
    font-size: 22px;
  }

  .app-stack-number {
    font-size: 80px;
  }

  .it-feature-title {
    font-size: 16px;
  }

  .ar-funfact-item h4 {
    font-size: 40px;
  }

  .ar-funfact-item span {
    font-size: 13px;
  }

  .cr-service-item-title {
    font-size: 16px;
  }

  .cr-service-item-content p {
    font-size: 13px;
    line-height: 1.4;
  }

  .app-testimonial-item-content p {
    font-size: 13px;
    line-height: 1.4;
  }

  .app-testimonial-item-icon-title {
    font-size: 14px;
  }

  /* Fix: .it-benifit-content p is 25px !important in landing.css — needs !important to override */
  .it-benifit-content p {
    font-size: 14px !important;
    line-height: 1.4;
  }

  /* Fix: .crp-project-category a (0-1-1 specificity) overrides .tab (0-1-0) — use matching selector */
  .crp-project-category a {
    font-size: 14px;
  }

  /* Fix: .crp-project-meta span at 24px — no mobile override existed */
  .crp-project-meta span {
    font-size: 14px;
  }

  /* Fix: technology names stay at 18px — need > p for specificity match with landing.css */
  .pp-about-me-tool-item-content>p {
    font-size: 13px;
  }

  /* Fix: industry description text stays at 18px — need compound selector to beat main.css */
  .dgm-about-content p {
    font-size: 14px;
    line-height: 1.4;
  }

  /* Fix: inline list items in industry tabs inherit 18px from parent */
  .dgm-about-content li {
    font-size: 14px;
  }

  /* Fix: global p is 18px in main.css — reduce for all reusable component containers */
  .crp-project-title-box p {
    font-size: 14px;
    line-height: 1.5;
  }

  .crp-project-title-box li p {
    font-size: 14px;
    line-height: 1.5;
  }

  .dgm-about-right p {
    font-size: 14px;
    line-height: 1.5;
  }

  .custom-tab-pane p {
    font-size: 14px;
    line-height: 1.5;
  }

  .custom-tab-pane li p {
    font-size: 14px;
    line-height: 1.5;
  }

  .crp-project-content p {
    font-size: 13px;
    line-height: 1.4;
  }

  .crp-project-item {
    padding: 15px;
  }

  .crp-project-area .crp-project-right {
    padding: 15px;
  }

  .pp-service-details-overview .col-4.col-md-4 {
    flex: 0 0 33.33%;
    max-width: 33.33%;
    padding-left: 5px;
    padding-right: 5px;
  }

  .pp-service-details-overview .col-4:not(.col-md-4) {
    flex: 0 0 100%;
    max-width: 100%;
  }

  /* Collaboration model: show image before description on mobile */
  .custom-tab-pane .row.align-items-center {
    flex-direction: column-reverse;
  }

  /* Agile development: keep natural order (image then text) on mobile */
  .land_our_dev {
    padding-top: 0px;
  }

  .why_choose_title,
  .why_choose_row_1 {
    margin-bottom: 0;
  }

  .why_choose_row_2 {
    margin-top: 0;
  }

  .why_choose_row_1>div,
  .why_choose_row_2>div {
    margin-top: 15px;
  }

  .who_we_container {
    padding: 15px;
  }

  .who_we_wrapper {
    flex-direction: column;
    align-items: center;
  }

  .quick-buttons {
    justify-content: center;
  }

  .app-faq-wrap {
    padding-top: 15px;
  }

  .app-faq-wrap h3 {
    text-align: center;
  }

  .tp-product-details-thumb-wrapper .nav-tab .nav-links {
    width: 60px;
    height: 60px;
    object-fit: cover;
  }

  .tp-service-category {
    margin-bottom: 0;
    padding-top: 30px;
  }

  .ar-funfact-area .col-lg-3 {
    flex: 0 0 100%;
    max-width: 100%;
  }

  .tp-header-shop-wrap.header-sticky.sticky-white-bg {
    background-color: #fff;
    height: 60px;
    align-items: center;
    display: flex;
  }

  .dgm-step-area .col-lg-3 {
    flex: 0 0 100%;
    max-width: 100%;
  }

  .dgm-hero-title {
    font-size: 50px;
    line-height: normal;
  }

  .dgm-hero-rotate-text,
  .dgm-hero-thumb {
    display: none;
  }

  .dgm-hero-funfact span {
    font-size: 30px;
    margin-bottom: 10px;
  }

  .dgm-hero-funfact p {
    white-space: normal;
  }

  .hero_thumb_mob {
    display: block;
  }

  .pt_60 {
    padding-top: 30px;
  }

  .tab-content {
    padding: 0;
  }

  .pt_200 {
    padding-top: 30px;
  }

  .pb_200 {
    padding-bottom: 30px;
  }

  .tabs {
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    gap: 8px;
    padding-bottom: 8px;
    justify-content: flex-start;
  }

  .tabs::-webkit-scrollbar {
    height: 3px;
  }

  .tabs::-webkit-scrollbar-thumb {
    background: #ce403d;
    border-radius: 3px;
  }

  .tab {
    white-space: nowrap;
    flex-shrink: 0;
    font-size: 14px;
    padding: 8px 14px;
  }

  .dgm-about-thumb-wrap {
    padding-bottom: 30px;
  }

  .dgm-about-thumb-1 {
    margin-top: 0px;
  }

  .crp-project-area {
    margin-bottom: 0;
    padding-bottom: 0;
  }

  .crp-project-title-box {
    margin-bottom: 15px;
  }

  .custom-tabs-body {
    padding: 10px 0 0 0;
  }

  .tp-section-title .pb-30 {
    padding-bottom: 15px;
  }

  .pb_30 {
    padding-bottom: 15px;
  }

  .dgm-hero-funfact-wrap {
    margin-bottom: 15px;
  }

  .app-stack-content>p {
    margin-bottom: 15px;
  }

  .app-stack-heading {
    padding-bottom: 15px;
  }

  .custom-tab-btn {
    padding: 10px 5px;
  }

  .tp-btn-yellow-green {
    text-align: center;
  }

  .why_choose_row_1>.skilled_profile_wrapper {
    margin-top: 0;
  }

  .why_choose_col {
    margin-top: 15px;
  }

  .app-stack-warpper .row .col-lg-6:last-child {
    padding-top: 30px;
  }

  .ar-banner-wrap,
  .ar-banner-wrap img {
    height: 100vh;
    width: 100%;
    object-fit: cover;
  }

  .mb_80 {
    margin-bottom: 0;
  }

  .ai-choose-item {
    padding-bottom: 15px;
  }

  .service-faq-style .app-faq-wrap .ai-faq-accordion-wrap .accordion .accordion-items .accordion-header .accordion-buttons {
    padding: 15px 0px 15px 0px;
  }

  .service-faq-style .app-faq-wrap .ai-faq-accordion-wrap .accordion .accordion-items .accordion-header .accordion-buttons .accordion-icon {
    top: 15px;
    width: 25px;
    height: 25px;
  }

  .app-faq-wrap .ai-faq-accordion-wrap .accordion .accordion-items .accordion-body {
    padding-left: 0px;
    padding-right: 0px;
  }

  .mt-100 {
    margin-top: 50px;
  }

  .pp-skill-heading {
    margin-bottom: 0px;
  }

  .it-testimonial-content p {
    font-size: 18px;
  }

  .ar-about-us-4-hero-ptb {
    padding-top: 100px;
  }

  .app-feature-item {
    margin-bottom: 0px;
  }

  .app-feature-item {
    padding-top: 15px;
  }

  .our_work_nav>button {
    padding: 10px 50px 10px 15px;
  }

  .our_work_nav {
    display: flex;
  }

  /* Hide dashed lines and disable atropos 3D on mobile */
  .app-stack-content::before,
  .app-stack-content::after {
    display: none !important;
  }

  .app-stack-thumb-box .atropos {
    perspective: none;
  }

  .app-stack-thumb-box .atropos-rotate,
  .app-stack-thumb-box .atropos-scale {
    transform: none !important;
    transform-style: flat;
  }

  .app-stack-thumb-box .atropos-inner {
    transform: none !important;
    transform-style: flat;
  }

  .app-stack-thumb-box .atropos-shadow,
  .app-stack-thumb-box .atropos-highlight {
    display: none;
  }

  /* Hide decorative shape images on mobile */
  .app-stack-thumb-box .shape-1,
  .app-stack-thumb-box .shape-2,
  .app-stack-thumb-box .shape-3,
  .app-stack-thumb-box .shape-4 {
    display: none !important;
  }

  /* Reset negative margin on atropos-rotate so image isn't clipped */
  .app-stack-thumb-box .atropos-rotate {
    margin-top: 0 !important;
  }

  .pin-spacer {
    padding: 0 !important;
    margin: 0 !important;
  }

  /* Fix: Testing component overlapping header on mobile */
  .pin-spacer,
  .tp-panel-pin,
  .crp-project-item {
    position: relative !important;
    z-index: 1 !important;
    transform: none !important;
  }

  /* Ensure pinned elements don't have fixed positioning on mobile */
  [style*="position: fixed"].tp-panel-pin,
  [style*="position: fixed"].crp-project-item {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    width: 100% !important;
  }
}

@media (max-width: 767px) {
  .crp-about-area {
    padding-bottom: 0;
  }

  .app-stack-thumb-box {
    padding-bottom: 0px;
  }

  .tp-work-area {
    padding-bottom: 0px;
  }

  .st-counter-item {
    padding: 15px 7px;
  }

  .it-benifit-item {
    margin-bottom: 15px;
  }

  /* Footer mobile styles */
  .dgm-footer-bg {}

  .dgm-footer-area {
    border-radius: 20px 20px 0 0;
    padding-top: 40px;
    padding-bottom: 20px;
  }

  footer.pt_60 {
    padding-top: 30px;
  }

  .dgm-footer-widget {
    text-align: center;
  }

  .dgm-footer-col-1 {
    padding-right: 0;
  }

  .dgm-footer-col-1 .dgm-footer-logo {
    margin-bottom: 15px;
  }

  .dgm-footer-col-1 .dgm-footer-logo img {
    max-width: 150px;
  }

  .dgm-footer-widget-paragraph p {
    font-size: 13px;
    line-height: 1.5;
  }

  .dgm-footer-widget-paragraph.mb-35 {
    margin-bottom: 15px !important;
  }

  .dgm-footer-widget-social {
    justify-content: center;
    display: flex;
    gap: 6px;
  }

  .dgm-footer-widget-social a {
    width: 36px;
    height: 36px;
    line-height: 30px;
  }

  .dgm-footer-area .col-xl-4,
  .dgm-footer-area .col-xl-2,
  .dgm-footer-area .col-lg-4,
  .dgm-footer-area .col-lg-2 {
    flex: 0 0 100%;
    max-width: 100%;
  }

  .dgm-footer-area .mb-40 {
    margin-bottom: 25px;
  }

  .dgm-footer-widget-title {
    font-size: 18px;
    margin-bottom: 12px;
    white-space: normal;
  }

  .dgm-footer-widget-menu ul {
    padding-left: 0;
  }

  .dgm-footer-widget-menu ul li a {
    font-size: 14px;
    white-space: normal;
  }

  .dgm-footer-widget-menu ul li:not(:last-child) {
    margin-bottom: 6px;
  }

  .dgm-footer-widget-input input {
    font-size: 13px;
  }

  .dgm-footer-col-4 {
    padding-left: 0;
  }

  .dgm-footer-widget-paragraph.color-style.mb-35 {
    margin-bottom: 10px !important;
  }

  /* Copyright bar mobile */
  .tp-copyright-2-border {
    padding-top: 15px;
    padding-bottom: 20px;
  }

  .tp-copyright-2-area .row {
    flex-direction: column;
    text-align: center;
  }

  .tp-copyright-2-area .col-xl-4,
  .tp-copyright-2-area .col-xl-5,
  .tp-copyright-2-area .col-lg-5,
  .tp-copyright-2-area .col-lg-4,
  .tp-copyright-2-area .col-md-6 {
    flex: 0 0 100%;
    max-width: 100%;
  }

  .tp-copyright-2-left {
    text-align: center !important;
  }

  .tp-copyright-2-middle {
    text-align: center;
    padding-left: 0;
    margin-top: 8px;
  }

  .tp-copyright-2-middle a {
    font-size: 12px;
  }

  .tp-copyright-2-left p {
    font-size: 12px;
  }

  .tp-copyright-2-menu {
    text-align: center !important;
    margin-top: 8px;
  }

  .tp-copyright-2-right ul li:not(:first-child) {
    margin-left: 15px;
  }

  .tp-copyright-2-right ul li a {
    font-size: 12px;
  }
}
