/* =========================================
   VILLA OMBRA STUDIO — RESPONSIVE
   ========================================= */

/* ---- Large (LG): 992px - 1279px ---- */
@media (max-width: 1279px) {
  :root { --section-pad-h: 4%; }
  .services-grid { grid-template-columns: repeat(2, 1fr); }
  .team-grid { grid-template-columns: repeat(2, 1fr); }
  .footer-grid { grid-template-columns: 1.5fr 1fr 1fr 1fr; gap: 32px; }
}

/* ---- Medium (MD): 768px - 991px ---- */
@media (max-width: 991px) {
  :root {
    --section-pad-v: 60px;
    --section-pad-h: 4%;
  }

  h1 { font-size: 2.5rem; }
  h2 { font-size: 2rem; }
  h3 { font-size: 1.4rem; }

  /* Header */
  .main-nav { display: none; }
  .btn-header-cta { display: none; }
  .hamburger { display: flex; }

  /* Hero */
  .hero-bg { background-attachment: scroll; }

  /* Intro */
  .intro-grid { grid-template-columns: 1fr; gap: 40px; }
  .intro-image { aspect-ratio: 16/9; }

  /* Services */
  .services-grid { grid-template-columns: repeat(2, 1fr); }

  /* Projects */
  .projects-asymmetric {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
  .project-large { grid-column: 1 / -1; }
  .project-stacked { grid-column: 1 / -1; grid-template-rows: unset; grid-template-columns: 1fr 1fr; }
  .project-stacked-item { aspect-ratio: 4/3; }
  .projects-row2 { grid-template-columns: 1fr 1fr; }
  .project-large-r2 { grid-column: 1 / -1; grid-column-start: unset; }

  /* Process */
  .process-timeline {
    grid-template-columns: repeat(2, 1fr);
    gap: 40px;
  }
  .process-timeline::before { display: none; }
  .process-step { text-align: left; padding: 0; }

  /* Regions */
  .regions-grid { grid-template-columns: repeat(2, 1fr); }

  /* Team */
  .team-grid { grid-template-columns: repeat(2, 1fr); gap: 32px; }

  /* Philosophy */
  .philosophy-grid { grid-template-columns: 1fr; gap: 40px; }
  .philosophy-pillar { text-align: left; }
  .philosophy-pillar i { margin: 0 0 16px; }

  /* Awards */
  .awards-list { margin-top: 40px; }

  /* Service blocks */
  .service-block { grid-template-columns: 1fr; gap: 40px; }
  .service-block.reverse .service-block-img { order: unset; }
  .service-block.reverse .service-block-text { order: unset; }

  /* Packages */
  .packages-grid { grid-template-columns: 1fr; max-width: 480px; margin: 0 auto; }

  /* Portfolio */
  .portfolio-grid { grid-template-columns: repeat(2, 1fr); }

  /* Contact */
  .contact-grid { grid-template-columns: 1fr; gap: 60px; }

  /* Footer */
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 40px; }
  .footer-brand { grid-column: 1 / -1; }

  /* Quick form */
  .quick-form { grid-template-columns: 1fr 1fr; }
  .quick-form .field-submit { grid-column: 1 / -1; }

  /* Legal */
  .legal-content h2 { font-size: 1.3rem; }

  /* Project detail */
  .project-metadata { gap: 24px; }
  .project-gallery { grid-template-columns: repeat(2, 1fr); }
}

/* ---- Small (SM): 576px - 767px ---- */
@media (max-width: 767px) {
  :root { --section-pad-h: 5%; }

  h1 { font-size: 2rem; }
  h2 { font-size: 1.6rem; }

  /* Hero */
  .hero-sm { height: 70vh; }
  .hero-md { height: 60vh; }

  /* Services */
  .services-grid { grid-template-columns: 1fr; }

  /* Projects */
  .projects-asymmetric { display: flex; flex-direction: column; }
  .project-large { aspect-ratio: 4/3; }
  .project-stacked { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
  .projects-row2 { display: flex; flex-direction: column; }

  /* Process */
  .process-timeline { grid-template-columns: 1fr; gap: 32px; }

  /* Regions */
  .regions-grid { grid-template-columns: 1fr; }

  /* Team */
  .team-grid { grid-template-columns: 1fr 1fr; gap: 24px; }

  /* Portfolio */
  .portfolio-grid { grid-template-columns: 1fr; }

  /* Quick form */
  .quick-form { grid-template-columns: 1fr; }

  /* Footer */
  .footer-grid { grid-template-columns: 1fr; }

  /* Buttons stack */
  .cta-buttons { flex-direction: column; align-items: center; }

  /* Testimonial text */
  .testimonial-text { font-size: 1.1rem; }

  /* Project gallery */
  .project-gallery { grid-template-columns: 1fr; }

  /* Project nav */
  .project-nav { flex-direction: column; gap: 20px; }
}

/* ---- Extra Small (XS): below 576px ---- */
@media (max-width: 575px) {
  h1 { font-size: 1.75rem; }
  h2 { font-size: 1.4rem; }
  h3 { font-size: 1.2rem; }
  body { font-size: 1rem; }

  .hero-content h1 { font-size: 1.9rem; }
  .hero-content .hero-sub { font-size: 0.95rem; }

  /* Team */
  .team-grid { grid-template-columns: 1fr; }

  /* Contact form fields */
  .contact-form .form-group { margin-bottom: 20px; }

  /* Story pull quote */
  .story-pull-quote { padding: 16px 20px; font-size: 1.2rem; }

  /* Package cards */
  .package-card { padding: 28px 20px; }

  /* Footer */
  .footer-bottom { padding: 20px 0; }
  .footer-copy { font-size: 0.75rem; }

  /* Metadata bar */
  .project-metadata { flex-direction: column; gap: 16px; }
}

/* ---- Print ---- */
@media print {
  .site-header, .site-footer, .scroll-indicator, .testimonial-dots,
  .filter-bar, .btn, .cta-section { display: none; }
  body { background: white; color: black; }
  .hero { height: auto; padding: 40px 0; }
  .hero-overlay, .hero-bg { display: none; }
  .hero-content { opacity: 1; }
}
