/* Mobile responsive overrides — uses !important to beat inline styles */

@media (max-width: 880px) {
  /* Section padding */
  .pp-hero { padding-top: 120px !important; padding-bottom: 64px !important; }
  .pp-intro { padding: 64px 24px 96px !important; }
  .pp-diptych { padding: 96px 24px !important; }
  .pp-founders-intro { padding: 96px 24px 64px !important; }
  .pp-pricing { padding: 0 24px 96px !important; }
  .pp-packages { padding: 96px 24px !important; }
  .pp-faq { padding: 96px 24px !important; }
  .pp-contact { padding: 96px 24px !important; }
  .pp-footer { padding: 64px 24px 32px !important; }

  /* Nav */
  .pp-nav-inner {
    padding: 14px 20px !important;
    grid-template-columns: 1fr auto !important;
    gap: 16px !important;
  }
  .pp-nav-menu { display: none !important; }
  .pp-nav-book {
    padding: 12px 20px !important;
    font-size: 11px !important;
  }

  /* Hero */
  .pp-hero-inner {
    padding: 0 24px !important;
    grid-template-columns: 1fr !important;
    gap: 40px !important;
  }
  .pp-hero-image {
    aspect-ratio: 4 / 3 !important;
    max-width: 480px;
    margin: 0 auto;
    width: 100%;
  }
  .pp-hero-buttons {
    flex-direction: column !important;
    align-items: stretch !important;
  }
  .pp-hero-buttons > * {
    width: 100%;
    justify-content: center !important;
    text-align: center;
  }

  /* Diptych */
  .pp-diptych-bg {
    right: 0 !important;
    opacity: 0.22;
  }
  .pp-diptych-grid {
    grid-template-columns: 1fr !important;
    gap: 48px !important;
  }
  .pp-diptych-image {
    max-width: 420px;
    margin: 0 auto;
    width: 100%;
  }

  /* Pricing */
  .pp-pricing-grid {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }
  .pp-pricing-card {
    padding: 32px !important;
  }

  /* Packages */
  .pp-packages-grid {
    grid-template-columns: 1fr !important;
    gap: 56px !important;
  }

  /* FAQ */
  .pp-faq-grid {
    grid-template-columns: 1fr !important;
    gap: 48px !important;
  }
  .pp-faq-sidebar {
    position: static !important;
  }
  .pp-faq-question { font-size: 20px !important; }

  /* Contact */
  .pp-contact-grid {
    grid-template-columns: 1fr !important;
    gap: 56px !important;
  }
  .pp-contact-form {
    padding: 28px !important;
  }

  /* Footer */
  .pp-footer-grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 32px !important;
  }
  .pp-footer-brand {
    grid-column: 1 / -1;
  }
  .pp-footer-bottom {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 12px !important;
  }
}

@media (max-width: 520px) {
  .pp-footer-grid {
    grid-template-columns: 1fr !important;
  }
}
