/* Dream Mantra landing pages — mobile-first responsive */
html, body { max-width: 100vw; overflow-x: hidden; }
img, video { max-width: 100%; height: auto; }

@media (max-width: 1024px) {
  .session-timeline { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 1rem !important; }
  .session-timeline::before { display: none !important; }
}

@media (max-width: 768px) {
  .flash-timer-bar { padding: 0.35rem 0.5rem !important; }
  .flash-timer-inner { flex-wrap: wrap !important; justify-content: center !important; gap: 0.3rem !important; }
  .flash-brand, .flash-logo { display: none !important; }
  .flash-timer-center { flex: 1 1 100% !important; justify-content: center !important; }
  .flash-label { font-size: 0.65rem !important; line-height: 1.2 !important; }
  .flip-box { width: 1.35rem !important; height: 1.55rem !important; font-size: 0.75rem !important; }
  .flash-timer-cta { font-size: 0.62rem !important; padding: 0.3rem 0.5rem !important; }

  .modern-table-header, .modern-table-row { grid-template-columns: 1fr !important; }
  .mt-col { font-size: 0.8rem !important; padding: 0.65rem 0.85rem !important; }
  .mt-cell { font-size: 0.72rem !important; padding: 0.55rem 0.75rem !important; border-right: none !important; word-break: break-word; }

  .session-timeline { grid-template-columns: 1fr !important; }
  .session-stop { display: flex !important; align-items: flex-start !important; gap: 0.75rem !important; text-align: left !important; }
  .session-node { flex-shrink: 0 !important; margin: 0 !important; }

  #what-you-get-grid { grid-template-columns: 1fr !important; }
  .testimonial-card { width: min(90vw, 280px) !important; }
  .join-modal-panel, .modal-panel, [class*="modal"] > div {
    width: calc(100vw - 1rem) !important;
    max-width: calc(100vw - 1rem) !important;
    margin: 0.5rem auto !important;
    max-height: 92vh !important;
    overflow-y: auto !important;
  }
  section { padding-left: 1rem !important; padding-right: 1rem !important; }
  h1 { font-size: clamp(1.6rem, 7vw, 2.5rem) !important; line-height: 1.15 !important; }
}

@media (max-width: 480px) {
  .pointer-list li { font-size: 0.72rem !important; }
  .quick-stat, .stat-tile, .highlight-chip, .outcome-chip { padding: 0.65rem 0.5rem !important; }
  .btn-pulse-glow, .js-open-join-modal { width: 100%; justify-content: center; }
}
