/* ==========================================================================
   Moondream IT LLC — Responsive (Fexo-aligned breakpoints)
   ========================================================================== */

@media (max-width: 1400px) {
  .hero-social { display: none; }
}

@media (max-width: 1200px) {
  .services-grid { grid-template-columns: repeat(2, 1fr); }
  .services-catalog { grid-template-columns: repeat(2, 1fr); }
  .industry-projects { grid-template-columns: repeat(2, 1fr); gap: 1.5rem; }
  .why-banner h2 { max-width: 100%; }
  .process-track { grid-template-columns: repeat(3, 1fr); gap: 2rem 1rem; }
  .process-track::before { display: none; }
  .footer-grid { grid-template-columns: 1.2fr 1fr 1fr; gap: 2rem; }
  .footer-brand { grid-column: 1 / -1; }
  .services-tabs-layout { grid-template-columns: 240px 1fr; }
  .services-panel { grid-template-columns: 1fr; }
  .faq-layout,
  .faq-split { grid-template-columns: 1fr; gap: 2rem; }

  .faq-media {
    margin-left: 0;
    max-width: 100%;
    min-height: 0;
    border-radius: 28px;
  }

  .faq-media__frame {
    border-radius: 28px;
    min-height: 360px;
  }

  .faq-media__frame img {
    min-height: 360px;
  }

  .faq-help-card {
    left: 1rem;
    right: 1rem;
    bottom: 1rem;
    max-width: none;
  }

  .faq-content h2 {
    max-width: 100%;
  }
}

@media (max-width: 1024px) {
  .nav__list,
  .nav__cta { display: none; }
  .nav-toggle { display: flex; }

  .hero {
    min-height: auto;
    padding: calc(var(--header-height) + 2.5rem) 0 3.5rem;
    align-items: center;
  }

  .hero__content {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }

  .hero h1 { max-width: none; }
  .hero__text { max-width: 100%; }
  .hero__visual { max-width: 420px; margin-inline: auto; width: 100%; }
  .hero-float-card { left: 0.5rem; bottom: 1rem; }

  .about-layout,
  .choose-layout,
  .intro-grid,
  .staffing-split,
  .contact-grid {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }

  .about-images,
  .choose-images {
    max-width: 520px;
    margin-inline: auto;
    width: 100%;
  }

  .why-grid { grid-template-columns: repeat(2, 1fr); }
  .industries-grid { grid-template-columns: repeat(3, 1fr); }

  .services-tabs-layout {
    grid-template-columns: 1fr;
    padding: 1.25rem;
  }

  .services-nav {
    flex-direction: row;
    flex-wrap: wrap;
    overflow-x: auto;
  }

  .services-nav__btn { width: auto; flex: 1 1 auto; white-space: nowrap; }
  .service-detail-card { grid-template-columns: 1fr; }
  .service-detail__intro { grid-template-columns: 1fr; gap: 2rem; }
  .service-detail__visual { order: -1; max-width: 560px; margin-inline: auto; width: 100%; }
  .service-caps { grid-template-columns: repeat(2, 1fr); }
  .grid-4 { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 768px) {
  :root {
    --header-height: 88px;
    --header-height-scrolled: 76px;
  }

  .logo img { height: 60px; max-width: 210px; }
  .site-header.is-scrolled .logo img { height: 52px; }

  .hero__tag { font-size: clamp(1.35rem, 5vw, 2rem); }
  .hero__tag::before { width: 48px; height: 3px; }
  .hero__meta { flex-direction: column; align-items: flex-start; gap: 1.25rem; }

  .services-grid,
  .services-catalog,
  .industry-projects,
  .why-grid,
  .why-banner__cards,
  .service-caps { grid-template-columns: 1fr; }

  .service-detail__checks { grid-template-columns: 1fr; }
  .service-detail__hero-img { aspect-ratio: 16 / 9; max-height: 280px; }

  .svc-tile { min-height: 240px; }

  .industry-project__body {
    margin: -2.5rem 0.75rem 0;
    padding: 1.15rem 1.2rem 1.1rem;
  }

  .why-banner__shell {
    min-height: clamp(480px, 80vh, 640px);
    width: 100%;
    border-radius: 0;
    padding-block: 2.5rem;
  }

  .staffing-features,
  .roles-grid,
  .check-list { grid-template-columns: 1fr; }

  .process-track { grid-template-columns: 1fr 1fr; }
  .industries-grid { grid-template-columns: repeat(2, 1fr); }
  .form-row { grid-template-columns: 1fr; }

  .footer-grid { grid-template-columns: 1fr 1fr; }
  .footer-brand { grid-column: 1 / -1; }

  .footer-bottom {
    flex-direction: column;
    text-align: center;
  }

  .btn-group { flex-direction: column; align-items: stretch; }
  .btn-group .btn { width: 100%; }

  .hero .btn-group {
    flex-direction: column;
    align-items: flex-start;
  }

  .hero .btn-group .btn {
    width: auto;
    min-width: 200px;
  }

  .job-card {
    flex-direction: column;
    align-items: flex-start;
  }

  .section-header,
  .section-title { margin-bottom: 2rem; }

  .about-images__float {
    position: relative;
    right: auto;
    bottom: auto;
    width: 70%;
    margin-top: -3rem;
    margin-left: auto;
  }

  .about-images { min-height: auto; }

  .choose-images__two {
    position: relative;
    width: 70%;
    margin-top: -3rem;
    margin-left: auto;
    right: auto;
    bottom: auto;
  }

  .choose-images { min-height: auto; }
  .choose-badge {
    left: auto;
    right: 1rem;
    top: 1rem;
    transform: none;
  }

  .intro-visual__badge {
    position: relative;
    bottom: auto;
    right: auto;
    margin-top: 1.25rem;
    max-width: 100%;
  }

  .page-hero {
    min-height: 0;
    padding: calc(var(--header-height) + 1.75rem) 0 2.25rem;
  }

  .page-hero h1 {
    font-size: clamp(1.55rem, 5.5vw, 2rem);
    max-width: 100%;
  }

  .page-hero__lead {
    font-size: 0.95rem;
  }

  .form-card { padding: 1.75rem; }
  .cta-banner { padding: 4rem 0; }
  .service-card { padding: 1.75rem 1.5rem; }
}

@media (max-width: 576px) {
  .process-track { grid-template-columns: 1fr; }

  .process-step {
    display: grid;
    grid-template-columns: auto 1fr;
    text-align: left;
    gap: 1rem;
    align-items: start;
    padding: 0.75rem 0;
  }

  .process-step__num {
    width: 60px;
    height: 60px;
    margin: 0;
    font-size: 1.05rem;
  }

  .industries-grid {
    grid-template-columns: 1fr 1fr;
    gap: 0.75rem;
  }

  .industry-card { padding: 1.25rem 0.85rem; }
  .footer-grid { grid-template-columns: 1fr; }

  .hero-image-box { max-height: 420px; }
  .hero-float-card {
    position: relative;
    left: auto;
    bottom: auto;
    margin-top: 1rem;
    max-width: 100%;
  }

  .tech-item {
    padding: 0.75rem 1.15rem;
    font-size: 0.85rem;
  }

  .services-nav__btn {
    padding: 0.75rem 0.9rem;
    font-size: 0.9rem;
  }
}

@media (max-width: 400px) {
  .industries-grid { grid-template-columns: 1fr; }
  .logo img { height: 52px; max-width: 180px; }
  .mobile-nav__panel { width: 100%; }
}

@media print {
  .site-header,
  .mobile-nav,
  .nav-toggle,
  .cta-banner,
  .skip-link,
  .hero-social { display: none !important; }

  body { color: #000; background: #fff; }
  a { text-decoration: underline; }

  .hero,
  .page-hero {
    min-height: auto;
    background: #fff !important;
    color: #000 !important;
    padding-top: 2rem;
  }

  .hero h1,
  .page-hero h1 { color: #000 !important; }
}
