/* Mobile/tablet hamburger + drawer */
.rp-burger { display: none; }
.rp-top-cta { display: none; }

@media (max-width: 900px) {
  .rp-burger {
    display: inline-flex !important;
    align-items: center; justify-content: center;
    position: fixed;
    top: 18px; right: 18px;
    width: 46px; height: 46px;
    background: #fff;
    border: 1px solid rgba(10,37,64,.14);
    box-shadow: 0 6px 20px rgba(8,24,49,.16);
    border-radius: 12px; cursor: pointer; padding: 0;
    z-index: 900;
  }
  .rp-burger span {
    display: block; width: 18px; height: 2px; background: #0A2540;
    position: relative;
  }
  .rp-burger span::before,
  .rp-burger span::after {
    content: ""; position: absolute; left: 0; width: 18px; height: 2px; background: #0A2540;
  }
  .rp-burger span::before { top: -6px; }
  .rp-burger span::after  { top:  6px; }

  /* Top-of-page Enroll CTA, matches desktop nav CTA */
  .rp-top-cta {
    display: inline-flex !important;
    align-items: center; justify-content: center; gap: 8px;
    position: fixed;
    top: 18px; right: 74px;
    height: 46px; padding: 0 16px;
    background: #fff; color: #0A2540 !important;
    font-weight: 700; font-size: 14px;
    text-decoration: none;
    border-radius: 100px;
    animation: glowpulse 3.2s ease-in-out infinite;
    box-shadow: 0 6px 20px rgba(8,24,49,.16);
    z-index: 900; white-space: nowrap;
  }
  .rp-top-cta img { height: 15px; width: auto; }
  .rp-top-cta:hover { color: #0A2540 !important; }

}


.rp-drawer-backdrop {
  position: fixed; inset: 0; background: rgba(8,24,49,.45);
  opacity: 0; pointer-events: none; transition: opacity .2s ease;
  z-index: 998;
}
.rp-drawer {
  position: fixed; top: 0; right: 0; height: 100vh;
  width: min(360px, 88vw);
  background: #fff;
  box-shadow: -20px 0 60px rgba(8,24,49,.25);
  transform: translateX(100%);
  transition: transform .28s cubic-bezier(.4,0,.2,1);
  z-index: 999;
  display: flex; flex-direction: column;
  overflow-y: auto;
}
.rp-drawer.open { transform: translateX(0); }
.rp-drawer-backdrop.open { opacity: 1; pointer-events: auto; }

.rp-drawer-head {
  display: flex; align-items: center; justify-content: space-between;
  padding: 18px 20px; border-bottom: 1px solid #EEF3F9;
}
.rp-drawer-close {
  width: 38px; height: 38px; border-radius: 10px;
  background: transparent; border: 1px solid #EEF3F9;
  cursor: pointer; font-size: 20px; color: #0A2540; line-height: 1;
}
.rp-drawer-body { padding: 12px 12px 32px; }
.rp-drawer-group { padding: 6px 8px; }
.rp-drawer-title {
  font-size: 11px; font-weight: 700; text-transform: uppercase;
  letter-spacing: .08em; color: #6B7A90; padding: 12px 10px 6px;
}
.rp-drawer a {
  display: flex; align-items: center; gap: 10px;
  padding: 12px 12px; border-radius: 10px;
  color: #0A2540 !important; text-decoration: none;
  font-size: 15px; font-weight: 600;
}
.rp-drawer a:hover { background: #E9F7EF; color: #2F7A50 !important; }
.rp-drawer .rp-cta {
  margin: 14px 10px 6px; padding: 14px 16px; border-radius: 100px;
  background: #0A2540; color: #fff !important; justify-content: center;
  font-weight: 700;
}
.rp-drawer .rp-cta:hover { background: #0A2540; color: #fff !important; opacity: .92; }

body.rp-drawer-open { overflow: hidden; }

/* Drawer menu mirroring the desktop nav (groups, icons, dividers, green items) */
.rp-drawer .rp-group { margin: 2px 0 6px; }
.rp-drawer a.rp-item {
  display: flex; align-items: center; gap: 10px;
  padding: 11px 12px; border-radius: 10px;
  color: #0A2540 !important; font-size: 15px; font-weight: 600;
}
.rp-drawer a.rp-group-head { font-size: 15.5px; font-weight: 800; }
.rp-drawer a.rp-sub {
  font-size: 14px; font-weight: 600;
  margin-left: 10px; padding: 10px 12px;
  color: #0A2540 !important;
}
.rp-drawer a.rp-green { color: #2F7A50 !important; font-weight: 700; }
.rp-drawer a.rp-item:hover,
.rp-drawer a.rp-item:active { background: #E9F7EF; color: #2F7A50 !important; }
.rp-drawer .rp-ic { width: 17px; height: 17px; flex: 0 0 17px; object-fit: contain; }
.rp-drawer .rp-ic-dot {
  width: 6px; height: 6px; flex: 0 0 6px; margin: 0 5px 0 6px;
  border-radius: 50%; background: #CBD8E4;
}
.rp-drawer .rp-divider { height: 1px; background: #EEF3F9; margin: 10px 12px; }
.rp-drawer .rp-divider-sub { margin: 6px 22px; }
.rp-drawer .rp-cta img { height: 16px; width: auto; flex: 0 0 auto; }
