/* === 1200px === */
@media (max-width: 1200px) {
  .hero-content h1 { font-size: 3.2rem; }
  .services-grid { grid-template-columns: repeat(2, 1fr); }
  .pricing-grid { grid-template-columns: repeat(2, 1fr); }
}

/* === 992px === */
@media (max-width: 992px) {
  .hero .container {
    grid-template-columns: 1fr;
    text-align: center;
  }
  .hero-content p { margin: 0 auto 36px; }
  .hero-buttons { justify-content: center; }
  .hero-image { max-width: 500px; margin: 0 auto; }
  .hero-image img { height: 350px; }

  .features-grid { grid-template-columns: repeat(2, 1fr); }
  .welcome-grid { grid-template-columns: 1fr; }
  .welcome-image img { height: 350px; }

  .footer-grid { grid-template-columns: 1fr 1fr; }
  .booking-wrapper { grid-template-columns: 1fr; }
  .contact-grid { grid-template-columns: 1fr; }

  .ceo-grid { grid-template-columns: 1fr; }
  .ceo-image { max-width: 350px; }

  .nav {
    position: fixed;
    top: 0;
    right: -100%;
    width: 300px;
    height: 100vh;
    background: var(--dark);
    flex-direction: column;
    justify-content: center;
    padding: 40px;
    transition: var(--transition);
    box-shadow: -4px 0 30px rgba(0,0,0,0.3);
  }
  .nav.open { right: 0; }
  .nav a { font-size: 1rem; }
  .hamburger { display: flex; }

  .story-grid { grid-template-columns: 1fr; }
  .story-image { order: -1; }
  .mv-grid { grid-template-columns: 1fr; }
  .gallery-grid { grid-template-columns: repeat(2, 1fr); }

  .section-header h2 { font-size: 2.2rem; }
  .hero-content h1 { font-size: 2.8rem; }
  .page-header h1,
  .about-hero h1,
  .services-hero h1,
  .pricing-hero h1,
  .booking-hero h1,
  .contact-hero h1 { font-size: 2.8rem; }
}

/* === 768px === */
@media (max-width: 768px) {
  .section-padding { padding: 70px 0; }
  .hero { min-height: 600px; }
  .hero-content h1 { font-size: 2.4rem; }
  .hero-content .tagline { font-size: 1.2rem; }
  .hero-image img { height: 280px; }

  .features-grid { grid-template-columns: 1fr 1fr; gap: 16px; }
  .feature-card { padding: 30px 20px; }

  .services-grid { grid-template-columns: 1fr 1fr; gap: 16px; }
  .service-card-image { height: 180px; }

  .pricing-grid { grid-template-columns: 1fr; max-width: 400px; margin: 0 auto; }

  .form-row { grid-template-columns: 1fr; }

  .section-header h2 { font-size: 1.8rem; }
  .cta-banner h2 { font-size: 2rem; }

  .service-list { grid-template-columns: 1fr; }

  .footer-grid { grid-template-columns: 1fr; }
  .footer-bottom { flex-direction: column; gap: 16px; text-align: center; }

  .page-header h1,
  .about-hero h1,
  .services-hero h1,
  .pricing-hero h1,
  .booking-hero h1,
  .contact-hero h1 { font-size: 2.2rem; }

  .booking-form { padding: 30px 20px; }
  .contact-form { padding: 30px 20px; }
  .booking-info { padding: 30px 20px; }

  .gallery-grid { grid-template-columns: 1fr; }
  .gallery-item { height: 220px; }
}

/* === 576px === */
@media (max-width: 576px) {
  .hero-content h1 { font-size: 2rem; }
  .hero-buttons { flex-direction: column; align-items: center; }
  .hero-buttons .btn { width: 100%; justify-content: center; }

  .features-grid { grid-template-columns: 1fr; }
  .services-grid { grid-template-columns: 1fr; }
  .service-item { flex-direction: column; align-items: flex-start; gap: 8px; }

  .section-header h2 { font-size: 1.5rem; }
  .section-header p { font-size: 0.95rem; }

  .logo-text { font-size: 1.3rem; }
  .logo-img { height: 40px; }

  .radio-group { flex-direction: column; gap: 8px; }

  .cta-banner h2 { font-size: 1.6rem; }
  .cta-banner p { font-size: 1rem; }
}
