@media (max-width: 900px) {
  .dashboard-grid,
  .onboarding-layout,
  .reading-layout { grid-template-columns: 1fr; }
  .dashboard-main { display: contents; }
  .dashboard-main .zodiac-card { order: 1; }
  .dashboard-side { order: 2; }
  .dashboard-main .swot-feature { order: 3; }
  .onboarding-layout { gap: 18px; padding-top: 28px; }
  .onboarding-intro { text-align: center; }
  .intro-art { width: 220px; margin-top: 10px; }
  .decision-coin { width: 112px; height: 112px; font-size: 28px; }
  .reading-summary { position: static; }
  .selection-grid { grid-template-columns: repeat(10, minmax(30px, 1fr)); }
}

@media (max-width: 680px) {
  .decision-analysis-grid { grid-template-columns: 1fr; }
  .decision-analysis-item:last-child { grid-column: auto; }
  .header-inner,
  .page,
  .page-narrow,
  .onboarding-layout,
  .tarot-header,
  .tarot-page { width: min(100% - 24px, 1180px); }
  .site-header { position: static; }
  .header-inner { min-height: 58px; }
  .desktop-nav { display: none; }
  .page { padding-top: 24px; padding-bottom: 92px; }
  .mobile-nav {
    position: fixed;
    z-index: 45;
    right: 8px;
    bottom: 8px;
    left: 8px;
    display: grid;
    grid-template-columns: repeat(8, minmax(0, 1fr));
    min-height: 64px;
    border: 1px solid var(--line);
    border-radius: 8px;
    padding: 5px;
    background: rgba(255,255,255,.96);
    box-shadow: 0 10px 30px rgba(42,31,26,.18);
    backdrop-filter: blur(15px);
  }
  .mobile-nav .nav-button { display: grid; min-width: 0; min-height: 52px; place-items: center; gap: 1px; padding: 2px; font-size: 10px; }
  .nav-icon { font-size: 16px; }
  .page-heading { align-items: start; flex-direction: column; gap: 10px; }
  .dashboard-grid { gap: 14px; }
  .dashboard-main,
  .dashboard-side { gap: 14px; }
  .two-column,
  .three-column,
  .form-grid,
  .pros-cons,
  .decision-tarot-extra { grid-template-columns: 1fr; }
  .decision-tarot-assist-heading { flex-direction: column; }
  .decision-divination-heading { flex-direction: column; }
  .decision-tarot-assist,
  .decision-divination-assist { padding: 18px; }
  .onboarding-layout { min-height: auto; padding: 24px 0 40px; }
  .onboarding-intro { padding: 0 10px; }
  .onboarding-card { padding: 20px 16px; }
  .intro-art { display: none; }
  .zodiac-hero { min-height: 154px; padding: 16px; }
  .zodiac-symbol { font-size: 64px; }
  .fortune-body { padding: 13px; }
  .fortune-summary { grid-template-columns: 95px 1fr; gap: 10px; }
  .fortune-number { font-size: 42px; }
  .fortune-row { grid-template-columns: 54px 1fr auto; gap: 6px; font-size: 12px; }
  .fortune-metrics { grid-template-columns: repeat(2, 1fr); gap: 10px; }
  .swot-feature { gap: 14px; padding: 16px; }
  .almanac-feature { padding: 18px; }
  .almanac-feature h3 { font-size: 20px; }
  .almanac-feature p { font-size: 14px; }
  .panel { padding: 18px 16px; }
  .spread-picker { grid-template-columns: repeat(2, 1fr); }
  .deck-table { aspect-ratio: 1.15; }
  .deck-grid { inset: 3%; gap: 3px; }
  .major-card { width: 9%; }
  .selection-grid { grid-template-columns: repeat(7, minmax(28px, 1fr)); gap: 6px; }
  .reading-card { grid-template-columns: 70px 1fr; gap: 12px; }
  .card-face { width: 70px; }
  .tarot-form { padding: 18px 14px; }
  .tarot-guide-modal { padding: 10px; }
  .tarot-guide-header { padding: 18px 16px 8px; }
  .tarot-guide-lead { padding: 0 16px 14px; font-size: 13px; }
  .tarot-guide-grid { grid-template-columns: 1fr; padding: 0 16px 12px; }
  .spread-notes { grid-template-columns: repeat(2, 1fr); margin: 0 16px 14px; }
  .guide-toolbar { padding: 12px 16px; }
  .guide-card-list { grid-template-columns: 1fr; max-height: 50vh; padding: 14px 16px 18px; }
  .home-almanac-card { padding: 13px 10px; }
  .home-almanac-card .almanac-card-head { gap: 12px; padding-bottom: 12px; }
  .home-almanac-card .almanac-card-head h2 { font-size: 23px; }
  .home-almanac-card .almanac-card-head p { font-size: 12px; }
  .home-almanac-card .almanac-seal { width: 34px; height: 34px; font-size: 19px; }
  .home-almanac-card .almanac-month-actions { gap: 6px; }
  .home-almanac-card .almanac-month-actions .secondary-button { min-height: 36px; padding: 0 10px; }
  .home-almanac-card .almanac-legend { gap: 10px; padding: 12px 2px 8px; font-size: 11px; }
  .home-almanac-card .almanac-week,
  .home-almanac-card .almanac-grid { gap: 3px; }
  .home-almanac-card .almanac-grid { grid-auto-rows: minmax(52px, 1fr); }
  .home-almanac-card .almanac-day { min-height: 52px; padding: 4px; }
  .home-almanac-card .almanac-day strong { font-size: 15px; }
  .home-almanac-card .almanac-day small,
  .home-almanac-card .almanac-day em { font-size: 8px; }
  .home-almanac-card .almanac-day em { right: 3px; bottom: 3px; }
  .home-almanac-card .almanac-footer { margin-top: 10px; padding: 12px 2px 0; font-size: 12px; }
}

@media (max-width: 420px) {
  .fortune-summary { grid-template-columns: 1fr; }
  .fortune-score { display: flex; align-items: center; justify-content: center; gap: 8px; }
  .history-item { grid-template-columns: 42px 1fr; }
  .history-item > .tag { grid-column: 2; justify-self: start; }
  .selection-grid { grid-template-columns: repeat(6, minmax(26px, 1fr)); }
  .reading-card { grid-template-columns: 1fr; }
  .card-face { width: 82px; }
}
