/* RVS Header Menu v2 - Full-width top-down slide */
.rvs-header-menu { position: relative; z-index: 99999; font-family: inherit; }
.rvs-header-toggle { position: fixed; top: 18px; right: 22px; z-index:100050; width:52px; height:52px; border-radius:50%; background:#123e6a; display:flex; align-items:center; justify-content:center; cursor:pointer; box-shadow: 0 2px 8px rgba(8,20,40,0.08); }
.rvs-header-toggle:focus { outline:2px solid rgba(0,0,0,0.08); }
.rvs-hamburger { display:inline-block; width:22px; height:18px; position:relative; }
.rvs-hamburger span { display:block; position:absolute; left:0; right:0; height:2px; background:#fff; transition: transform .32s ease, opacity .24s ease; }
.rvs-hamburger span:nth-child(1){ top:0; }
.rvs-hamburger span:nth-child(2){ top:8px; }
.rvs-hamburger span:nth-child(3){ top:16px; }

/* open state - transform into X */
.rvs-header-menu.open .rvs-hamburger span:nth-child(1){ transform: translateY(8px) rotate(45deg); }
.rvs-header-menu.open .rvs-hamburger span:nth-child(2){ opacity:0; transform: scaleX(0); }
.rvs-header-menu.open .rvs-hamburger span:nth-child(3){ transform: translateY(-8px) rotate(-45deg); }

/* Panel full width from top */
.rvs-header-panel { position: fixed; inset: 0 0 auto 0; top: -100vh; height: 100vh; width: 100%; background: #f7fafd; transition: top .48s cubic-bezier(.2,.9,.2,1); z-index:100040; overflow-y:auto; }
.rvs-header-menu.open .rvs-header-panel { top: 0; }

.rvs-header-panel-inner { max-width: 1100px; margin: 48px auto; padding: 12px 28px 80px; }

.rvs-header-close { position: absolute; top: 20px; right: 20px; background: #123e6a; color:#fff; border:0; width:48px; height:48px; border-radius:50%; font-size:22px; line-height:1; cursor:pointer; display:flex; align-items:center; justify-content:center; }
.rvs-header-brand { font-weight:600; font-size:20px; margin-bottom: 20px; color:#16324a; }
.rvs-header-nav .rvs-header-list { list-style: none; margin: 20px 0 0; padding: 0; }
.rvs-header-nav .rvs-header-list li { margin: 10px 0; }
.rvs-header-nav .rvs-header-list li a { display:block; padding: 12px 8px; font-size:20px; color:#16324a; text-decoration:none; }

/* Submenu toggle */
.rvs-header-list .menu-item-has-children > a { position: relative; }
.rvs-submenu-toggle { background: transparent; border:0; font-size:18px; padding: 8px; margin-left:8px; cursor:pointer; }

/* CTA bar at bottom similar to screenshot */
.rvs-cta-wrap { margin-top: 36px; }
.rvs-cta { display:inline-block; width:100%; background:#2b94ff; color:#fff; padding:18px 26px; border-radius:40px; text-decoration:none; font-size:18px; font-weight:600; box-shadow: 0 6px 18px rgba(43,148,255,0.18); }
.rvs-cta-arrow { display:inline-block; margin-left:12px; background: rgba(0,0,0,0.12); width:48px; height:48px; border-radius:50%; text-align:center; line-height:48px; font-weight:700; color:#fff; float:right; }

.rvs-header-overlay { position: fixed; inset:0; background: rgba(3,21,50,0.06); opacity:0; pointer-events:none; transition: opacity .28s ease; z-index:100030; }
.rvs-header-menu.open .rvs-header-overlay { opacity:1; pointer-events:auto; }

/* Mobile tweaks */
@media (max-width: 768px) {
  .rvs-header-panel-inner { margin: 18px auto; padding: 10px 18px 60px; }
  .rvs-header-nav .rvs-header-list li a { font-size:18px; padding:10px 6px; }
  .rvprimary-wrapper{position: relative; align-items: center;text-align: center; display: flex; justify-content: flex-end;}
  .rvprimary-toggle{padding: 0px; color: #000 !important; background: none !important;}
  .rvprimary-menu{ left: -400px !important;  width: 500px !important;  height: 1000px;}
  
}
