
/* Rovexa Premium UI refinement layer */
:root{
  --rv-glass:rgba(255,255,255,.58);
  --rv-glass-strong:rgba(255,255,255,.76);
  --rv-glass-border:rgba(47,31,58,.105);
  --rv-glass-shadow:0 22px 70px rgba(40,24,54,.10);
}

/* Premium sticky glass header */
.topbar{
  padding:16px 22px;
  transition:padding .32s cubic-bezier(.2,.8,.2,1), filter .32s ease;
}
.topbar::before{
  content:"";
  position:absolute;
  left:50%;
  top:7px;
  width:min(1220px,calc(100% - 50px));
  height:1px;
  transform:translateX(-50%);
  background:linear-gradient(90deg,transparent,rgba(204,72,174,.28),rgba(124,76,255,.25),transparent);
  pointer-events:none;
  opacity:.72;
}
.topbar--scrolled{padding-top:8px;padding-bottom:8px}
.nav-wrap{
  position:relative;
  width:min(1180px,100%);
  min-height:60px;
  padding:7px 9px 7px 17px;
  border:1px solid rgba(63,43,74,.11);
  border-radius:20px;
  background:
    linear-gradient(135deg,rgba(255,255,255,.80),rgba(255,250,253,.52)),
    rgba(255,255,255,.54);
  box-shadow:
    0 24px 80px rgba(51,33,63,.11),
    inset 0 1px 0 rgba(255,255,255,.96),
    inset 0 -1px 0 rgba(120,85,132,.035);
  backdrop-filter:blur(26px) saturate(155%);
  -webkit-backdrop-filter:blur(26px) saturate(155%);
  overflow:visible;
}
.nav-wrap::after{
  content:"";
  position:absolute;
  inset:1px;
  border-radius:19px;
  pointer-events:none;
  background:
    radial-gradient(circle at 14% 0%,rgba(255,255,255,.78),transparent 28%),
    radial-gradient(circle at 88% 0%,rgba(230,217,255,.28),transparent 22%);
}
.topbar--scrolled .nav-wrap{
  min-height:54px;
  background:
    linear-gradient(135deg,rgba(255,255,255,.72),rgba(250,246,252,.61)),
    rgba(255,255,255,.52);
  box-shadow:
    0 18px 55px rgba(44,28,56,.14),
    inset 0 1px 0 rgba(255,255,255,.98);
  border-color:rgba(58,39,70,.12);
}
.brand,.main-nav,.nav-actions{position:relative;z-index:2}
.brand{padding:3px 5px}
.brand img{width:88px;height:40px;filter:drop-shadow(0 5px 14px rgba(39,23,50,.08));transition:transform .25s ease}
.brand:hover img{transform:translateY(-1px) scale(1.015)}
.main-nav{gap:30px}
.main-nav__item--services{position:relative}
.main-nav__service-head{display:flex;align-items:center;gap:2px}
.main-nav__service-head .main-nav__link{padding-right:3px}
.main-nav__link{
  padding:9px 2px;
  color:#29232d;
  font-size:10.5px;
  font-weight:700;
  transition:color .22s ease,transform .22s ease;
}
.main-nav__link:hover,.main-nav__link:focus-visible,.main-nav__link.is-current{color:#7349ca}
.main-nav__link:hover{transform:translateY(-1px)}
.services-menu-toggle{
  display:grid;
  place-items:center;
  width:19px;
  height:24px;
  padding:0;
  border:0;
  background:transparent;
  color:#817784;
  cursor:pointer;
}
.services-menu-toggle svg{width:11px;height:11px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:transform .22s ease}
.main-nav__item--services.is-open .services-menu-toggle svg{transform:rotate(180deg)}
.nav-actions{gap:7px}
.nav-icon-button,.nav-account-button{
  width:38px;height:38px;
  border-radius:13px;
  background:rgba(255,255,255,.58);
  border:1px solid rgba(59,40,70,.105);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 6px 18px rgba(48,31,58,.04);
  transition:transform .24s ease,background .24s ease,border-color .24s ease,box-shadow .24s ease;
}
.nav-icon-button:hover,.nav-icon-button:focus-visible,.nav-account-button:hover,.nav-account-button:focus-visible{
  transform:translateY(-2px);
  background:rgba(255,255,255,.9);
  border-color:rgba(119,76,255,.25);
  box-shadow:0 11px 28px rgba(51,29,62,.12),inset 0 1px 0 rgba(255,255,255,.98);
}
.nav-icon-button svg,.nav-account-button svg{width:16px;height:16px}
.rv-cart-count{min-width:16px;height:16px;font-size:7px;top:-5px;right:-5px}
.rv-header-cta{
  min-height:40px;
  padding:0 18px;
  border-radius:13px;
  font-size:9px;
  letter-spacing:-.01em;
  box-shadow:0 15px 35px rgba(202,65,158,.20),inset 0 1px 0 rgba(255,255,255,.22);
}
.rv-header-cta svg{width:14px;height:14px}
.rv-header-cta:hover{transform:translateY(-2px) scale(1.012)}

.services-menu{
  position:absolute;
  left:50%;
  top:calc(100% + 14px);
  width:min(520px,calc(100vw - 44px));
  transform:translateX(-50%) translateY(-6px);
  transform-origin:top center;
  border:1px solid rgba(56,38,69,.105);
  border-radius:18px;
  background:rgba(255,255,255,.80);
  box-shadow:0 30px 80px rgba(47,30,59,.15),inset 0 1px 0 rgba(255,255,255,.96);
  backdrop-filter:blur(26px) saturate(140%);
  -webkit-backdrop-filter:blur(26px) saturate(140%);
  opacity:0;
  pointer-events:none;
  transition:opacity .22s ease,transform .22s ease;
}
.services-menu::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:-16px;
  height:18px;
  pointer-events:auto;
}
.main-nav__item--services.is-open .services-menu{
  opacity:1;
  transform:translateX(-50%) translateY(0);
  pointer-events:auto;
}
.services-menu[hidden]{display:none}
.services-menu__grid{gap:8px;padding:11px}
.services-menu__link{padding:10px;border-radius:13px}
.services-menu__link:hover,.services-menu__link:focus-visible{background:rgba(251,247,253,.88);border-color:rgba(215,199,226,.7)}
.services-menu__icon{width:29px;height:29px;border-radius:10px}

/* Site-wide micro-interactions and section reveals */
.rv-site-main{overflow:clip}
.rv-motion-enter{
  opacity:0;
  transform:translateY(26px);
  transition:opacity .72s cubic-bezier(.2,.75,.2,1),transform .72s cubic-bezier(.2,.75,.2,1);
}
.rv-motion-enter.is-visible{opacity:1;transform:none}
.rv-fg-service-card,.rv-fg-result-card,.rv-fg-price-card,.rv-fg-faq-item,.rv-fg-step{
  transition:transform .32s cubic-bezier(.2,.8,.2,1),box-shadow .32s ease,border-color .32s ease;
}
.rv-fg-service-card:hover,.rv-fg-price-card:hover{transform:translateY(-7px)}
.rv-fg-result-card:hover{box-shadow:0 28px 75px rgba(44,27,54,.10)}
.rv-fg-step:hover{transform:translateX(5px)}
.rv-fg-service-card::before,.rv-fg-price-card::before,.rv-fg-result-card::before{
  content:"";
  position:absolute;
  left:0;right:0;top:0;height:1px;
  opacity:0;
  background:var(--rv-grad);
  transition:opacity .28s ease;
  pointer-events:none;
}
.rv-fg-service-card,.rv-fg-price-card,.rv-fg-result-card{position:relative;overflow:hidden}
.rv-fg-service-card:hover::before,.rv-fg-price-card:hover::before,.rv-fg-result-card:hover::before{opacity:.8}

/* Pricing selector polish */
.rv-fg-pricing-selector{
  border-radius:22px;
  padding:18px;
  box-shadow:0 22px 65px rgba(42,26,51,.075),inset 0 1px 0 rgba(255,255,255,.9);
}
.rv-fg-service-tab{
  padding:10px 14px;
  font-size:8.3px;
  border-color:rgba(73,53,82,.10);
  background:rgba(255,255,255,.75);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.92);
}
.rv-fg-service-tab.is-active{
  box-shadow:0 12px 25px rgba(47,26,57,.16),inset 0 1px 0 rgba(255,255,255,.12);
}
.rv-fg-billing-toggle{
  box-shadow:0 8px 24px rgba(43,29,51,.06),inset 0 1px 0 rgba(255,255,255,.93);
}
.rv-fg-billing-toggle button{min-height:31px}
.rv-fg-selected-service{
  box-shadow:0 16px 40px rgba(40,26,50,.06),inset 0 1px 0 rgba(255,255,255,.9);
}
.rv-fg-price-card{box-shadow:0 18px 45px rgba(41,26,51,.06)}
.rv-fg-price-card--pro{box-shadow:0 25px 65px rgba(205,65,155,.13)}
.rv-fg-outline-btn,.rv-fg-gradient-btn{transition:transform .22s ease,box-shadow .22s ease,background .22s ease,border-color .22s ease}
.rv-fg-outline-btn:hover{transform:translateY(-2px);background:#201b23;color:#fff;border-color:#201b23;box-shadow:0 12px 25px rgba(29,24,33,.15)}

/* More visual life, without heavy JS */
.rv-fg-hero__wash--left{animation:rvAmbientLeft 10s ease-in-out infinite}
.rv-fg-hero__wash--right{animation:rvAmbientRight 13s ease-in-out infinite}
.rv-fg-growth-circle{animation:rvOrbPulse 8s ease-in-out infinite}
.rv-fg-result-badge{animation:rvBadgeFloat 5s ease-in-out infinite}
@keyframes rvAmbientLeft{0%,100%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(20px,-10px,0) scale(1.05)}}
@keyframes rvAmbientRight{0%,100%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(-18px,14px,0) scale(1.06)}}
@keyframes rvOrbPulse{0%,100%{box-shadow:inset 0 0 72px rgba(255,255,255,.36),0 28px 70px rgba(124,75,180,.14)}50%{box-shadow:inset 0 0 86px rgba(255,255,255,.44),0 34px 84px rgba(124,75,180,.19)}}
@keyframes rvBadgeFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}

/* Mobile */
@media (max-width: 1020px){
  .topbar{padding:12px 14px}
  .topbar--scrolled{padding-top:7px}
  .nav-wrap{min-height:56px;padding-left:13px;border-radius:18px}
  .brand img{width:82px}
  .desktop-action{display:none!important}
  .mobile-action{display:flex!important;margin-left:auto}
  .mobile-start-growing{display:inline-flex!important}
}
@media (max-width: 760px){
  .topbar{padding-inline:9px}
  .topbar::before{width:calc(100% - 22px)}
  .nav-wrap{width:100%;padding-right:7px}
  .brand img{width:79px}
  .mobile-start-growing{font-size:7.5px;padding-inline:10px}
  .nav-icon-button,.nav-account-button{width:34px;height:34px}
}
@media (max-width: 500px){
  .mobile-start-growing{display:none!important}
  .mobile-action{gap:5px}
  .menu-button{width:35px}
  .mobile-nav-panel{left:8px;right:8px}
}

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
  }
  .rv-motion-enter{opacity:1!important;transform:none!important}
}
