/* ==========================================================================
   ZIRA MEDIA — responsive.css
   ========================================================================== */

/* ---------- Large tablet / small desktop ---------- */
@media (max-width: 1180px){
  .services__grid{ grid-template-columns:repeat(2, 1fr); }
  .process__steps{ grid-template-columns:repeat(3, 1fr); row-gap:40px; }
  .process-step__connector{ display:none; }
}

/* ---------- Tablet ---------- */
@media (max-width: 980px){
  .container{ padding:0 24px; }

  .main-nav{ display:none; }
  .menu-toggle{ display:flex; }

  .hero__inner{ grid-template-columns:1fr; gap:60px; }
  .hero__visual{ min-height:460px; order:-1; }
  .globe-stage{ height:420px; max-width:420px; }

  .about__inner{ grid-template-columns:1fr; gap:50px; }
  .about__stats{ grid-template-columns:1fr 1fr; }

  .services__inner{ grid-template-columns:1fr; }
  .services__heading{ align-items:flex-start; }

  .portfolio__grid{ grid-template-columns:repeat(2, 1fr); }
  .portfolio-card:nth-child(3n+1){ grid-row:span 1; min-height:280px; }

  .contact__inner{ grid-template-columns:1fr; }

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

  .site-footer__inner{ grid-template-columns:1fr 1fr; row-gap:30px; }
}

/* ---------- Mobile ---------- */
@media (max-width: 640px){
  :root{ --header-h:72px; }
  .container{ padding:0 18px; }

  .hero{ padding-top:calc(var(--header-h) + 30px); padding-bottom:60px; }
  .hero__title{ font-size:32px; }
  .hero__desc{ font-size:14.5px; }
  .hero__actions{ flex-direction:column; align-items:flex-start; gap:18px; }

  .hero__visual{ min-height:380px; }
  .globe-stage{ height:320px; max-width:300px; }
  .floating-cards{ transform:scale(0.72); transform-origin:top center; }
  .floating-card{ padding:9px 12px; }

  .about{ padding-top:80px; }
  .about__stats{ grid-template-columns:1fr; }
  .stat-card{ padding:22px 18px; }

  .services{ padding:80px 0; }
  .services__grid{ grid-template-columns:1fr; }

  .portfolio__heading{ padding:70px 0 34px; flex-direction:column; align-items:flex-start; }
  .portfolio__grid{ grid-template-columns:1fr; }

  .process{ padding:80px 0; }
  .process__steps{ grid-template-columns:1fr 1fr; }

  .contact{ padding:80px 0; }
  .contact-form__row{ grid-template-columns:1fr; }
  .contact__form-wrap{ padding:26px; }

  .post-grid{ grid-template-columns:1fr; }
  .site-footer__inner{ grid-template-columns:1fr; text-align:left; }
  .site-footer__social{ justify-content:flex-start; }
}

/* ---------- Very small phones ---------- */
@media (max-width: 380px){
  .hero__title{ font-size:28px; }
  .globe-stage{ height:260px; max-width:240px; }
  .process__steps{ grid-template-columns:1fr; }
}

/* ---------- Reduced motion ---------- */
@media (prefers-reduced-motion: reduce){
  .hero__scroll-cue{ animation:none; }
  .floating-card{ transform:none !important; }
}
