 :root {
   --blue-dark: #003057;
   --blue-mid: #004a87;
   --blue-v3: #002244;
   --yellow: #FFD100;
   --text-light: #e8f0f8;
   --text-muted: #a8c0d6;
 }
 

 body {
   margin: 0;
   font-family: "Proxima Nova", sans-serif;
 }

 /* ── Hero section ── */
 .bgBlueRVn {
   background: linear-gradient(180deg, #002D5D 0%, #003D6B 50%, #009CE5 100%);
 }

 .bgBlueRVn.v3 {
   border-radius: 1.5rem;
   border: 1px solid rgba(0, 156, 229, 0.20);
   background: linear-gradient(180deg, #F0F9FF 0%, #E0F2FE 100%), #FFF;
 }

 .pTitleSectionLRnu {
   color: #FFF;
   font-size: 4.375rem;
   font-weight: 700;
   line-height: 3.75rem;
   /* 85.714% */
   letter-spacing: 0.0165rem;
   text-align: center;

   @media (max-width: 991px) {
     font-size: 2.25rem;
     line-height: 2.5rem;
     /* 111.111% */
     letter-spacing: 0.02306rem;
   }
 }

 .txtSubtitleYellow {
   color: #FFD941;
   text-align: center;
   font-size: 20px;
   font-style: normal;
   font-weight: 700;
   line-height: 32px;
 }

 .pDescriptionSectionLRn {
   color: var(--text-light);
   font-size: 1.25rem;
   font-weight: 400;
   line-height: 2rem;
   /* 160% */
   letter-spacing: 0.00438rem;

   @media (max-width: 991px) {
     text-align: center;
   }
 }

 /* ── Brand cards ── */
 .containerRnuBtns {
   display: flex;
   width: 250px;
   height: 250px;
   padding: 25px;
   flex-direction: column;
   justify-content: center;
   align-items: center;
   gap: 30px;
   flex-shrink: 0;
   border-radius: 16px;
   border: 1px solid #FFF;
   background: linear-gradient(226deg, rgba(0, 45, 93, 0.20) 49.12%, rgba(255, 255, 255, 0.20) 98.14%);
   box-shadow: 4px 4px 4px 0 rgba(0, 0, 0, 0.25);

   @media (max-width: 766px) {
     width: 200px;
     height: 200px;
   }

   @media (max-width: 499px) {
     width: 175px;
     height: 175px;
   }
 }

 .brandLogo {
   width: 220px;
   height: 100px;
   aspect-ratio: 220/100;

   @media (max-width: 766px) {
     width: 190px;
     height: 70px;
     aspect-ratio: 190/70;
   }

   @media (max-width: 499px) {
     width: 170px;
     height: 50px;
     aspect-ratio: 170/50;
   }
 }

 .btnBrandRNU {
   border-radius: 10.819px;
   background: #FFD941;
   box-shadow: 0 6.762px 10.143px -2.029px rgba(0, 0, 0, 0.10), 0 2.705px 4.057px -2.705px rgba(0, 0, 0, 0.10);
   display: flex;
   height: 50px;
   justify-content: center;
   align-items: center;
   gap: 10px;
   flex-shrink: 0;
   align-self: stretch;
   color: #002D5D;
   text-align: center;
   font-size: 20px;
   font-style: normal;
   font-weight: 500;
   line-height: 28px;
   border: none;

   @media (max-width: 766px) {
     height: 33.81px;
     gap: 6.762px;
     font-size: 13.524px;
     font-style: normal;
     font-weight: 500;
     line-height: 18.933px;
   }
 }

 .btnBrandRNU:hover {
   opacity: 0.85;
 }

 /* Skeleton mientras carga */
 .brand-skeleton {
   display: flex;
   flex-direction: column;
   align-items: center;
   gap: 16px;
   background: rgba(255, 255, 255, 0.06);
   border: 1px solid rgba(255, 255, 255, 0.12);
   border-radius: 12px;
   padding: 24px 16px;
   min-width: 180px;
 }

 .skeleton-box {
   background: rgba(255, 255, 255, 0.12);
   border-radius: 6px;
   animation: pulse 1.5s infinite;
 }

 @keyframes pulse {

   0%,
   100% {
     opacity: 1;
   }

   50% {
     opacity: 0.4;
   }
 }

 /* ── Fechas límite ── */


 .containerLimitDatesLRn {
   border-radius: 1rem;
   border: 1px solid rgba(255, 255, 255, 0.20);
   background: rgba(255, 255, 255, 0.10);
 }

 .pLastDigitLRn {
   color: #FFF;
   font-size: 1.5rem;
   font-weight: 400;
   line-height: 1.75rem;
   /* 116.667% */
   letter-spacing: -0.02744rem;
 }


 .pInfoLastDigitLRn {
   color: rgba(255, 255, 255, 0.90);
   font-size: 1rem;
   font-weight: 400;
   line-height: 1.5rem;
   /* 150% */
   letter-spacing: 0.00438rem;
 }

 .containerInfoNumDateLRn {
   border-radius: 1.04575rem;
   border: 1.195px solid rgba(255, 255, 255, 0.20);
   background: rgba(255, 255, 255, 0.10);
   text-align: center;
 }

 .pNumDateLRn {
   color: #FFF;
   font-size: 1.79269rem;
   font-weight: 600;
   line-height: 1.49388rem;
   /* 83.333% */
   letter-spacing: -0.01125rem;
 }

 .pInfoNumLRn {
   color: rgba(255, 255, 255, 0.90);
   font-size: 0.75rem;
   font-weight: 400;
   line-height: 1.49388rem;
   /* 199.187% */
   letter-spacing: -0.01125rem;
 }

 .pNumDateInfoLRn {
   color: rgba(255, 255, 255, 0.90);
   font-size: 1.04575rem;
   font-weight: 400;
   line-height: 1.49388rem;
   /* 142.857% */
   letter-spacing: -0.01125rem;
 }

 .txtYellow-sub {
   color: #FFD941;
   text-align: center;
   font-size: 20px;
   font-style: normal;
   font-weight: 700;
   line-height: 32px;
 }

 /* ── Portal de consulta ── */
 .pTitleRegisterRVn {
   font-size: 2.25rem;
   font-style: normal;
   font-weight: 400;
   line-height: 2.5rem;
   /* 111.111% */
   letter-spacing: 0.02306rem;
 }

 .pDescEnableRVn {
   color: #717182;
   font-size: 1.125rem;
   font-weight: 400;
   line-height: 1.75rem;
   /* 155.556% */
   letter-spacing: -0.02744rem;
 }

 .containTitleCardRVn.v2 {
   @media (max-width: 990px) {
     flex-direction: column;
     align-items: start;
   }
 }

 .btnConsultLinesRVn {
   display: flex;
   align-items: center;
   border-radius: 0.5rem;
   border: 1px solid #009CE5;
   opacity: 0.5;
   background: #FFF;
   color: #009CE5;
   font-size: 0.875rem;
   font-weight: 500;
   line-height: 1.25rem;
   /* 142.857% */
   letter-spacing: -0.00938rem;

   @media (max-width: 990px) {
     justify-content: center;
     width: 100%;
   }
 }

 .btnConsultLinesRVn:hover {
   opacity: 0.85;
 }

 .btnConsultLinesRVn svg {
   flex-shrink: 0;
 }