/* ═══════════════════════════════════════════════════
   Responsive — Mobile-first breakpoints
   Breakpoints: 480 / 768 / 1024 / 1280
   ═══════════════════════════════════════════════════ */

/* Large desktop refinement */
@media (min-width:1280px){
  .wrap { max-width:1200px; }
}

/* ───────── ≤1024px (tablet landscape) ───────── */
@media (max-width:1024px){
  .sec { padding:80px 0; }

  #hero { grid-template-columns:1fr; min-height:auto; padding:100px 0 60px; }
  .hero-left { padding:40px 5%; }
  .hero-content { max-width:100%; }
  .hero-right { padding:0 5% 40px; }
  .hero-mosaic { max-height:340px; }
  .f-badge { inset-inline-start:10px; bottom:80px; }

  .svc-grid { grid-template-columns:repeat(2,1fr); }
  .gallery-masonry { columns:2; }
  .cta-inner { grid-template-columns:1fr; gap:40px; }
  .cta-card { padding:40px; }
  .foot-grid { grid-template-columns:1fr 1fr; gap:36px; }
  .contact-grid { grid-template-columns:1fr; }
  .blog-grid { grid-template-columns:repeat(2,1fr); }
}

/* ───────── ≤768px (tablet portrait / large phone) ───────── */
@media (max-width:768px){
  .sec { padding:64px 0; }
  .sh { margin-bottom:44px; }

  /* Nav → hamburger */
  .nav-links, .nav-cta { display:none; }
  .hbg { display:flex; }

  /* Grids collapse */
  .svc-grid { grid-template-columns:1fr; }
  .blog-grid { grid-template-columns:1fr; }
  .uni-split { grid-template-columns:1fr; }
  .success-row { grid-template-columns:repeat(2,1fr); }
  .admit-grid { grid-template-columns:1fr 1fr; }
  .gallery-masonry { columns:2; }
  .foot-grid { grid-template-columns:1fr; gap:28px; }

  /* Steps → vertical */
  .steps-line { grid-template-columns:1fr; gap:28px; }
  .steps-line::before { display:none; }
  .step { flex-direction:row; text-align:start; gap:18px; align-items:flex-start; }
  .step-circle { margin-bottom:0; box-shadow:none; flex-shrink:0; }
  .step > .step-title, .step > .step-desc { text-align:start; }

  /* Hero buttons full width */
  .hero-btns { flex-direction:column; }
  .btn-sky, .btn-ghost { width:100%; justify-content:center; }
  .hero-kpis { gap:24px; flex-wrap:wrap; }
  .hero-mosaic { grid-template-columns:1fr 1fr; max-height:280px; }

  /* Forms */
  .cf-row { grid-template-columns:1fr; }
  .contact-form { padding:26px; }
  .cta-card { padding:28px; }

  /* Section headers center-ish on mobile for balance */
  .sh-blog { flex-direction:column; align-items:flex-start; }
  .btn-allposts { width:100%; justify-content:center; }

  /* Lightbox controls a touch smaller */
  .lb-close, .lb-nav { width:44px; height:44px; }
  .lb-prev { left:12px; } .lb-next { right:12px; } .lb-close { top:14px; right:14px; }

  /* Floating buttons slightly smaller */
  #stbtn, #waBtn { width:48px; height:48px; bottom:20px; }
  #waBtn { right:18px; } #stbtn { left:18px; }
}

/* ───────── ≤480px (small phone) ───────── */
@media (max-width:480px){
  .sec { padding:52px 0; }
  .wrap { width:90%; }

  .hero-h1 { font-size:2.2rem; }
  .hero-mosaic { grid-template-columns:1fr; grid-template-rows:auto; max-height:none; }
  .mosaic-big { grid-row:auto; aspect-ratio:4/3; }
  .mosaic-sm { aspect-ratio:4/3; }

  .success-row { grid-template-columns:1fr; }
  .admit-grid { grid-template-columns:1fr; }
  .gallery-masonry { columns:1; }

  .partners-row { flex-direction:column; gap:14px; }
  .partners-sep { display:none; }

  .hero-kpis { gap:18px; }
  .kpi-num { font-size:1.7rem; }

  .cta-card { padding:22px; }
  .contact-form { padding:20px; }

  .logo-tag { display:none; } /* save space on tiny screens */
}

/* No horizontal scroll safety */
html, body { max-width:100%; overflow-x:hidden; }
