/* Global Reset */
* { margin: 0; padding: 0; box-box: border-box; }
body { font-family: 'Inter', sans-serif; overflow-x: hidden; color: #1a1a1a; }

/* Add the CSS code from our previous steps here... */

/* --- Dynamic Reveal Effect --- */
.reveal-fade {
    opacity: 0;
    transform: translateY(30px);
    transition: all 0.8s ease-out;
}

.reveal-fade.visible {
    opacity: 1;
    transform: translateY(0);
}
/* --- Mobile Responsiveness --- */

@media (max-width: 768px) {
  /* Header Adjustments */
  .header-container {
    padding: 1rem 1.5rem;
  }
  .nav-links {
    display: none; /* Hide nav links on mobile or use a hamburger menu */
  }

  /* Hero Section: Stack Vertically */
  .hero-section {
    grid-template-columns: 1fr;
    padding: 2rem 1.5rem;
    text-align: center;
  }
  .hero-title {
    font-size: 3rem;
  }
  .hero-image-container {
    margin-top: 3rem;
  }
  .art-card-info {
    left: 50%;
    transform: translateX(-50%);
    width: 80%;
  }

  /* Gallery: Switch to 1 Column */
  .gallery-grid {
    column-count: 1;
    padding: 0;
  }
  .gallery-container {
    padding: 2rem 1.5rem;
  }

  /* About Section: Stack Image & Text */
  .about-grid {
    grid-template-columns: 1fr;
    gap: 3rem;
  }
  .about-section {
    padding: 5rem 1.5rem;
  }
  .stats-grid {
    justify-content: space-between;
    gap: 1rem;
  }

  /* Featured Artist: Stack */
  .artist-wrapper {
    flex-direction: column;
    text-align: center;
  }
  .artist-info {
    padding-right: 0;
    margin-bottom: 3rem;
  }
  .artist-name {
    font-size: 3rem;
  }

  /* Contact Page: Stack Form & Sidebar */
  .contact-container {
    grid-template-columns: 1fr;
    gap: 4rem;
  }
  .input-row {
    flex-direction: column;
  }
  
  /* Footer: Stack Items */
  .footer-top {
    flex-direction: column;
    text-align: center;
  }
  .footer-links {
    justify-content: center;
    gap: 2rem;
    margin-top: 3rem;
  }
}

/* About Section Styles */
.about-section { padding: 10rem 4rem; background: #fff; }
.about-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 5rem; align-items: center; }
.about-text h2 { font-family: 'Playfair Display', serif; font-size: 3.5rem; margin-bottom: 2rem; }
.about-text p { color: #666; line-height: 1.8; margin-bottom: 2.5rem; }
.stats-grid { display: flex; gap: 4rem; border-top: 1px solid #eee; padding-top: 2rem; }
.stat-item h3 { font-size: 2rem; margin-bottom: 5px; }
.stat-item p { font-size: 0.8rem; text-transform: uppercase; letter-spacing: 1px; }
.about-image img { width: 100%; height: 600px; object-fit: cover; }

/* Contact Page Styles */
.contact-page { padding: 6rem 4rem; min-height: 80vh; }
.contact-hero { text-align: center; margin-bottom: 5rem; }
.contact-hero h1 { font-family: 'Playfair Display', serif; font-size: 4rem; }
.contact-container { display: grid; grid-template-columns: 2fr 1fr; gap: 6rem; max-width: 1200px; margin: 0 auto; }
.contact-form { display: flex; flex-direction: column; gap: 1.5rem; }
.input-row { display: flex; gap: 1rem; }
.contact-form input, .contact-form select, .contact-form textarea {
    padding: 1.2rem; border: 1px solid #ddd; font-family: inherit; outline: none; transition: border 0.3s;
}
.contact-form input:focus { border-color: #000; }
.submit-btn { background: #000; color: #fff; padding: 1.2rem; border: none; cursor: pointer; text-transform: uppercase; letter-spacing: 2px; }
.info-block { margin-bottom: 3rem; }
.info-block h4 { margin-bottom: 1rem; text-transform: uppercase; font-size: 0.8rem; letter-spacing: 2px; color: #888; }