/* =========================================================================
   The Pentacle Cycle — mobile.css
   Responsive overrides. Two breakpoints: 900px (inline nav links/CTA ->
   hamburger + fixed dropdown) and 600px (further collapse). Collapse
   rules use !important so page-specific CSS can never accidentally break
   the mobile nav layout.
   ========================================================================= */

@media (max-width: 900px) {
  .site-nav__toggle {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 2.5rem;
    height: 2.5rem;
    border: 1px solid var(--color-gold-dim);
    border-radius: var(--radius);
    color: var(--color-gold-light);
  }

  .site-nav__toggle svg {
    width: 1.25rem;
    height: 1.25rem;
  }

  .site-nav__drawer {
    display: none !important;
    position: fixed !important;
    top: var(--nav-height) !important;
    left: 0 !important;
    right: 0 !important;
    max-height: calc(100vh - var(--nav-height)) !important;
    overflow-y: auto !important;
    background: var(--color-bg-elevated) !important;
    border-bottom: 1px solid var(--color-border) !important;
    padding: var(--space-4) var(--space-5) !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0 !important;
  }

  .site-nav__links {
    flex-direction: column !important;
    gap: var(--space-1) !important;
  }

  .site-nav__links a {
    border-bottom: none !important;
    border-left: 2px solid transparent !important;
  }

  .site-nav__links a[aria-current="page"] {
    border-left-color: var(--color-gold) !important;
  }

  .site-nav__cta {
    margin-top: var(--space-4) !important;
    padding-top: var(--space-4) !important;
    border-top: 1px solid var(--color-border) !important;
  }

  .site-nav__cta .btn {
    width: 100% !important;
    justify-content: center !important;
  }

  .site-nav.is-open .site-nav__drawer {
    display: flex !important;
  }

  .hero__grid {
    grid-template-columns: 1fr !important;
  }

  .hero__art {
    order: -1;
  }

  .essay-grid {
    grid-template-columns: 1fr !important;
  }

  .essay-art {
    position: static !important;
    order: -1;
  }

  .site-footer__grid {
    grid-template-columns: 1fr 1fr !important;
  }
}

@media (max-width: 600px) {
  :root {
    --text-3xl: 2.75rem;
    --text-2xl: 2.25rem;
    --text-xl: 1.75rem;
    --text-lg: 1.375rem;
  }

  .container {
    padding: 0 var(--space-4) !important;
  }

  section {
    padding: var(--space-7) 0 !important;
  }

  .card-grid {
    grid-template-columns: 1fr !important;
  }

  .site-footer__grid {
    grid-template-columns: 1fr !important;
    gap: var(--space-6) !important;
  }

  .hero__actions {
    flex-direction: column !important;
    align-items: stretch !important;
  }

  .hero__actions .btn {
    justify-content: center !important;
  }
}
