@media (max-width: 768px) {
  .nav-toggle { display: block; }
  .nav-links {
    display: none; position: fixed; top: 50px; right: 1rem;
    background: rgba(10,8,4,0.97); backdrop-filter: blur(20px);
    border: 1px solid rgba(201,146,42,0.15);
    flex-direction: column; align-items: flex-start;
    gap: 0; padding: 0.5rem 0; min-width: 180px; z-index: 100;
  }
  .nav-links.open { display: flex; }
  .nav-links li { width: 100%; }
  .nav-links a {
    font-size: 0.85rem; letter-spacing: 0.15em;
    display: block; padding: 0.6rem 1.2rem;
  }
  .nav-links a:hover { background: rgba(201,146,42,0.08); }

  .session-card { grid-template-columns: auto 1fr; }
  .session-badge { display: none; }
  
  /* Mobile hero */
  .hero-title { font-size: 2rem; }
  .hero-subtitle { font-size: 0.8rem; letter-spacing: 0.15em; }
  .hero-desc { font-size: 1rem; padding: 0 1rem; }
  
  /* Mobile sections */
  .section-parchment { padding: 3rem 1.5rem; }
  .section-dark { padding: 3rem 1.5rem; }
  .section-title { font-size: 1.5rem; }
  
  /* Mobile dice */
  .dice-btn { width: 60px; height: 60px; font-size: 0.75rem; }
  .dice-result { font-size: 2rem; }
  
  /* Mobile footer */
  .footer-links { flex-direction: column; gap: 1rem; }
  .footer-copy { font-size: 0.75rem; }
}

@media (max-width: 400px) {
  body { font-size: 16px; }
  .hero { min-height: 90vh; }
  .hero-emblem { font-size: 3.5rem; }
  .btn { padding: 0.7rem 1.5rem; font-size: 0.8rem; }
}

/* Tablet */
@media (min-width: 601px) and (max-width: 1024px) {
  .nav-links { gap: 1.5rem; }
  .hero-title { font-size: 3rem; }
}

/* Large screens */
@media (min-width: 1200px) {
  .container { max-width: 1200px; }
}
