/* =========================================================
   Nishil Consultancy Services — Responsive
   Mobile-first adjustments, breakpoints tested at
   320 / 375 / 390 / 430 / 768 / 1024 / 1280 / 1440 / 1920
   ========================================================= */

/* Large desktop cap */
@media (min-width: 1600px) {
  :root { --container: 1280px; }
  body { font-size: 17px; }
}

/* ---- Tablet landscape / small desktop ---- */
@media (max-width: 1024px) {
  .hero__inner { grid-template-columns: 1fr; gap: 40px; padding-block: 40px; }
  .hero { min-height: auto; padding-top: calc(var(--nav-h) + 40px); padding-bottom: 20px; }
  .hero__content { max-width: 46ch; }
  .hero__markets { max-width: 460px; border-left: 0; padding-left: 0; }
  .hero__monogram { font-size: 34vh; right: -6vw; opacity: .04; }

  .about__top { grid-template-columns: 1fr; gap: 24px; }
  .contact__grid { grid-template-columns: 1fr; }
  .contact__info { max-width: 620px; }
}

/* ---- Tablet portrait ---- */
@media (max-width: 900px) {
  .nav__links { display: none; }
  .nav__toggle { display: block; }

  .about__cards { grid-template-columns: 1fr; }
  .why__grid { grid-template-columns: 1fr 1fr; }
  .industries__grid { grid-template-columns: 1fr 1fr; }
  .numbers__grid { grid-template-columns: 1fr 1fr; gap: 16px; }
  .footer__inner { grid-template-columns: 1fr 1fr; }

  /* Services -> stacked / accordion feel */
  .services__detail { grid-template-columns: 1fr; gap: 24px; }
  .services__desc { max-width: none; }
}

/* ---- Large phone ---- */
@media (max-width: 640px) {
  :root { --gutter: 20px; }
  body { font-size: 16px; }

  .why__grid { grid-template-columns: 1fr; }
  .industries__grid { grid-template-columns: 1fr; }
  .field-row { grid-template-columns: 1fr; gap: 0; }
  .footer__inner { grid-template-columns: 1fr; gap: 30px; }
  .footer__bar-inner { flex-direction: column; align-items: flex-start; }

  .hero__cta { gap: 18px 24px; align-items: center; }
  .trust__row { gap: 22px 34px; }

  /* Services tabs become a scrollable/stacked selector */
  .services__tabs { flex-direction: column; }
  .stab { justify-content: flex-start; padding: 18px 22px; border-bottom: 1px solid var(--line); }
  .stab::after { left: 0; right: auto; top: 0; bottom: 0; width: 3px; height: auto; transform: scaleY(0); }
  .stab.is-active::after { transform: scaleY(1); }
  .services__list { grid-template-columns: 1fr; }

  .icard__text { max-height: none; opacity: 1; margin-top: 8px; color: var(--ink-500); }
  .icard::before { display: none; }
  .icard:hover, .icard:focus-within { transform: translateY(-4px); }
  .icard:hover .icard__title { color: var(--ink-900); }
  .icard:hover .icard__text { color: var(--ink-500); }
}

/* ---- Small phone ---- */
@media (max-width: 380px) {
  :root { --gutter: 16px; }
  .numbers__grid { grid-template-columns: 1fr 1fr; }
  .chip { font-size: 1.25rem; padding: 16px 28px; }
  .lead-form { padding: 22px 18px; }
  .hero__eyebrow { font-size: .68rem; letter-spacing: .1em; }
}

/* Touch devices: reveal industry text (no hover) */
@media (hover: none) {
  .icard__text { max-height: none; opacity: 1; margin-top: 8px; color: var(--ink-500); }
  .icard::before { opacity: 0 !important; }
  .icard__title { color: var(--ink-900) !important; }
}
