/* ==========================================================================
   PYTHAL — Responsive rules
   Mobile is art-directed, not a shrunken desktop.
   ========================================================================== */

/* ---- ≤1024px : collapse mega grid, tighten split modules ---- */
@media (max-width: 1024px){
  .manifesto-grid{ grid-template-columns: 1fr; gap: var(--sp-4); }
  .feature-story{ grid-template-columns: 1fr; min-height: auto; }
  .feature-story-media{ aspect-ratio: 4/3; }
  .feature-story-copy{ padding: var(--sp-6) var(--container-pad); }
  .pillars-grid{ grid-template-columns: repeat(2, 1fr); }
  .contact-grid{ grid-template-columns: 1fr; gap: var(--sp-5); }
  .footer-top{ grid-template-columns: 1fr 1fr 1fr; }
  .footer-brand{ grid-column: 1 / -1; margin-bottom: var(--sp-3); }
}

/* ---- ≤900px : nav collapses to drawer ---- */
@media (max-width: 900px){
  .primary-nav{ display: none; }
  .menu-toggle{
    display: inline-flex;
    align-items: center; justify-content: center;
    width: 44px; height: 44px;
    background: none; border: none; color: inherit;
  }
  .header-inner{ grid-template-columns: auto 1fr auto; }
  .wordmark{ justify-self: start; }
  .header-actions{ gap: var(--sp-1); }
  .region-pill span.region-pill-label{ display: none; }

  .worlds-grid{ grid-template-columns: 1fr 1fr; }
  .world-card, .world-card:nth-child(1), .world-card:nth-child(2),
  .world-card:nth-child(3), .world-card:nth-child(4), .world-card:nth-child(5){
    grid-column: span 1;
    min-height: 320px;
  }
  .journal-grid, .index-grid{ grid-template-columns: 1fr 1fr; }
  .region-grid{ grid-template-columns: 1fr; }
}

/* ---- ≤680px : single-column editorial rhythm ---- */
@media (max-width: 680px){
  :root{ --header-h: 68px; }

  .worlds-grid{ grid-template-columns: 1fr; }
  .journal-grid, .index-grid{ grid-template-columns: 1fr; }
  .pillars-grid{ grid-template-columns: 1fr; }

  .hero{ min-height: 86vh; align-items: flex-end; }
  .hero-content{ padding-block: var(--sp-6) var(--sp-6); max-width: 100%; }
  .hero-ctas{ flex-direction: column; align-items: stretch; }
  .hero-ctas .btn{ justify-content: center; }

  .page-hero{ min-height: 46vh; }
  .page-hero .hero-content{ padding-block: var(--sp-6) var(--sp-4); }

  .newsletter-form{ flex-direction: column; }
  .field{ flex: 1 1 auto; }

  .footer-top{ grid-template-columns: 1fr 1fr; gap: var(--sp-4) var(--sp-3); }
  .footer-brand{ grid-column: 1 / -1; }
  .footer-bottom{ flex-direction: column; align-items: flex-start; }

  .moment blockquote{ font-size: 1.6rem; }

  .region-select-list .region-row{ flex-direction: column; align-items: flex-start; gap: var(--sp-2); }

  .article-header{ padding-top: var(--sp-4); }
}

/* ---- ≤430px : smallest phones ---- */
@media (max-width: 430px){
  .container{ padding-inline: 1.1rem; }
  .btn{ padding: 0.9rem 1.5rem; }
  .nav-drawer-links a{ font-size: 1.6rem; }
}

/* ---- ≥1440px : editorial breathing room on very large screens ---- */
@media (min-width: 1440px){
  :root{ --container-pad: 4.5rem; }
}

/* ---- Print ---- */
@media print{
  .site-header, .site-footer, .region-toast, .search-overlay, .menu-toggle{ display: none !important; }
}
