
/* ============================
   ANIMATIONS
============================ */
@keyframes fadeUp {
  from { opacity:0; transform:translateY(30px); }
  to { opacity:1; transform:translateY(0); }
}
@keyframes fadeIn {
  from { opacity:0; }
  to { opacity:1; }
}
@keyframes marquee {
  from { transform:translateX(0); }
  to { transform:translateX(-50%); }
}
@keyframes scrollPulse {
  0%,100% { opacity:1; transform:scaleY(1); }
  50% { opacity:0.4; transform:scaleY(0.7); }
}
@keyframes floatPulse {
  0%,100% { box-shadow:0 8px 30px rgba(37,211,102,0.4); }
  50% { box-shadow:0 8px 40px rgba(37,211,102,0.7); }
}

/* ============================
   RESPONSIVE
============================ */
@media(max-width:1100px) {
  .about-grid { gap:50px; }
  .portfolio-grid { grid-template-columns:repeat(3,1fr); }
  .portfolio-item.featured { grid-column:span 2; }
  .services-grid { grid-template-columns:repeat(2,1fr); }
  .footer-main { grid-template-columns:1fr 1fr; gap:40px; }
}
@media(max-width:900px) {
  .why-grid { grid-template-columns:1fr 1fr; }
  .stats-grid { grid-template-columns:repeat(2,1fr); }
  .testimonials-grid { grid-template-columns:1fr 1fr; }
  .instagram-grid { grid-template-columns:repeat(3,1fr); }
  .contact-grid { grid-template-columns:1fr; gap:50px; }
  .portfolio-grid { grid-template-columns:repeat(2,1fr); }
}
@media(max-width:768px) {
  :root { --nav-height:70px; }
  .nav-links, .nav-cta { display:none; }
  .hamburger { display:flex; }
  .about-grid { grid-template-columns:1fr; }
  .about-image-wrap { display:none; }
  .testimonials-grid { grid-template-columns:1fr; }
  section { padding:70px 5vw; }
  .portfolio-grid { grid-template-columns:1fr 1fr; grid-auto-rows:180px; }
  .footer-main { grid-template-columns:1fr; gap:30px; }
}
@media(max-width:520px) {
  .hero-title { font-size:2.8rem; }
  .hero-actions { flex-direction:column; align-items:center; }
  .portfolio-grid { grid-template-columns:1fr; grid-auto-rows:220px; }
  .portfolio-item.wide, .portfolio-item.tall, .portfolio-item.featured {
    grid-column:span 1; grid-row:span 1;
  }
  .services-grid { grid-template-columns:1fr; }
  .why-grid { grid-template-columns:1fr; }
  .stats-grid { grid-template-columns:1fr 1fr; }
  .instagram-grid { grid-template-columns:repeat(3,1fr); }
  .form-row { grid-template-columns:1fr; }
}