/* Exodus production — page chrome, responsive, modal, mobile bar */
html { scroll-behavior: smooth; }
html, body { margin: 0; background: var(--surface-base); }
section[id] { scroll-margin-top: 84px; }
@media (max-width: 980px) {
  .svc-grid, .tier-grid { grid-template-columns: 1fr 1fr !important; }
  .pillar-grid { grid-template-columns: repeat(3, 1fr) !important; }
  .schedule-card { grid-template-columns: 1fr !important; }
  .footer-grid { grid-template-columns: 1.4fr 1fr !important; }
  .site-nav { display: none !important; }
}
@media (max-width: 820px) { .faq-row { grid-template-columns: 1fr !important; gap: 18px !important; } .faq-sticky { position: static !important; } }
@media (max-width: 620px) {
  .svc-grid, .tier-grid, .pillar-grid, .footer-grid { grid-template-columns: 1fr !important; }
  .why-join { gap: 14px 28px !important; }
  .footer-trust { grid-template-columns: 1fr !important; }
}
.modal-veil { position: fixed; inset: 0; background: rgba(13,13,13,0.7); backdrop-filter: blur(4px); display: flex; align-items: center; justify-content: center; padding: 20px; z-index: 60; animation: fade 180ms var(--ease-out); }
.modal { width: 100%; max-width: 440px; background: var(--surface-raised); border: 1px solid var(--border-on-dark); border-radius: var(--radius-xl); padding: 28px; box-shadow: var(--shadow-xl); animation: pop 220ms var(--ease-out); }
@keyframes fade { from { opacity: 0; } }
@keyframes pop { from { opacity: 0; transform: translateY(12px) scale(0.98); } }
.toast { position: fixed; bottom: 24px; left: 50%; transform: translateX(-50%); background: var(--state-success); color: #fff; font: var(--fw-semibold) 0.9rem/1 var(--font-sans); padding: 14px 20px; border-radius: var(--radius-pill); box-shadow: var(--shadow-lg); z-index: 70; display: flex; align-items: center; gap: 8px; animation: pop 220ms var(--ease-out); }
@media (max-width: 720px) { .site-phone { display: none !important; } }
.mobile-bar { display: none; }
@media (max-width: 720px) {
  .mobile-bar { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; position: fixed; left: 0; right: 0; bottom: 0; z-index: 50; padding: 10px 14px calc(10px + env(safe-area-inset-bottom)); background: rgba(13,13,13,0.92); backdrop-filter: blur(12px); border-top: 1px solid var(--border-on-dark); }
  .mobile-bar a, .mobile-bar button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; height: 50px; border-radius: var(--radius-md); cursor: pointer; font: var(--fw-bold) 0.9375rem/1 var(--font-sans); text-decoration: none; border: none; }
  .mobile-bar .mb-call { background: rgba(255,255,255,0.1); color: #fff; border: 1px solid var(--border-on-dark-strong); }
  .mobile-bar .mb-book { background: var(--brand-primary); color: #fff; box-shadow: var(--glow-blue); }
  body { padding-bottom: 72px; }
}