/* ============================================================
   REDEMPTION HOUSE — RESPONSIVE
   All @media queries from styles.css. Load AFTER styles.css so
   overrides always win.
   ============================================================ */
@media (max-width:640px){ .wrap{ padding:0 20px; } }
@media (max-width:640px){ .wrap-narrow{ padding:0 20px; } }
@media (max-width:1020px){ .navlinks{ display:none; } }
@media (max-width:900px){ .hero-grid{ grid-template-columns:1fr; } }
@media (max-width:700px){ .section-note{ text-align:left; } }
@media (max-width:800px){ .flyer{ grid-template-columns:1fr; } }
@media (max-width:800px){ .flyer-left{ border-right:none; border-bottom:1px solid var(--line); } }
@media (max-width:900px){ .ticket-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:520px){ .ticket-grid{ grid-template-columns:1fr; } }
@media (max-width:900px){ .pillar-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:520px){ .pillar-grid{ grid-template-columns:1fr; } }
@media (max-width:900px){ .arena-grid{ grid-template-columns:1fr; } }
@media (max-width:900px){ .talent-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:520px){ .talent-grid{ grid-template-columns:1fr; } }
@media (max-width:900px){ .rhythm-track{ grid-template-columns:repeat(4,1fr); } }
@media (max-width:520px){ .rhythm-track{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:800px){ .passport-track{ grid-template-columns:1fr; gap:24px; } }
@media (max-width:800px){ .passport-track::before{ display:none; } }
@media (max-width:800px){ .awards-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:520px){ .awards-grid{ grid-template-columns:1fr; } }
@media (max-width:800px){ .join-panel{ grid-template-columns:1fr; padding:34px; } }
@media (max-width:900px){ .wall-grid{ grid-template-columns:repeat(3,1fr); } }
@media (max-width:520px){ .wall-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:800px){ .media-strip{ grid-template-columns:1fr 1fr; } }
@media (max-width:520px){ .media-strip{ grid-template-columns:1fr; } }
@media (max-width:800px){ .find-grid{ grid-template-columns:1fr; } }
@media (prefers-reduced-motion: reduce){ *{ animation:none !important; transition:none !important; } }
@media (max-width:600px){ .progress-label{ display:none; } .progress-line{ width:26px; } }
@media (max-width:600px){ .apply-card{ padding:28px 22px; } }
@media (max-width:640px){ .role-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:600px){ .field-row{ grid-template-columns:1fr; } }
@media (max-width:860px){ .sidebar{ display:none; } }
@media (max-width:860px){ .main{ margin-left:0; } }
@media (max-width:1100px){ .stats{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:520px){ .stats{ grid-template-columns:1fr; } }
@media (max-width:1000px){ .grid-2{ grid-template-columns:1fr; } }
@media (max-width:700px){ .profile-stats{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:900px){ .profile-body-grid{ grid-template-columns:1fr; } }
@media (max-width:860px){ .hamburger-btn{ display:flex; } }
@media (max-width:600px){ .countdown-row{ max-width:none; } }
@media (max-width:640px){ .lineup-full-row{ grid-template-columns:60px 1fr; } .lineup-full-row .lineup-full-link{ display:none; } }
@media (max-width:900px){ .editions-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:520px){ .editions-grid{ grid-template-columns:1fr; } }
@media (max-width:700px){ .bracket{ grid-template-columns:1fr; } }
@media (max-width:900px){ .media-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:520px){ .media-grid{ grid-template-columns:1fr; } }

/* ---------- JOIN PAGE MOBILE ---------- */
@media (max-width:600px){
  .apply-shell{ padding:32px 0 60px; }
  .apply-head h1{ font-size:32px; }
  .apply-head .sub{ font-size:15px; }
  .progress{ gap:4px; margin-bottom:32px; }
  .progress-step{ flex-direction:column; gap:4px; align-items:center; }
  .progress-label{ font-size:9px; }
  .progress-num{ width:28px; height:28px; font-size:10px; }
  .progress-line{ width:16px; }
  .apply-card{ padding:24px 18px; border-radius:4px; }
  .apply-step h3{ font-size:20px; }
  .apply-step-note{ font-size:13px; margin-bottom:22px; }
  .role-grid{ grid-template-columns:repeat(2,1fr); gap:8px; }
  .role-card{ padding:14px 10px; }
  .role-card span{ font-size:12px; }
  .role-card svg{ width:18px; height:18px; }
  .field{ margin-bottom:16px; }
  .field label{ font-size:10px; margin-bottom:6px; }
  .field input, .field textarea, .field select{ padding:10px 12px; font-size:13px; }
  .field-row{ grid-template-columns:1fr; gap:0; }
  .upload-box{ padding:18px; font-size:12px; }
  .review-row{ padding:10px 0; font-size:13px; gap:12px; }
  .review-row span:first-child{ font-size:12px; }
  .review-row span:last-child{ font-size:13px; }
  .apply-actions{ flex-wrap:wrap; }
  .apply-actions .btn{ flex:1 1 auto; min-width:120px; text-align:center; }
  .success-state h3{ font-size:22px; }
  .success-state .success-icon svg{ width:48px; height:48px; }
}

/* ---------- CONTACT PAGE MOBILE ---------- */
@media (max-width:900px){
  .profile-body-grid{ grid-template-columns:1fr; gap:28px; }
}
@media (max-width:600px){
  .profile-body-grid{ grid-template-columns:1fr; gap:20px; }
  #contactForm{ padding:18px 16px; border-radius:4px; }
  #contactForm .field{ margin-bottom:14px; }
  #contactForm .field label{ font-size:10px; margin-bottom:5px; }
  #contactForm .field input, #contactForm .field textarea, #contactForm .field select{ padding:10px 12px; font-size:13px; }
  #contactForm .field textarea{ min-height:80px; }
  .profile-side-card{ padding:18px; margin-bottom:12px; }
  .map-box{ min-height:140px; }
  .apply-actions{ flex-direction:column; gap:8px; }
  .apply-actions .btn{ width:100%; text-align:center; }
  .apply-actions .spacer{ display:none; }
}
